본문 바로가기

Operating System/OS Basic

시스템의 발전

시스템의 발전에서 주요히 뽑히는 부분은 일괄처리 시스템에서 다중 프로그램 & 시분할 시스템으로의 발전


일괄처리 시스템 ( Batch System ) : 초기 컴퓨터 동작 방식으로써 물리적으로 콘솔에서 수행을 하던 방식에 사용하던 시스템.

초기 운영체제는 즉시적으로 데이터를 처리 할 수 있는 여건 또한 갖추지 못했다.
일정 시간 동안 수집된 변동 자료를 컴퓨터의 입력 자료로 만들었다가 필요한 시점에 이 자료들을
일괄 입력하여 실행한 후 그 결과를 일괄 출력시켜 주는 방식

다만 , 기계적인 입출력 장치의 속도가 CPU 같은 전자적인 장치의 속도보다 느리기 때문에
CPU가 Idle 상태인 경우가 많음 -> CPU 활용면에서 비효율적



다중프로그래밍 시스템 ( Multi-Programming System )

CPU가 수행할 작업을 항상 가지도록 하는 방식 , 먼저 HDD나 SSD에서 여러개의 프로그램을 서택해서
메인 메모리 (RAM)에 적재한다. 그 이후에 메모리 내에 있는 작업중에서 하나를 선택해 차례대로 실행한다.
이때 수행중인 작업이 입/출력 등 때문에 기다리는 상태 (Idle)에 도달하면 CPU는 다른 작업으로 넘어가서 수행을 계속한다.

       이 후 첫번째 작업이 끝나면 작업을 중단 후 다시 첫번째 작업이 CPU를 차지하게 되는 방식.



시분할 시스템 ( Time-Sharing System ) : 다중 프로그래밍 시스템의 장점을 채택하여 확장한 시스템으로써

각각의 작업들에게 일정한 CPU 시간만큼을 차례로 할당하는 라운드 로빈 스케줄링을 사용하는 방식.

프로그램이 수행이 되고 있을 때 아주 짧은 주기로 CPU를 각각의 프로그램에 할당해 주는 방법.

시분할 시스템으로 사용자는 프로그램이 수행이 되고 있는 동안에도 상호작용

(Interact)을 할 수 있게 된다.    아주 짧은 주기로 전환이 이뤄지기 때문에 각 사용자는

모든 프로그램이 동시에 작동을 하고 있다고 느낀다.


예를 들면 리눅스 같은 OS는 여러명의 사용자가 동시에 한 대의 컴퓨터에 접속해서 서로 다른 처리를 할 수 있도록 해주는데

이는 시분할 시스템을 적절히 반영한 사례다.



작업 스케줄링 : 보조기억장치 ( HDD , SSD ) 프로그램이 저장되어 있고 , 그 중 일부를 선택해서 메모리에 적재하는 전략

CPU 스케줄링 : 메모리에 올라온 작업들 중 무엇부터 실행할지 고르는 전략

일괄처리 시스템은 상호작용이 필요없는 큰 단위의 작업들을 수행할 때 사용

'Operating System > OS Basic' 카테고리의 다른 글

컴퓨터의 작동 과정  (0) 2017.11.16
다양한 시스템  (0) 2017.11.16
운영체제 개요 보충  (0) 2017.11.16
시분할 처리 시스템 , 분산 처리 시스템  (0) 2017.10.31
다중 처리 시스템  (0) 2017.10.31