- 프로세스 제어 블록(PCB, Process Control Block)
+ PCB 특정 프로세스에 대한 정보를 가진 데이터 블록/레코드
+ 프로세스의 변화하는 모든 정보에 대한 기억 장소 역할
+ 구성
> 프로세스 상태(state)
> CPU 레지스터들, CPU 스케줄링(scheduling) 정보
> 프로그램 카운터(program counter)
> 메모리 관리 정보
> 계정(accounting) 정보
> 입출력 상태 정보
- 프로세스 간 CPU Switching
B. 프로세스 스케줄링
- 스케줄링 큐란?
+ 스케줄링을 위해 PCB들이 연결되는 큐가 필요해짐
+ 큐의 연결 상태 : 활동체인(active chain)과 정적 체인(static chain)
+ 종류
* 작업 큐 : 프로세스가 시스템에 들어가면 작업 큐에 입력
* 장치 큐 : 특정 입출력 장치를 대기하는 프로세스 리스트
* 준비완료 큐 : 주 기억 장치에 상주하면서 준비 상태에서 실행을 기다리는 프로세스들로 구성
+ 프로세스 스케줄링의 표현
- 스케줄러
+ 단기(CPU) 스케줄러
* 개념
> 실행 준비가 되어 있는 프로세스들 중 한 프로세스를 선택하여 CPU 할당
> 스케줄링은 프로세스간 문맥교환(Context Switching)이 일어나는 것
* 종류
> 스케줄링 알고리즘(miliseconds)
+ 장기(작업) 스케줄러
* 개념
> 디스크 공간에 제출된 프로세스들을 선택하여 주기억장치로 적재
> 최상 성능의 시스템은 I/O bound의 CPU bound의 적절한 혼합이 필요
> 다중 프로그래밍 제어
* 종류
> 프로세스 준비상태(seconds, minutes)
> 다중 프로그래밍의 정도
> 입출력과 계산 작업 혼합
+ 중기 스케줄러
* 개념
> 메모리 공간 확보 또는 프로세스 혼합을 개선하기 위한 디스크 교체
> 교체된 프로세스를 다시 메모리로 적재
- 문맥교환(Context switch)
+ 정의
* CPU를 다른 프로세스로 전환하기 위해 이전의 프로세스 상태를 보관하고 새 프로세스를 보관된 상태로 적재하는 작업
* 전환하는 동안 어떠한 유용한 작업도 불가능
+ 문맥교환 시간
* 하드웨어 지원에 의해 결정
> 기억장치 속도, 레지스터 수, 특권명령 등
* 운영체제가 복잡할수록 문맥교환에 더 많은 작업 요구
'2015-2학기 > 운영체제' 카테고리의 다른 글
제 1장 운영체제와 컴퓨터 시스템 구조 (0) | 2015.10.29 |
---|