Process / Preemption, Dispatch / PSW / PCB
-
Process
- 사용자의 프로그램이 OS에 의해 메모리에 적재된 것이 Process이다.
하나의 프로그램는 여러 프로세스를 갖을 수 있고, 이렇게 여러 프로세스를 통해 여러 작업을 병행하는 것이 우리가 얘기하는 "멀티 테스킹"인 것이다.
이때, 이 여러 테스크를 우선 순위가 아닌, 시간 단위로 일정 시간 동안 나눠 여러 작업을 진행하는 것을 Time sharing system(시분할 처리 시스템)이라고 한다.
-
Dispatch / Preemption
- OS가 우선 순위에 맞춰 CPU의 권한을 할당하는 것을 Dispatch / CPU 권한을 뺐기는 것을 Preemption이라고 한다.
dispatch는 보내다, 사람을 파견하다. / preempt는 빼앗다, 선취하다. 라는 뜻이다.
멀티태스킹에서 작업이 전환되는 과정에서 OS의 역할에 따라, OS가 직접 프로세스에서 CPU 사용 권한을 박탈하여 다른 태스크 처리를 위해 넘기는 멀티태스킹을 preemptive multitasking, 진행 중인 태스크가 처리되고 더 이상 CPU의 사용이 필요없이 직접 CPU 사용 권한을 해체함으로써 넘기는 멀티태스킹을 non-preemptive multitasking 이라고 한다.
-
PSW
- Program status word의 약자로 인터럽트에 의해 중단된 프로그램의 상태나 연산 상태 등 여러 정보를 담는 레지스터이다.
프로그램 상태어 라고 불리며, word는 영어 단어를 표현할 수 있는 정도의 저장 공간을 의미한다.
-
PCB
- Process control block의 약자로 프로세스의 상태를 담아두는 고유한 메모리 영역이다.
프로세스가 생성될 때 생성되며, 프로세스의 상태, 식별자, 스케쥴링 정보 및 우선 순위, CPU 레지스터 정보 등을 저장한다.
-
reference
"Os가 보이는 그림책"과 "Operating System Concept "을 참고 하였다.