티스토리 뷰

운영체제/이론

(10) MultiProgramming & MultiTasking

geonwoopaeng@gmail.com 2020. 9. 16. 00:33

### 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
공지사항
최근에 올라온 글