글
(1) 프로세스의 이해
: 프로세스는 시스템내의 많은 자원(CPU,메모리,파일,물리적장치 등)을 사용한다.
○ 커널은 프로세스관리자 이다.
- 프로세스 -->생성, 전이,소멸 시킨다.
- 프로세스에게 자원을 할당, 제한,회수 한다.
○ 프로세스(process) = 잡(job;배치시스템에서..) = 태스크(task;시불한 시스템에서)
○ 커널쓰레드 : 커널모드에서 실행, 다른 쓰레드들과 자원들을 공유
- 다른 프로세스와 마찬가지로 PID를 부여받고
- 스케줄링도 독립적으로 관리
- 즉, 하나의 객체이다.
○ 쓰레드 : 반드시 순차적으로 실행할 필요가 없는 기능들을 병행하여 실행함으로써 효율성을 높이기위해 생긴 개념
- 프로세스는 1개이상의 쓰레드로 구성된다.
- 1개면 단일 쓰레드 || 2개 이상이면 멀티 쓰레드
○ 멀티쓰레드 -> 여러 쓰레드가 병행하여 실행, 쓰레드간에 자원을 공유함
○ 멀티프로세스 -> 여러 프로세스가 병행하여 실행, 프로세스간에 자원 공유 안함
(2) 프로세스 디스크립터의 이해(process descriptor)
○ 커널은 프로세스를 관리하기위해 프로세스의 모든 정보를 알고 있어야 한다.
○ 프로세스 디스크립터는 프로세스의 모든 정보를 담고있는 자료구조이다.
- 일반 운영체제에서는 PCB(Process Control Block)이라 하고,
- 리눅스에서는 task_struct 라는 자료구조에 정보를 담는다 <sched.h 에 정의..>
'L inux > Kernel' 카테고리의 다른 글
프로세스 - 생성과 소멸 (0) | 2011.09.26 |
---|---|
프로세스 - Task 자료 구조체 (0) | 2011.09.26 |
모듈(Module) (0) | 2011.09.26 |
시스템 콜(System Call) - 3 (0) | 2011.09.26 |
시스템 콜(System Call) - 2 (1) | 2011.09.26 |
RECENT COMMENT