- 프로세스: 실행중인 프로그램
- 프로세스 문맥
cpu 수행 상태 나타내는 하드웨어 문맥(프로그램 카운터, 레지스터)
프로세스 주소공간(코드,데이터, 스택)
프로세스 관련 커널 자료구조(process control block,커널스택)
- 프로세스 상태
running: cpu 잡고 instruction 수행중
ready: cpu 기다리는 상태
blocked: cpu를 주어도 당장 instruction 수행불가/디스크에서 파일 읽어오는 경우
suspended: 외부적 이유로 프로세스 수행 정지, 프로세스 통째로 디스크에 swap out
- pcb: 운영체제가 각 프로세스 관리하기 위해 프로세스 당 유지하는 정보
구성요소: os가 관리상 사용하는 정보, cpu 수행 관련 하드웨어 값, 메모리관련, 파일관련
- 문맥교환: cpu 한프로세스에서 다른 프로세스로 넘겨주는 과정, 상태 pcb에 저장
- 프로세스를 스케줄링하기 위한 큐
jop큐: 현재 시스템 내 모든 프로세스 집합
ready queue: 현재 메모리 내에 있으면서 cpu를 잡아서 실행되길 기다리는 프로세스 집합
device queues: i/o device 처리 기다리는 프로세스 집합
- 스케줄러
장기스케줄러/job scheduler
- 시작프로세스중 어떤걸 ready 큐로 보낼지,
- 프로세스에 memory주는,
- 메모리에 올라가있는 프로세스 수 제어(degree of multiprogramming),
- 보통 장기 스케줄러 없음 바로ready
단기 스케줄러/cpu scheculer: 어떤프로세스 running시킬지, 프로세스에 cpu 주는
중기스케줄러/swapper:
- 여유공간 위해 프로세스를 통째로 메모리에서 디스크로 보냄
- 프로세스에게서 memory 뺏는
- 메모리에 올라가있는 프로세스 수 제어(degree of multiprogramming)
- 스레드: cpu를 수행하는 단위
구성: program counter, register set, stack space
공유하는 부분(task): code section, data section, os resources
장점(응답성,자원공유,경제성, 병렬성)
- 하나 스레드 blocked 상태일때 다른 스레드 실행되어 빠른 처리
- 동일 일 수행하는 다중스레드 협력->높은 처리율 성능 향상
- 병렬성 높임
http://www.kocw.net/home/search/kemView.do?kemId=1046323&ar=pop
'운영체제' 카테고리의 다른 글
[운영체제] Process Synchronization (0) | 2022.05.01 |
---|---|
[운영체제] CPU Scheduling (0) | 2022.04.28 |
[운영체제] Process Management (0) | 2022.04.25 |
[운영체제] System Structure & Program Execution (0) | 2022.04.19 |
[운영체제] Introduction to Operating Systems (0) | 2022.04.18 |