Notice
Recent Posts
관리 메뉴

Hacking Arts

프로세스(Process)와 스레드(Thread) - 2 본문

Computer & ETC/OS

프로세스(Process)와 스레드(Thread) - 2

Rakehell 2014. 10. 2. 15:27

-각각의 프로세스는 프로세스 제어 블록(Process Control Block) 이하 PCB를 가진다. 아래 그림처럼 생긴게 PCB구조다.

[그림 1 PCB]


- 프로세스 상태 : 상태는 새로운(new), 준비완료(ready), 실행(running), 대기(waiting)또는 정지(halted) 상태 등이다. 아래 그림2가 상태도이다.


- 프로그램 카운터 : 프로그램 카운터는 이 프로세스가 다음에 실행할 명령어의 주소를 가리킨다.


- CPU 레지스터들 : CPU 레지스터는 컴퓨터의 구조에 따라 다양한 개수와 타입을 가진다. 레지스터로는 누산기,인덱스,스택,범용 레지스터 와 상태코드 정보가 포함된다. 이 상태 정보는 인터럽트가 발생되면 프로그램 카운터와 함께 저장되어야 한다. 인터럽트 처리 후 흐로세스가 중단된 지점으로부터 올바르게 실행할 수 있게 한다.  그림 3이 프로세스 처리하는 상태 


-cpu 스케줄링 정보 : 이 정보는 프로세스 우선 순위, 스케줄 큐에 대한 포인터와 다른 스케줄 매개변수들을 포함한다. 


-메모리 관리 정보 : OS가 지원하는 메모리 시스템에 따라 기준 레지스터와 한계 레지스터의 값 페이지 테이블 또는 세그먼트 테이블등과 같은 정보를 포함한다. 


- 회계정보 : CPU가 사용된 양과 사용된 실제 시간, 시간제한, 계정번호,잡또는 프로세스 번호등을 포함


- 입출력 상태 정보 : 이정보는 이프로세스에 할당된 입출력 장치들과 열린 파일의 목록 등을 포함한다.


즉! PCB는 프로세스별로 달라지는 모든 정보에 대한 저장소의 역할을 한다.!!!


[그림 2 프로세스 상태도]



[그림 3 CPU가 한 프로세스에서 다른 프로세스로 교환되는 것을 보임]


[그림 4 PCB 와 TCB]


-참고 자료

Operating System Concepts / 고건 외 4명 / 홍룡과학 출판사 - 공룡책!!

'Computer & ETC > OS' 카테고리의 다른 글

프로세스(Process)와 스레드(Thread)  (0) 2014.09.26