프로세스
일반적으로 프로세서(처리기, CPU)에 의해 처리되는 사용자 프로그램이나, 시스템 프로그램을 의미하며 프로세스는 필요한 각종 자원을 요구한다.
=> PCB를 가진 프로그램, 실행중인 프로그렘
PCB(Process Control Block)
PCB : 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓는 곳으로 각 프로세스가 생성될 때마다 고유의 PCB가 생성되고, 프로세스가 완료되면 PCB가 제거됨
PCB에 저장되어 있는 정보 : 프로세스의 현재 상태, 포인터, 프로세스 고유 식별자, 스케줄링 및 프로세스의 우선순위, CPU 레지스터 정보 등등
스레드(Thread)
하나의 프로세스 내에서 병행성을 증대시키기 위한 메커니즘으로 시스템의 여러 자원을 할당받아 실행하는 프로그램 단위(경량 프로세스라고도함)
스레드 사용의 장점
- 하나의 프로세스를 여러개의 스레드로 병행성을 증진시킬 수 있음
- 하드웨어, 운영체제의 성능과 응용 프로그램의 처리율을 향상시킬 수 있음
- 응용 프로그램의 응답 시간(Response TIme)을 단축시킬 수 있음
- 실행 환경을 공유시켜 기억장소 및 자원의 낭비가 줄어듬
- 공통적으로 접근 가능한 기억장치를 통해 효율적으로 통신
프로세스/스레드의 주요 상태
준비(Ready) |
프로세스가 프로세서를 할당받기 위해 기다리고 있는 상태 |
실행(Run) |
준비상태 큐에 있는 프로세스가 프로세서를 할당받아 실행되는 상태 프로세스 수행이 완료되기 전에 프로세스에게 주어진 프로세서 할당 시간이 종료(Time Run Out)되면 프로세스는 준비 상태로 전이됨 실행중인 프로세스에 입출력(I/O) 처리가 필요하면 실행중인 프로세스는 대기 상태로 전이됨 |
대기(Wait), 보류, 블록(Block) |
입출력 요구가 발생되어 현재 실행중인 프로세스가 중단되고, 입출력 처리가 완료될 때까지 대기하고 있는 상태 |
프로세스 상태 전이 관련 용어
Dispatch (Ready -> Run) |
준비 상태에 있는 여러 프로세스 중 프로레스를 선정하여 CPU를 할당하는 시점 |
Time Run Out (Run -> Ready) | 할당된 시간이 지나면 time out interrupt |
Event wait (Run -> Block) | I./O 입출력 발생(프로세스가 CPU를 사용 중에 I/O 행위가 필요하여 대기 상태로 이동하는 시점) |
Wake-Up (Block -> Ready) |
I/O 요청이 완료되면 다시 ready 상태로 전이 |
'자격증 노트 > 정보처리기사' 카테고리의 다른 글
[운영체제] 페이지교체 알고리즘 (0) | 2018.10.18 |
---|---|
[운영체제] 기억장치관련 (0) | 2018.10.18 |
[운영체제] 프로세스 동기화(임계구역/상호배제/세마포어) (0) | 2018.10.18 |
[운영체제] CPU(프로세서) 스케줄링 (0) | 2018.10.18 |
[운영체제] 운영체제 발달 과정 (0) | 2018.10.18 |