본문 바로가기
운영체제

[OS] 운영체제 - 운영제체의 발전 과정과 유형

by Seong-Jun 2021. 12. 29.
728x90
반응형
SMALL

일괄 처리 시스템

직렬 처리 기술과 동일합니다. 작업 준비 시간을 줄이려고 데이터가 발생할 때마다 즉시 처리하지 않고 데이터를 일정 기간 또는 일정량이 될 때까지 모아두었다가 한꺼번에 처리하는 것입니다.

일괄 처리의 장점

  • 많은 사용자와 프로그램이 컴퓨터 자원을 공유할 수 있습니다.
  • 컴퓨터 자원을 덜 사용 중일 때는 작업 처리 시간을 교대할 수 있습니다.
  • 시시각각 수동으로 개입하고 감독하여 컴퓨터 자원의 유휴를 피할 수 있습니다.

일괄 처리의 단점

  • 준비 작업들의 유형이 동일해야합니다.
  • 작업에 모든 유형의 입력을 할 수 없습니다.
  • 입출력 장치가 프로세서보다 속도가 느려 프로세서가 종종 유휴 상태가 됩니다.
  • 작업에 우선순위를 주기도 어렵습니다.

이 문제점을 보완하려고 모니터링, 버퍼링, 스풀링 등 여러 방법이 등장했습니다.

버퍼링

프로세서와 입출력 장치의 속도 차이로 생긴 유휴시간이 없도록 입출력 장치별로 입출력 버퍼를 두어, 프로세서에서 연산을 할 때 동시에 다른 작업을 입출력하는 방법입니다.

버퍼는 프로세서가 어떤 작업을 처리하는 동안 버퍼에 다음으로 처리할(또는 출력할) 작업을 미리 읽어 저장해 두는 메모리

스풀링

속도가 빠른 디스크를 버퍼처럼 사용하여 입출력 장치에서 미리 읽는 것입니다. 버퍼링이 컴퓨터 하드웨어의 일부인 버퍼를 사용한다면, 스풀링은 별개의 오프라인 장치를 사용한다는 점이 다릅니다. 버퍼링이 하나의 입출력 작업과 그 작업의 계산만 함께 할 수 있는 반면에, 스풀링은 여러 작업의 입출력과 계산을 할 수 있습니다.

 

다중 프로그래밍 시스템

프로세서가 유휴 상태일 때 실행 중인 둘 이상의 작업이 프로세서를 전환(인터리빙)하여 사용할 수 있도록 동작합니다. 즉, 여러 프로그램을 메모리에 적재한 후 하나의 프로그램이 프로세서를 사용하다가 입출력 동작 등을 하여 프로세서를 사용 하지 않는 유휴시간(idle time) 동안 다른 프로그램이 프로세서를 사용하도록 하는 시스템입니다.

다중 프로그래밍 시스템의 장단점

  • 높고 효율적인 프로세서 사용률이 증가하여 마치 많은 사용자의 프로그램이 거의 동시에 프로세서를 할당받는 듯한 느낌을 줍니다.
  • 다중 프로그래밍 운영체제는 아주 복잡합니다.
  • 여러 작업을 준비 상태로 두려면 이를 메모리에 보관해야 하고, 일정 형태의 메모리를 관리해야 합니다.
  • 더욱이 여러 작업이 수행할 준비를 갖추고 있으면, 이 중 하나를 선택하는 결정 방법이 필요합니다.
  • 이것이 바로 인터럽트를 이용하여 수행하는 프로세서 스케줄링의 다중 프로그래밍으로, 현재 운영체제의 중심 주제입니다.

 

시분할 시스템

프로세서가 다중 작업을 교대로 수행합니다. 다양한 터미널에 위치한 많은 사용자가 특정 컴퓨터 시스템을 동시에 사용할 수 있게 합니다. 프로세서에 적재된 여러 프로그램을 교대로 실행하지만, 각 프로그램에 일정한 프로세서 사용 시간(time slice) 또는 규정 시간량(quantum)을 할당하여 사용자가 주어진 시간 동안 컴퓨터와 대화하는 형식으로 실행합니다. 여러 사용자에게 짧은 간격으로 프로세서를 번갈아 가며 할당해서 마치 자기 혼자 프로세서를 독점하고 있는 양 착각하게 하여 여러 사용자가 단일 컴퓨터 시스템을 동시에 사용할 수 있게 합니다.

다중 프로그래밍 시스템과 시분할 시스템의 차이점

둘 다 메모리에 여러 프로그램을 적재하므로 메모리를 관리해야 하고, 어떤 프로그램을 먼저 실행할지 결정하는 스케줄링이라는 개념이 필요합니다. 하지만 다중 프로그래밍 시스템이 프로세서 사용을 최대화하는 것이 목표라면, 시분할 시스템은 응답 시간을 최소화하는 것이 목표라는 큰 차이가 있습니다.

시분할 시스템의 장단점

장점 빠른응답 제공
SW의 중복 회피 가능
프로세서 유휴시간 감소
단점 신뢰성 문제
보안 의문 및 사용자 프로그램과 데이터의 무결성
데이터 통신의 문제

 

다중 처리 시스템

단일 컴퓨터 시스템 내에서 둘 이상의 프로세서를 사용하여 동시에 둘 이상의 프로세스(프로그램)를 지원합니다. 여러 프로세서와 시스템 버스, 클록, 메모리와 주변장치 등을 공유합니다. 일단 프로세서가 둘 이상이므로 빠르고, 프로세서 하나가 고장이 나도 다른 프로세서를 사용하여 작업을 계속할 수 있어 신뢰성이 높습니다.

 다중 처리 시스템은 프로세서가 여러 개이므로 프로세서 간의 연결, 상호작용, 역할 분담 등을 고려해야 합니다. 다중 처리 시스템을 구성하는 방법에는 비대칭(주종)적 구성과 대칭적 구성이 있습니다.

 

실시간 처리 시스템 (제한시간을 갖는 시스템)

데이터 처리 시스템으로 정의합니다. 실시간 처리 시스템은 항상 온라인 상태이어야 합니다. 반응시간은 프로세서에 이미 고정되어 있습니다. 따라서 반응시간은 온라인 처리에 비해 매우 짧습니다.

 더 높은 적시 응답을 요구하는 장소에서 사용하거나 데이터 흐름 또는 프로세서 연산에 엄격한 시간 요구가 있을 때 사용할 수 있습니다.전용 응용 프로그램의 제어 장치로도 사용합니다. 실시간 처리 시스템은 고정 시간 제약을 잘 정의하지 않으면 시스템이 실패합니다.

 

분산 처리 시스템

시스템마다 독립적인 운영체제와 메모리로 운영하며, 필요할 때 통신하는 시스템입니다. 다수의 독립된 프로세서에서 실행합니다. 그리고 데이터를 여러 위치에서 처리/저장하며, 여러 사용자가 공유할 수 있습니다. 하나의 프로그램을 여러 프로세서에서 동시에 실행할 수도 있습니다.

 

운영체제의 발달 과정

일괄 처리 -> 다중 프로그래밍, 다중 처리, 시분할, 실시간 처리-> 다중 모드-> 분산 처리

728x90
반응형
LIST

댓글