티스토리 뷰
### Process ###
: storage에 저장이 되어 있는 프로그램의 명령어와 정적데이터를
실행될수 있는형태 (cpu 자원을 할당 받을 수 있는 형태)로 memory에 적재된 data 집합
=> 실행 중인 프로그램
### MultiProgramming ###
: 단일 Process에서 여러 프로그램을 동시에 실행 하는 것(병렬 처리)
=> CPU or Resource 사용률을 최대화
=> 낭비되는 자원을 최소하기 위해 교대로 실행
=> Process 1개 + 프로그램 여러개
But!!
프로세서는 하나의 일만 할 수 있으므로 다른 프로그램을 실제로 동시에 실행할 수 없다.
대신 운영 체제는 한 프로그램의 일부와 다른 프로그램의 일부 등을 실행합니다.
=> 사용자에게는 모든 프로그램이 동시에 실행되고 있는 것으로 보입니다.
+
: CPU는 항상 하나의 작업(코드및 데이터)을 한다.
: 작업이 I/O 처리를 기다려야 할 경우 OS는 CPU를 다른 작업에 할당한다.
### MultiTasking ###
: 한 번에 여러 작업 (예 : 프로세스, 프로그램 등)을 실행하는 것
ex) 노래듣기, word작업, 강의듣기 한번에 하기
: Multiprogramming(컨텍스트 전환) + 시간 공유
=> 정해진 시간동안 교대로 task 한다.
=> CPU 1개 + 다른 프로그램
+
*Timesharing
(시간 공유 기반 CPU, 동시에 작업하는 것들이 시간을 공유한다.)
<참고자료>
https://www.geeksforgeeks.org/difference-between-multitasking-multithreading-and-multiprocessing/
'운영체제 > 이론' 카테고리의 다른 글
(12) System Call & Trap & Timer (0) | 2020.09.16 |
---|---|
(11) Dual-mode (0) | 2020.09.16 |
(9) O/S 구조 - Booting procedures (0) | 2020.09.16 |
(8) I/O Structure - DMA(Direct Memory Access) (0) | 2020.09.16 |
(7) Storage Structure (0) | 2020.09.16 |