Master Piece of jun/컴퓨터개론

Context Switching VS Swapping CPU와 메모리에 있는 프로세스 관리하기

JUNFUTURE 2021. 11. 8. 15:04

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 ~ 현재상태고뭐고 다 죽임)
  • 필요한 이유
    1. 메모리 요구사항의 변화로 과도하게 할당된 메모리공간을 다른 프로세스에게 할당해 주기 위해
    2. 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