(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
by 민트앤라떼 2011. 9. 26. 15:52