패스트캠퍼스

[패스트캠퍼스 수강 후기] 올인원 패키지 : 컴퓨터 공학 전공 필수👉C언어인강 100% 환급 챌린지 33회차 미션

돌맹이시터 2020. 11. 20. 23:44

 

 

환급미션 33일째..

 

 

운영체제 - 운영체제 핵심 개념잡기 - 10. 스케쥴링 - 배치 처리, 멀티 태스킹, 멀티 프로세싱 상세

운영체제 - 운영체제 핵심 개념잡기 - 11. 스케쥴링 - 멀티 프로그래밍

 

 

 

 

- 배치 처리 시스템

 

일괄 처리, 배치 처리, batch processing이라고 부름

컴퓨터 프로그램 실행 요청 순서에 따라 순차적으로 실행하는 방식

한 번에 등록된 여러 프로그램을 순차적으로 실행 가능

 

 

* Queue

 

first in first out

 

 

 

 

 

 

- 배치 처리 시스템과 시분할 시스템/멀티 프로그래밍 비교

 

 

배치 처리 시스템 : 여러 프로그램을 순차적으로 실행시키기 위해 등장

-> 어떤 프로그램은 실행 시간이 너무 오래 걸려서, 다음 프로그램이 실행되기까지 오래 걸린다.

-> 동시에 여러 프로그램을 실행하고 싶은데 배치 처리 시스템으로는 불가능

-> 여러 사용자가 동시에 하나의 컴퓨터를 사용하고 싶은데 배치 처리 시스템으로는 불가능

 

=> 시분할 시스템 / 멀티 프로그래밍이 등장

 

 

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

 

멀티 태스킹 : 단일 cpu에서, 여러 응용프로그램이 동시에 실행되는 것처럼 보이게 하는 시스템

 

 

실제 멀티 태스킹

 

1000 밀리초(ms) = 1 sec

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

-> 사용자 입장에서는 프로그램이 동시에 실행되는 것처럼 보인다.

 

 

 

- 멀티 태스킹 vs 멀티 프로세싱

 

출처: http://donghoson.tistory.com/15

 

멀티 태스킹 - 단일 cpu (특정 시점에서 실행되는 프로그램은 1개)

멀티 프로세싱 - 여러 cpu에 하나의 프로그램을 병렬로 실행해서 실행속도를 극대화

 

 

 

 

 

 

- 멀티 프로그래밍

 

최대한 cpu를 많이 활용하도록 하는 시스템

•시간 대비 cpu 활용도를 높인다. (최대한 촘촘하게 cpu 사용)

•응용 프로그램을 짧은 시간 안에 실행 완료

 

응용 프로그램은 온전히 cpu만을 사용하는 것이 아니라, 다른 작업을 중간에 필요로 하는 경우가 많다.

ex) 프로그램이 실행되다가 파일을 읽는다 - 파일을 읽기 전까지 프로그램이 실행되지 않는다.

프린팅을 한다. - 프린트가 끝나기 전까지 실행되지 않는다.

 

(fd=file descriptor)

이전 강의 중 시스템 콜에 대한 설명을 위해 사용되었던 예시 코드이다.

오른쪽의 커널모드 보다는 코드 내용을 생각해보면 된다.

 

library include 하는 부분부터 fd라는 변수에 data.txt를 읽어와서 결과값을 저장하는 시간동안

프로그램이 실행되고 있는 상태가 아니라, 멈춰있게 된다.

멀티 프로그래밍 시스템에서 이러한 자투리 시간을 활용할 수 있게 되는 것이다.

 

 

동일한 내용을 조금 더 직관적으로 확인해본 것이다.

첫 번째 시스템보다는

두 번째, 세 번째 시스템에서 cpu활용도 측면에서 훨씬 효율적이라는 것을 알 수 있다.

 

 

 

 

* 메모리 계층 - 컴퓨터 구조 복습

cycle, us 간의 차이는 어마어마하다.

flash drive 부터는 더이상 cycle로 표현하기가 어렵기 때문에 us, ms와 같은 시간 단위가 사용되었다.

 

 

 

정리

- 실제로는 시분할 시스템, 멀티 프로그래밍, 멀티 태스킹이 유사한 의미로 사용된다.

 

배치 처리 시스템의 문제점들

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

멀티 태스킹 : 단일 cpu에서 동시 실행하는 것처럼 보이게 하는 시스템

멀티 프로세싱 : 여러 cpu에 하나의 프로그램을 병렬로 실행, 실행속도 극대화

멀티 프로그래밍 : 최대한 cpu를 일정 시간동안 많이 활용하는 시스템 (cpu 활용도가 높아짐)

 

여러 응용프로그램 실행이 가능(동시에 실행되는 것처럼 보이게 됨)

cpu를 쉬지 않고 프로그램을 실행하도록 해서, 보다 짧은 시간 안에 프로그램이 실행완료

컴퓨터 응답시간이 짧아지면서, 다중 사용자 지원

 

 

 

 

올인원 패키지 : 컴퓨터 공학 전공 필수👉https://bit.ly/3i4sCVE