복습
일괄처리 : 공정성 ↑, 효율성 ↓
대화식: 요구, 응답의 형태
다중 프로그램 : 하나의 CPU로여러 프로그램이 동시에 수행되는것처럼 처리된다.
(★동시성은 맞지만 동시처리하는 것은 아니다.)
다중 처리: CPU가 여러개임
1. 내부 기술
1. 시분할 시스템(Time Slicing System)
여러 사용자가 한 컴퓨터를 동시에 이용가능하도록 CPU의 일정시간을 제공하여
주어진 시간동안 프로그램 수행할 수 있도록 개발된 방식
이러한 방식을 Round Robin 방식이라고 한다.
(공정성 O, 효율성 O)
2. 다중처리 방식
병렬처리와 분산처리와 비슷한 의미를 뜻한다.
2개이상의 CPU를 가지고 처리, 신뢰성, 속도를 목적으로 한 시스템이다.
병렬 - 1개의 시스템에 여러개의 CPU를 사용하는 것
분산 - 여러개의 시스템을 연결시켜 사용하는 것
3. 실시간 시스템
즉각처리가 목적이다.
주식처리, 기차표 등등 즉각적으로 바뀌거나 처리되지 않으면 안되는 것들에 사용한다.
입출력의 직접성을 제외하면 실시간 시스템과 유사하다.
2. 프로세스
CPU가 일을 할 때 최소단위를 프로세스라고 한다.
* ) 프로그램과 프로세스의 차이
- 프로그램 : 정적, 수동적
- 프로세스 : 동적, 능동적
2.1 프로세스의 정의
- CPU에 의해 실행되는 프로그램
- 비동기적 행위(규칙, 순서적이지 않다.)
- 프로시저가 활동죽인 것 (프로시져 = 함수)
- 지정된 결과를 얻기위한 일련의 동작
- 실행중이거나 실행가능한 PCB(Process Control Block)을 가진 프로그램
(PCB는 프로세스화할때 생기고, 프로세스 종료시 사라진다.)
- 프로세스가 할당하는 개체로 디스패치가 가능한 단위
(Dispatch : 메모리에서 프로세스가 선택되는 것)
2.2 프로세스 상태변환 ( = 문맥교환, 상태전이, Life Cycle)
- Dispatch : 준비완료 > 실행상태
- Timer Runout : 실행상태 > 준비완료
- Block : 실행상태 > 대기
- Wake Up : 대기 > 준비완료
* ) Block - CPU관할 밖의 실행상태, 즉 입출력같은 것을 기다려야한다면 대기 QUEUE로 들어가고 완료되면 실행 Queue로 들어가게 된다. (Queue란? 메모리 공간의 일정 구간을 Queue라고 한다.)
Block 상태가 발생하면 현재 작업상태를 저장하고 현재 수행중인 명령어를 PC 레지스터에 저장한다.
- IR : 현재 수행중인 명령어 위치
- PC : 다음 수행할 명령어의 위치