Download presentation
Presentation is loading. Please wait.
Published byJulia Sevilla Modified 5년 전
1
23. Unix 시스템 커널. 개요 커널의 기본 서비스 커널의 특징 참고서적 프로세스 관리 장치 관리 파일 관리 가상 메모리
네트워킹 네트워크 파일 시스템 커널의 특징 멀티 프로세서 지원 경량 프로세스(스레드) 지원 참고서적 Unix의 내부구조, 조유근 편저, 홍릉과학출판사, 1991 <일찍 일어나는 새> ... 쉘 실버스타인 당신이 새라면 아침에 일찍 일어나야 한다. 그래야 벌레를 잡아먹을 수 있을 테니까. 만일 당신이 새라면 아침에 일찍 일어나라. 하지만 만일 당신이 벌레라면 아주 늦게 일어나야 하겠지. Unix
2
23. Unix 시스템 커널.. 프로세스 (생명이 있는) 실행중인 프로그램
프로세스 테이블(process table)과 사용자 테이블(user table) 시스템 전체에 하나의 프로세스 테이블 하나의 프로세스 당 하나의 프로세스 테이블 엔트리 : 항상 메모리에 프로세스 위치 프로세스 크기 프로세스 ID(PID) 사용자 ID 하나의 사용자 테이블 : 프로세스 스왑될 때 함께 스왑됨 = 프로세스 당 데이터 세그먼트(per process data segment) : 프로세스 자체의 데이터 영역 사용자와 그룹 ID 시스템 파일 테이블(모든 오픈 파일 정보)로의 포인터 현재 디렉토리 I-node에 대한 포인터 해당 signal오면 실행되어야 할 루틴에 대한 포인터 p520 그림 23.1a 참조 Unix
3
23. Unix 시스템 커널... 프로그램 텍스트와 소프트웨어 라이브러리 공유 시스템 호출(system call)
텍스트 테이블(text table) re-entrant 텍스트 부분 구별 프로그램 텍스트 세그먼트 공유 프로세스 테이블 엔트리 -> 텍스트 테이블 엔트리 -> 텍스트 위치 p521 그림 23.1b 참조 공유 라이브러리(shared library) 메모리 사용이 효율적 라이브러리 수정시 일관성 유지 시스템 호출(system call) 사용자 모드와 커널 모드 사용자 모드 : 사용자 프로세스의 명령 실행 중 커널 모드 : 커널 프로세스의 명령 실행 중 인터럽트 시 : 시분할 위한 시스템 클럭 인터럽트, 입출력 인터럽트 시스템 호출 시 Unix
4
23. Unix 시스템 커널…. fork, exec, wait 프로세스 생성 시스템 호출 : fork, exec..
부모 프로세스 자신 프로세스 : 사용 자원을 부모 프로세스의 자원(memory, files) 공유 새 프로세스 생성 후 부모는 계속 실행 모든 자식이 끝날 때 까지 기다림 : wait system call로 새 프로세스의 2모델 (예제 참조) 1) fork : 자식 process 생성, 모든 process는 PID(Process identifier)를 가짐, 자식은 부모의 것을 복제 2) fork + exec : 호출하는 프로세스의 기억장소에 새 프로그램 load, 자식은 자신의 새 프로그램을 가짐 execl : 문자형 인수 포인터들 execv : 인수배열의 포인터 char *av[3]; av[0] = “ls”; av[1] = “-l”; av[2] = (char *)0; execv(“/bin/ls”, av); Unix
5
23. Unix 시스템 커널….. 시그널 다루기(signal handling)
내용 없고(content-free) 신호 도착/도착되지 않음만 알 수 있음 (예) sighup (hangup) sigint sigkill 사용자 테이블에 신호당 하나의 엔트리 0 : 디폴트 동작 1 : 신호 무시 프로세스 스케줄링(scheduling processes) : 그림 참조 시분할 : 매 time-slice 마다 우선순위 스케줄링 CPU = decay(CPU) = CPU/2 우선순위 = (CPU/2) + 기본 수준 사용자 우선순위(user-level priority : 60) 스와핑(swapping)과 페이징(paging) 스와핑 : 프로그램 전체를 swap 공간에 저장 페이징 : 가상 메모리 시스템에서 페이지를 swap 공간에 저장 Zombie 프로세스 발생하지 않을 wait()를 기다리는 프로세스 프로세스 테이블의 항목 차지 Unix
6
23. Unix 시스템 커널:. 네트워킹 부팅: 20장 참조 파일 시스템 장치 드라이버
Berkeley 소켓 : SOCKET.ppt 참조 AT&T Streams 부팅: 20장 참조 파일 시스템 디렉토리: p541 그림 23.8 참조 I-node 파일 타입 바이트 단위의 파일 크기 파일에서 사용하는 블록들의 리스트 파일의 액세스 모드(소유자, 그룹, 다른 사람에 대한 읽기, 쓰기, 실행) 시간에 관련된 정보(생성 시간, 변경 시간, 액세스 시간) 파일 소유자와 그룹 장치 드라이버 블록 입출력 시스템 : bdevsw 테이블이 입출력 장치와 드라이버 사이 연결 문자 입출력 시스템 : cdevsw 테이블이 입출력 장치와 드라이버 사이 연결 Unix
7
끝으로 시험범위 : 14, 15, 16, 17, 18, 20, 23장 Unix 관련 참고 자료 : 의 메뉴 Information에 수고 많이 하셨고 행운을 빕니다. <그런 길은 없다>…베드로시안 아무리 어둔 길이라도 나 이전에 누군가는 이 길을 지나갔을 것이고, 아무리 가파른 길이라도 누군가는 이 길을 통과했을 것이다. 아무도 걸어가 본 적이 없는 그런 길은 없다. 나의 어두운 시기가 비슷한 여행을 하는 모든 사랑하는 사람들에게 도움을 줄 수 있기를. Unix
Similar presentations