3. 프로세스 관리 (2)

728x90
반응형

출처 : https://www.youtube.com/watch?v=MJTr37lgaMA&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN&index=6

 

 

인터럽트(Interrupt)

 

  • 예상치 못한, 외부에서 발생한 이벤트
    • Unexpected, external events
  • 인터럽트의 종류
    • I/O interrupt
    • Clock interrupt
    • Console interrupt
    • Program check interrupt
    • Machine check interrupt
    • Inter-process interrupt
    • System call interrupt

 

인터럽트 처리 과정

 

  1. 인터럽트가 발생하면 커널이 개입해서 내가 작업중이던 프로세스를 중단시킨다.
  2. 발생한 인터럽트를 처리한다(Interrupt handling).
    1. 인터럽트 발생 장소(인터럽트가 어디서 발생했는지), 원인 파악
    2. 인터럽트 서비스 할 것인지 결정(인터럽트를 처리할 것인지 무시할 것인지 결정)
    3. 인터럽트 서비스 루틴(Interrupt service routine) 호출 (처리하기로 결정했으면 처리)

 

 

 

  1. 처음에 프로세서에 Pi 라는 프로세스가 동작하고 있다.
  2. Interrupt가 발생한다.
  3. Pi를 중단시키고 현재까지 진행한 상태를 PCBi 에 저장한다.(Context Saving)
  4. 커널이 개입해서 Interrupt가 어디서 발생했고, 왜 발생했는지 원인을 파악한다.(Interrupt handling)
  5. 원인을 파악한 뒤, 어떤 ISR(Interrupt Service Routine)을 호출해야 되는지 결정한다.(Interrupt service)
  6. 프로세스 Pi가 중단되어서 비어있는 프로세서에 ISR을 넣어서 동작시킨다.
  7. 프로세스 Pis가 처리되고 비어있는 프로세서에 스케줄에 따라 레디 상태에 있던 프로세스(Pj) 중 하나를 집어넣는다. 즉, PCBj에 있던 프로세스 Pj를 복구해서 프로세서에 집어넣는다.(Context restoring)
  8. 프로세스 Pj가 수행된다.

 

 

문맥 교환 (Context Switching)

 

  • Context
    • 프로세스와 관련된 정보들의 집합, 이 정보 집합은 2 곳에 저장된다.
      • CPU register context -> in CPU
      • Code & data, stack, PCB -> in memory (주 기억장치 DRAM)
  • Context saving
    • 현재 프로세스의 Register context를 메모리 안의 PCB에 저장하는 작업
  • Context restoring
    • 메모리 안의 PCB에 저장되어있던 Register context를 프로세스로 복구하는 작업
  • Context switching (context saving과 context restoring을 묶음) = Process switching
    • 실행 중인 프로세스의 context를 저장하고, 앞으로 실행 할 프로세스의 context를 복구하는 일 (Pi를 PCBi에 저장하고 PCBj에 있던 프로세스 Pj를 프로세서에 집어넣음 = 프로세스를 교환)
      • 커널의 개입으로 이루어짐

 

Context Switch Overhead

 

  • Context switching에 소요되는 비용
    • OS마다 다름
    • OS의 성능에 큰 영향을 줌 (프로세스가 굉장히 많기 때문에 context switching이 자주 일어나게되기 때문)
  • 불필요한 Context switching을 줄이는 것이 중요
    • ex) 스레드(Thread) 사용 등
728x90
반응형

'Study > 운영체제' 카테고리의 다른 글

5. 프로세스 스케줄링 (1)  (0) 2023.11.06
4. 스레드 관리  (0) 2023.11.03
운영체제 3. 프로세스 관리 (1)  (0) 2023.11.02
2. 운영체제 개요 (3)  (0) 2023.11.02
2. 운영체제 개요 (2)  (1) 2023.11.01