中庸
article thumbnail
[Operating System] 프로세스의 제어 : 프로세스 스위칭
운영체제 2023. 3. 20. 20:33

프로세스 스위칭 (혹은 컨텍스트 스위칭) 프로세스 스위칭이란, CPU 가 처리하는 프로세스가 바뀌는 것을 의미합니다. 단, 이것은 Mode Change 와는 다릅니다. "프로세스가 스위칭되었다" 라고 이야기하기 위해서는 프로세스의 컨텍스트가 완전히 바뀌어야합니다. 아래 그림을 살펴봅시다. 언뜻 보면 위 그림에서 "task A 를 처리하다가 Kernel Execution 을 하고 있으니 커널 프로세스로 간 것이 아닌가?" 라고 착각할 수 있습니다. 하지만 커널 내부의 인스트럭션을 수행하는 것은 "모드 체인지"이지 "컨텍스트 스위칭 (혹은 프로세스 스위칭)" 이 아닙니다. 커널은 각 프로세스마다 마치 라이브러리처럼 있는 것입니다. 이전 포스팅에서 살펴봤던 Virtual Address Space 를 떠올려보면..

article thumbnail
[Operating System] 프로세스의 제어 기본 개념
운영체제 2023. 3. 20. 17:05

Process Control 프로세스의 제어는 두가지 Mode 에서 일어납니다. 하나는 User Mode 이고 다른 하나는 System Mode 입니다. 유저 모드는 유저 컨텍스트에서 동작하는 시간을 이야기하고 System Mode 는 시스템 컨텍스트에서 동작하는 시간을 이야기합니다. 그리고 이 User Mode 에서 System Mode 로 혹은 그 반대방향으로 이동하는 것을 Mode Change 라고 부릅니다. Virtual Address Space 관점에서 프로세스 제어의 이해 다음과 같이 동작하는 프로세스들이 있다고 생각해봅시다. 프로세스 A는 5000~ 번지부터 인스트럭션이 담겨있습니다. 프로세스 B는 8000~ 번지부터 인스트럭션이 담겨있습니다. 프로세스C는 12000~ 번지부터 인스트럭션이 ..