中庸
article thumbnail

Process Control

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 의 인스트럭션들을 수행합니다.

profile

中庸

@짱일모

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!