제 블로그의 모든 글은 IMHO로 쓴 것입니다. 잘못된 부분이 있으면 덧글을 통해서 소통을 하면 더 좋은 글로 발전이 될 수 있을 것 같습니다. 그렇지만 소통을 할 때 서로의 감정을 존중하는 선에서 해주셨으면 좋겠습니다. 감사합니다:)
Context Switching
kernel
OS code를 관리하는 프로세스들
- kernel은 따로 분리된 process가 아니다.
- kernel은 대개 별도의 프로세스가 아니라 사용자 프로세스의 일부로 실행됩니다.
user mode and kernel mode
kernel mode (supervisor mode)
- mode bit 이 set이라면, process는 여기에서 실행된다.
- 어떤 memory던 접근이 가능하고 instruction도 모두 실행 가능하다.
user mode
- mode bit가 set이 아니면, process는 여기에서 실행된다.
- privileged instruction은 실행이 가능하지 않다.
-
application code를 실행하는 process가 user mode에서 제일 처음 실행된다.
- user mode에서 kernel mode로 바꾸는 유일한 방법은 kernel mode에서 exception이 일어나거나 exception handler가 실행됬을 때 일어난다.
참고자료: 전체적인 글은 [KUOCW]최린_운영체제(160919) 강의를 들었습니다.
(url)https://www.youtube.com/watch?v=9bkuN7Fj-8o
(강의 slide)https://slideplayer.com/slide/14698319/