<aside> 💡 “운영체제 : 아주 쉬운 세가지 이야기”를 읽으면서 핵심 내용을 정리하였습니다. 이화여대 반효경 교수님의 운영체제 강의를 듣고 복습 차원에서 책 한권을 완독해보고자 합니다.
</aside>
직접 실행 시 운영체제가 하는 일
직접 실행이란 프로그램을 CPU 상에서 바로 실행시키는 것을 말하는데 여기에는 크게 2가지 문제점이 있다.
문제점 1 : 제어권
문제점 2 : 프로세스간 전환
→위의 2가지 중요 문제 점을 해결하기 위해서 “제한적” 이라는 키워드가 등장 하였다.
CPU는 2가지 실행 모드를 제공하여 제어권 문제를 해결하였다. → CPU 설계에 따라 다르지만 보통 mode bit라는 것을 활용해 2가지 모드를 구분 할 수 있다. → ex ) mode bit = 0 이면 커널 모드 , mode bit = 1이면 사용자 모드
→즉, Kernel Mode 로 전환이 되었을 때 시스템을 제어 할 수 있게 됨 (운영체제 만이 하드웨어에를 컨트롤할 권리를 가짐)
실행 중인 프로세스를 Timer Interrupt를 통해 다른 프로세스로 전환 시킬 수 있게 되었다.
→ 타이머 인터럽트 덕분에 프로세스간 전환이 가능하게 되었고 프로세스들은 자신만의 CPU를 가지고 있는 것 처럼 느낄 수 있게 되었다. (CPU가상화)
A 프로세스에서 B 프로세스로 전환되는 것을 **문맥교환(context switch)**이라고 한다.
프로세스를 전환 시킬지 말지 결정하는 정책을 스케쥴링이라고 한다.
실행 프로토콜
<aside> 💡 문맥교환에 걸리는 시간??
</aside>
참고 자료