Context Switching
- CPU에서 처리할 process를 변경하는 행위
- save the state of the current process
- load the saved state for the new process
- switching(할일 바꾸기)는 딱히 유용한 일이 아님. overhead
- 메모리 save과정.. load과정중 메모리 엑세스 시간..
CPU scheduler
- 다음에 실행될 프로세스를 결정해주는 프로그램
Swapping
- 할당된 메인메모리 공간에서 프로세스를 빼내어 하드 Disk나 SSD등 back store에 현재 상태를 저장한 뒤, 다른 프로세스에게 할당하는것 (≠kill ~ 현재상태고뭐고 다 죽임)
- 필요한 이유
- 메모리 요구사항의 변화로 과도하게 할당된 메모리공간을 다른 프로세스에게 할당해 주기 위해
- I/O bound job과 CPU bound job의 적절한 mix를 위해 ⇒ 적절히 섞이지 않으면 switching이 자주발생함
Switching VS Swapping
- Switching : CPU에서 처리할 process를 변경하는 행위. CPU scheduler에 의해 결정됨
- Swapping : 할당된 메인메모리에서 프로세스를 잠깐 빼내어 현재 상태를 HDD나 SSD등에 저장(Swap out)해둔 뒤 다른 프로세스에게 할당하고 필요할때 꺼내어 다시 메모리에 할당하는 행위(Swap in)
'Master Piece of jun > 컴퓨터개론' 카테고리의 다른 글
memory management (0) | 2021.11.08 |
---|---|
multi-processing VS multi-thread (0) | 2021.11.08 |
Process와 thread (0) | 2021.11.08 |
System Call / API(Application Programming Interface) (0) | 2021.11.08 |
I/O sub system (memory management of I/O) (0) | 2021.11.08 |