스케쥴링 - 배치 처리, 멀티 태스킹, 멀티프로세싱 상세

2021. 2. 19. 19:50Computer(인강)/운영체제

728x90
반응형
이 포스팅은 fastcampus의 '컴퓨터 공학 전공자 따라잡기 온라인 완주반' 강의를 참고하여 작성하였습니다.

 

안녕하세요 반나비 입니다^ㅅ^

오늘은 스케쥴링에 대해서 배워볼거에요

 

긴말 필요없이 바로 포스팅 시작해보겠습니다! ^ㅅ^

 

1. 배치 처리 시스템

자료구조의 queue방식과 맥락상 비슷합니다.

첫번째 Application1이 실행되면 사라지고 그 이후에 Application2이 실행되는 방식이기에

first in first out방식으로 동작됩니다.

프로그래밍으로 구현을 한다고 하면, application을 등록하는 자료구조는 queue를 써야되겠죠

queue는 아래와 같습니다.

 

queue안에 1234 순으로 들어갔다고 했을때, 이상태의 큐에서 데이터 하나를 추출한다고 가정해봅시다

어떤 데이터가 가장 먼저 추출이 될까요?

당연히 1이겠죠. queue는 먼저들어간 것이 먼저 나오는 선입선출 구조니까요(first in first out)

결국 1은 추출이 됨과 동시에 없어지는거죠.

 

왜 배치처리시스템이 안쓰이고 시분할 시스템/멀티 프로그래밍이 쓰일까요?라는 의문도 가질 수 있을것같아요.

그 이유는! 방금 보셨듯이

 

배치처리 시스템은 여러프로그램을 순차적으로 실행시킬 수 있도록 해주세요 !라는 물음 하에 나오게 됐죠.

근데 이 배치처리 시스템을 이용하면, 어떤 프로그램은 실행이 너무 시간이 많이 걸려서, 자기 차례까지 많은 시간을 기다려야 합니다.

 

이말이 뭐냐면, 한개의 Application이 실행되는 동안, 다른 Application은 실행이 불가해진다는 말이에요

mp3음악을 들으면서 문서작성 하기가 동시에 불가하다면

진짜. 레알. 너무 불편하겠죠?^ㅅ^;;

 

자, 그래서 이와같은 이유로 배치처리 시스템 보다는 시분할 시스템/멀티 프로그래밍이 주로 쓰이는 구나 라고 이해할 수 있겠습니다!

 

 

2) 시분할 시스템

다중 사용자 지원을 위해 컴퓨터 응답시간을 최소화하는 시스템.

 

즉, 배치시스템을 잘게잘게 쪼개서 실행하는것을 시분할 시스템이라고 할 수 있습니다.

 

 

3) 멀티태스킹

단일 CPU에서 여러 응용 프로그램이 동시에 실행되는 것처럼 보이도록 하는 시스템(~하는 것처럼이 포인트.)

ex. 나는 mp3음악을 들으면서 문서 작성을 한다.

 

해당 시스템은 시분할 시스템과 기본 기술과 동일합니다.

 

실제로 멀티태스킹은

1000밀리초가 1초라고 했을때,

10~20ms 단위로도 실행 응용 프로그램이 바뀐다고 합니다.

 

이게 뭔소리야...하실거에요

 

즉, 눈깜박할 사이에(짧은 초에) 각각의 Application이 실행되게 되면

실제로 우리눈에는 각각의 Application들이 이어서 실행되는 것처럼 보인다는거죠!

 

위의 그림에서와 같이 프로그램1과 프로그램2를 빠르게

아주 아주 그냥 ~~눈이 따라갈수도 없을만큼 빠른속도로 반복해서 실행시키면

두 프로그램이 모두 동시에 실행되는것처럼 보인다는 겁니다 ^ㅅ^//쨔쟌~

 

멀티태스킹 VS 멀티 프로세싱

 

자 오늘 배웠던 것을 한줄로 

정리해봅시다.

 

배치처리 시스템 :음악 들으면서 문서작성 안돼, 여러 사용자가 동시에 접속불가능

시분할 시스템: 다중 사용자 지원, 응답시간 최소화

멀티 태스킹 : 동시 실행하는 것처럼 보이도록

멀티프로세싱 : 여러 CPU에 하나의 프로그램을 병렬로 실행시키는 시스템

728x90
반응형