일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 코딩
- PYTHON
- 파이썬
- AI
- 딥러닝
- 리눅스
- 동적 프로그래밍
- 킥스타트
- nlp
- OS
- 동적프로그래밍
- 네트워크
- 백준
- 코딩테스트
- 그래프
- 프로그래밍
- 운영체제
- dp
- linux
- 알고리즘
- CSS
- 코딩 테스트
- 구글 킥스타트
- 순열
- 프로그래머스
- BFS
- google coding competition
- DFS
- kick start
- 브루트포스
- Today
- Total
오뚝이개발자
[OS]CH3. 프로세스 관리 본문
-
프로세스
-
"실행 중인 프로그램"
-
커널에 등록되고 커널의 관리 하에 있는 작업
-
-
PCB(Process Control Block)
-
Def) OS가 프로세스 관리에 필요한 정보 저장하는 블록
-
프로세스 생성 시, 생성됨
-
kernel space에 저장
-
-
프로세스의 상태(Process state)
-
프로세스-자원 간의 상호작용에 의해 결정
-
-
Created state
-
작업(Job)을 커널에 등록
-
PCB 할당 및 프로세스 생성
-
가용 메모리 공간 체크(있으면->ready, 없으면->suspended ready)
-
-
Ready state
-
프로세서 할당 대기 상태(프로세서 이외의 모든 자원 할당 O)
-
-
Running state
-
프로세서와 필요한 자원 모두 할당받은 상태
-
Preemption
-
running->ready
-
프로세서 스케줄링(e.g, time-out, priority changes)
-
-
Block/sleep
-
running->asleep
-
I/O 등 자원 할당 요청
-
-
-
Blocked/Asleep state
-
프로세서 외의 자원 할당 대기 상태
-
Wake-up
-
asleep->ready
-
예를 들어, I/O가 끝나거나 하면 transition
-
-
-
Suspended state
-
메모리를 할당 받지 못한(빼앗긴) 상태
-
memory image를 swap device에 저장
-
-
Terminated state
-
프로세스 수행 끝난 상태
-
모든 자원 반납, 커널 내에 일부 PCB정보만 남아 있는 상태
-
이후 프로세스 관리를 위해 정보 수집
-
-
-
인터럽트(Interrupt)
-
예상치 못한, 외부에서 발생한 이벤트(unexpected, external events)
-
-
Context switching
-
Context
-
프로세스와 관련된 정보들의 집합
-
CPU register=>in CPU
-
Code, data, stack, PCB=>in memory
-
-
-
Context saving
-
현재 프로세스의 register context를 memory에 저장하는 작업
-
-
Context restoring
-
register context를 프로세스로 복구하는 작업
-
-
Context switching(saving+restoring)
-
실행 중인 프로세스의 context 저장하고, 실행할 프로세스 context 복구하는 일
-
-
-
Context switch overhead
-
context switching에 소요되는 비용(OS의 성능에 큰 영향 미침)
-
불필요한 context switch 줄이는 것이 중요(e.g, 쓰레드 사용 등)
-
'CS 기초 > OS' 카테고리의 다른 글
[OS]CH6. 프로세스 동기화(Synchronization) & 상호배제(Mutual Exclusion) (0) | 2020.10.16 |
---|---|
[OS]CH5. 프로세스 스케쥴링 (0) | 2020.10.12 |
[OS]CH4. 스레드(Thread) 관리 (0) | 2020.05.27 |
[OS]CH2. 운영체제 개요 (0) | 2020.05.26 |
[OS]CH1. 컴퓨터 시스템 개요 (0) | 2020.04.27 |