Process Control
프로세스의 제어는 두가지 Mode 에서 일어납니다. 하나는 User Mode 이고 다른 하나는 System Mode 입니다. 유저 모드는 유저 컨텍스트에서 동작하는 시간을 이야기하고 System Mode 는 시스템 컨텍스트에서 동작하는 시간을 이야기합니다.
그리고 이 User Mode 에서 System Mode 로 혹은 그 반대방향으로 이동하는 것을 Mode Change 라고 부릅니다.
Virtual Address Space 관점에서 프로세스 제어의 이해
다음과 같이 동작하는 프로세스들이 있다고 생각해봅시다.
프로세스 A는 5000~ 번지부터 인스트럭션이 담겨있습니다.
프로세스 B는 8000~ 번지부터 인스트럭션이 담겨있습니다.
프로세스C는 12000~ 번지부터 인스트럭션이 담겨있습니다.
100~ 번지에는 프로세스를 바꾸어주는 Kernel 내부의 인스트럭션이 담겨있습니다.
Process A 가 실행되다가 Time Quantum 이 끝나 Timeout Interrupt 에 의해 다른 프로세스를 처리해야 하는 상황을 가정해봅시다.
VAS 관점에서 CPU 가 code1 에 있는 Instruction 을 수행하다가 Interrupt 에 의해 'VAS of Process 1 의 Kernel' 에 있는 System Call 을 호출합니다. 그리고 Context Switching 작업을 거치며 'VAS of Process 2의 커널'이 Process2 의 PCB 로부터 Context 를 가져오고 code2 의 인스트럭션들을 수행합니다.
'운영체제' 카테고리의 다른 글
[Operating System] 프로세스의 제어 : 프로세스 스위칭 (0) | 2023.03.20 |
---|---|
[Operating System] 프로세스의 제어 : 프로세스의 생성 (0) | 2023.03.20 |
[Operating System] Process Context (0) | 2023.03.20 |
[Operating System] 프로세스 (Process) (0) | 2023.03.18 |
[Operating System] 운영체제의 구조 MonolithicKernel, MicroKernel (0) | 2023.03.15 |