Operating System Concepts
1. Program vs Process, States of a process
실행중인 프로그램을 프로세스라고 한다.
A program in execution is called as process
Program vs Process
프로그램을 설치하면 Disk에 Compile이 된 상태로 저장된다. 그리고 이 프로그램을 실행하면 RAM에 프로그램을 복사한다.
이 과정을 자세히 보면 다음과 같다.
1. Disk에 인스턴스를 생성한다. (이것을 Process라고 한다.)
2. 생성한 인스턴스를 RAM으로 옮긴다.
States of a process
- New State
Disk에 인스턴스가 생성된 상태 - Ready State
인스턴스가 RAM으로 이동되어 CPU가 처리할 수 있는 상태 - Running State
CPU에 의해 처리(실행)되는 상태 - I/O State (Blocked State)
I/O device에 의해 Read, Write되는 상태 - Terminated State
RAM에서 제거(종료)될 상태 - Suspend Ready State & Suspend Wait State
나중에 다룰 예정입니다.
2. Degree of multiprogramming
RAM에 저장될 수 있는 프로세스의 최댓값
(ex)
- size of RAM : 1 GB
- size of single Process : 1 KB
- Degree = 2^30 / 2^10 = 2^20
3. Types of Operating Systems
Types of OS
- Batch OS
동시에 실행할 수 있는(RAM에 올릴 수 있는) 프로그램이 하나인 옛날에 쓰이던 OS타입이다.
하나의 프로세스가 종료되면 다음 프로그램을 실행한다. - Multiprogramming OS
동시에 실행할 수 있는(RAM에 올릴 수 있는) 프로그램이 여러개인 OS타입니다. - Multiprocessing OS
CPU가 여러개인 OS타입이다.
*CPU efficiency = Useful time of CPU / Total time of CPU
Parallel processing vs Concurrent processing
Parallel processing
병렬처리. 어떤 연산을 나누어서 처리한다.
(ex)
- (11 + 12) + (13 + 14) ?
- CPU1 :: 11 + 12 = 23 / CPU2 :: 13 + 14 = 27 (Parallel processing)
- CPU1 :: 24 + 27 = 50
Concurrent processing
동시처리. 여러개의 요청을 동시에 처리한다.
(ex)
- A = 10
- CPU1 :: A-1 = 9 / CPU2 :: A+1 = 11 (Concurrent processing)
- A = ?? (Concurrency Issues)
4. Process Control Block, Attributes of a process
Program :: Passive Entity
Process :: Active Entity
PCB(Process Control Block)
A process will not only contain program but it will also have stack, heap, datapart
Stack (↓) ------------------------------------------------------------ Heap (↑) |
Function |
Dynamic memory | |
Static variables(Global variables) | (Also called as data part) |
Program | (Also called as code part) |
Process Attributes
- Process ID
- Program counter (excute line number of program)
- Process state
- General purpose Registers
- Priority
- List of open files
- List of open devices
'OS' 카테고리의 다른 글
CPU Scheduling Algorithms (3) (0) | 2021.12.05 |
---|---|
CPU Scheduling Algorithms (2) (0) | 2021.11.28 |
CPU Scheduling Algorithms (1) (0) | 2021.11.28 |
Introduction to Operating Systems (0) | 2021.11.25 |