OS 수업 정리
Program | 디스크에 저장되어있는 passive 상태의 entity. |
---|---|
Process | exectuion sequence에 올려져 있는 active 상태의 entity. 실행 중인 or 실행 가능한 entity. |
-> read(3)과 read(2)는 Stack frame이 다름(return address, 전달인자, 지역변수, 리턴값이 다름)
Process description은 process context라고도 한다.
OS가 프로세스를 관리하고 통제하기 위해 필요한 정보를 의미. PCB뿐만 아니라 process가 실행되는 위치 주소를 포함하는 개념이다.
[표] four elements of a process image
Program code (or text) | The program instructions to be executed. Note that it is not necessary for the processor to read the totality of a process into physical memory when a program is run, instead by a procedure known as ?dynamic paging? the next block of instructions is loaded as required and may be shared between processes. |
Program data | May be distinguished as initialised variables including external global and static variables, uninitialised variables (known as a bss area on Unix derivative systems). Data blocks are not shared between processes by default. |
Stack | A process will commonly have at least two last-in, first-out (LIFO) stacks, including a user stack for user mode and a kernel stack for kernel mode |
Process Control Block | Information needed by the operating system to control the process. |
Process identification
현재 process의 id, parent process의 id, User id 등
Processor state information
register의 정보
Process control information
Scheduling(우선순위 등)과 상태 정보. wait list 등
-> multiprocessing을 가능케 함
프로세스의 상태에 대한 예시
위 사진으로부터 알 수 있는 사실
1. process 전환 과정에는 항상 kernel code가 존재한다.(process swith needs mode switch)
2. interrupt와 system call, exeiption이 일어타야 process switch가 발생.
위와 같은 process 전환 과정을 나타내기 위해 여러 model들이 존재함.
process의 상태를 실행중이거나 실행되지 않고있거나 둘 중 하나로 보는 model
위 모델에서 not running 상태를 ready와 blocked(or waiting) 상태로 나눈 model.
다섯가지의 상태로 해결할 수 없는 문제(한정된 메모리)를 해결하기 위해 등장한 개념. 새 process가 load될 때 메모리에 있는 process를 일부 보조기억장치로 이동시키는데(swapping), 이때 kicked out된 process를 suspended process라 한다.
일반적으로 blocked process를 먼제 내보내기는 하나, 여러 요소들에 따라 우선순위는 달라질 수 있다.
위 개념들에서 등장한 여러 queue들을 위한 자료구조 Process List Structures가 등장함.
20.04.11 process description 전까지 완료
20.04.14 전체 다 완료