컴퓨터 시스템의 발전 양상을 살펴보자!
운영체제 강좌 2강 - 시스템의 발전
※ 시스템의 발전에서 주요하게 꼽히는 부분은 바로 일괄처리 시스템에서 다중 프로그램 & 시분할 시스템으로의 발전입니다.
※ 일괄처리 시스템 (Batch System) : 초기의 컴퓨터가 동작하는 방식으로서 물리적으로 콘솔에서 수행을 하던 방식에 사용하던 시스템입니다. 초기의 운영체제는 즉시적으로 데이터를 처리할 수 있는 여건 또한 갖추지 못했습니다. 따라서 그 대안으로 일괄처리 시스템이 운영체제에 도입이 됨으로써 비슷한 것은 주기적으로 한 번에 묶어서 처리할 수 있게 되었습니다.
일괄처리 시스템은 처리 속도를 향상시키기 위해서 유사한 요구를 가지는 작업들을 함께 모아서 이들을 하나의 그룹으로 수행합니다. 다만 기계적인 입/출력 장치의 속도가 CPU와 같은 전자적인 장치의 속도보다 느리기 때문에 CPU가 계속해서 쉬는 상태(idle)인 경우가 많습니다.
※ 다중 프로그램 시스템 (Multi-Programmed System) : CPU가 수행할 작업을 항상 가지도록 하는 방식입니다. 먼저 하드 디스크나 SSD에서 여러 개의 프로그램을 선택해서 메인 메모리(RAM)에 적재합니다. 이후에 메모리 내에 있는 작업 중에서 하나를 선택해 차례대로 실행합니다. 이 때 수행 중인 작업이 입/출력 등 때문에 기다리는 상태에 도달하면 CPU는 다른 작업으로 넘어가서 수행을 계속합니다. 이후에 첫 번째 작업이 끝나면 현재의 작업을 중단하고 다시 첫 번째 작업이 CPU를 차지하게 되는 방식입니다.
다중 프로그램 시스템 덕분에 프로그램에서 카드를 읽거나 프린터를 쓰는 등의 시간에도 CPU를 계속해서 사용할 수 있게 되었습니다.
※ 시분할 시스템 (Time-Sharing System) : 다중 프로그래밍의 장점을 채택하여 확장한 시스템으로서 프로그램이 수행이 되고 있을 때 아주 짧은 주기로 CPU를 각각의 프로그램에 할당을 해 주는 방법입니다. 시분할 시스템으로 사용자는 프로그램이 수행이 되고 있는 동안에도 상호작용(Interact)할 수 있게 됩니다. 아주 짧은 주기로 전환이 이루어지기 때문에 각 사용자는 모든 프로그램이 동시에 작동을 하고 있다고 느끼게 됩니다.
예를 들면 리눅스(Linux)와 같은 운영체제는 여러 명의 사용자가 동시에 한 대의 컴퓨터에 접속을 해서 서로 다른 처리를 할 수 있도록 해주는데 이는 시분할 시스템을 적절하게 반영한 사례라고 할 수 있습니다.
※ 작업 스케줄링 : 보조기억장치에 프로그램에 저장되어 있고 그 중 일부를 선택해서 메모리에 적재하는 전략입니다.
※ CPU 스케줄링 : 메모리에 올라온 작업들 중에서 무엇부터 실행할지 고르는 전략입니다.
※ 일괄처리 시스템은 상호작용이 필요 없는 큰 단위의 작업들을 수행할 때 사용이 됩니다.
'운영체제' 카테고리의 다른 글
운영체제 시작하기 (0) | 2019.05.01 |
---|---|
운영체제가 컴퓨터를 작동 시키는 과정을 알아보자! (0) | 2017.04.23 |
다양한 컴퓨터 시스템을 소개합니다! (0) | 2017.04.22 |
운영체제란 무엇일까? (0) | 2017.04.22 |