Process 관리 2
JeongSeulho
2023년 01월 17일
준비중...
클립보드로 복사
📌interrupt(인터럽트)
- 예상하지 못한, 외부에서 발생한 이벤트
- 인터럽트 종류
- clock
- console
- program check
- I/O 등
📌interrupt 처리 과정
- 인터럽트 발생
- 프로세스 중단(커널 개입)
- 인터럽트 처리 3-1. 인터럽트 발생 장소, 원인 파악(interrupt handling) 3-2. 인터럽트 서비스 여부 결정(interrupt handling) 3-3. 인터럽트 서비스 루틴 호출(interrupt service)
📌context에 관해
📖context
- 프로세스와 관련된 정보들의 집합
- cpu register context - cpu 내부에 위치
- code & data, stack, PCB - memory에 위치
📖context saving
- 현재 프로세스의 register context를 메모리에 저장
- 인터럽트 발생시 cpu에서 쫓겨나고 메모리에 저장해두는 것임
📖context restoring
- 메모리의 register context를 프로세스로 복구
📖context switching = process switching
- 위의 saving, restoring 과정을 합쳐서 부르는 말
- 커널의 개입으로 이루어짐
📖context switching overhead
- context switching에 소모되는 메모리와 시간을 의미(비용, 자원)
- os의 성능에 큰 영향을 준다
- 불필요한 context switching을 줄이는 것이 중요
- 해결방법 thread 사용
인터럽트 발생 플로우
📮출처 : https://www.youtube.com/watch?v=hzXVQIlSSos&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN