운영체제는 컴퓨터 사용자와 컴퓨터 하드웨어간의 중개자로서 동작하는 프로그램이다.

 

 1. 운영체제란
 - 컴퓨터 시스템은 하드웨어, 운영체제, 응용프로그램, 사용자 부분으로 나눌 수 있다.
 - 운영체제는 일종의 정부이다. 시스템을 운영하여 자원을 적절하게 사용할 수 있게 한다.
 - 운영체제의 목적은 사용자에게 편의를 제공하는 것과 시스템을 효율적으로 운영하는데에 있다.
 
 2. 초기 시스템
 - 운영체제가 만들어지기 이전에는 컴퓨터가 굉장히 느렸기때문에, 사용자는 사용할 시간을 예약해서 그 시간 동안에만 사용해야했다.
 - 프로그램은 빨리 끝날수도, 늦게 끝날 수도 있기 때문에, 이런 방법은 컴퓨터를 효율적으로 사용할 수 없다.

 3. 초기 일괄처리 시스템
- 초기 시스템이 너무나 비효율적이라 운영자를 고용하여 사용자의 작업을 대신 실행하였다. 
그러나 작업의 준비시간이 너무 길고 여러 단계가 너무 복잡하여 운영자의 기능을 프로그램으로 대치하게 되었는데 
이것이 초기의 운영체제이다.
  
 1) 배치
- 요구수준이 비슷한 작업들을 함께 묶어서 실행함으로써 준비 시간을 줄일 수 있다. 
- 입력과 결과가 별도의 오프라인 카드리더나 테이프에 기록된다.

 2) 입출력 표준화 
- 테이프에 대한 입출력이 빈번해짐에 따라서 시스템에서는 표준 프로그램을 제공하여 편의를 제공하고 오류를 방지하였다.

 4. 일괄처리 시스템
 1) 하드웨어
채널 : 제한된 기능을 가지는 컴퓨터. 입출력장치의 제어를 위해서 설계되었다.
 명령 구조, 약간의 레지스터, 입출력장치와 통신하기 위한 하드웨어를 가진다. 메모리를 CPU와 공유하여, 메모리로부터 명령을 가져오고 명령에 의해 자료를 메모리와 주변장치 사이로 이동시킨다. 
 채녈은 CPU에서 입출력 정보를 받아 명령을 실행하기 시작하면, CPU와 독립적으로 작동한다.
(단 메모리 사이클에 대한 경쟁은 제외)

- CPU와 채널 입출력을 동시에 활용하기 위해 버퍼를 둔다. 연산하는 동안 읽거나 쓸 수 있게하여 입출력 대기시간을 없앤다.
인터럽트의 등장으로 대기루프 없이 CPU연산과 입출력 버퍼링을 병렬로 수행가능하게 되었다.
- 인터럽트는 하드웨어에 의하여 자동으로 호출되며, 메모리의 특정부분에 위치한 함수를 호출하는 것이다.

 2) 상주 모니터
- 입출력 관리자 또는 인터럽트 처리기를 메모리에 영구적으로 상주시켜야 할 필요성이 생겼다.
- 작업 제어 명령어, 적재기, 작업 순서 제어기를 상주시키에 되어 이 프로그램의 집합을 상주 모니터라 부르게 되었다.
- 상주 모니터의 설치로 처리율이 급격히 증가하였으나, 사용자가 늘어남에 따라 하드웨어와 소프트웨어의 표준을 어기는 일이 빈번해졌다. 상관없는 다른 프로그램을 지워버린다거나 입출력 오류로 비정상적 신호를 보낸다거나 하는 일이다.

3) 보호
- 잘못된 사용자 프로그램에서 상주 모니터가 있는 부분에 접근하여 자료를 덮어쓰는 일이 발생하자 상주 모니터를 보호할 방안이 필요하게 되었다.
- 모든 프로그램에서 입출력을 위해 상주 모니터의 루틴을 사용하게 하고, 시스템에서 요청된 연산을 미리 작성된 허용치를 참조하여 검사하게 함으로써 위험한 동작을 미연에 방지할 수 있게되었다.
- 사용자가 출력 상한선과 상한 시간을 제시하게 함으로써 프로그램의 오동작을 막기도 하였다.

 4) 작업 제어 명령어
- 규격카드나 제어 카드를 사용하여 필요한 조작을 기술하는 방법이 등장하였다. 
- 이 기법을 위해 시스템에 제어 명령어를 추가하게되었다.
- 각각의 작업은 해당하는 제어 카드를 가지고 있어서 작업순서가 이미 정의되어 있다. 그 작업이 모두 끝난 후에야 결과를 볼 수가 있다.

5. 다중 프로그래밍

- 다중 프로그래밍의 기본적인 개념은, 운영체제가 여러 개의 작업을 메모리에 적재하고, 적재된 작업중 하나를 선택하여 CPU를 할당하고 실행시키기 시작한다. 그 작업은 키보드 입력을 기다리거나 출력을 기다리거나 하는 상태가 될 수 있다. 그 때 다른 작업에 CPU를 할당하여 실행시키는 것이다.

 1) 스풀링
- 시스템이 작업을 실행하는 동안 별도로 카드 판독기의 작업을 테이프나 디스크에 일괄 저장하고, 시스템이 다음 작업들을 테이프나 디스크에 적재하는 방식을 사용하기 시작하였는데 이를 입력 스풀링이라 한다.

 6. 시분할 시스템
- 시분할 시스템은 사용자와 시스템 간에 온라인 통신을 마련하여 사용자가 운영체제나 프로그램에 직접 명령을 주고 즉시 응답을 받을 수 있도록 한다. 
-  여러 프로그램이 동시에 메모리에 존재할 뿐만 아니라 여러 사용자에게 빠른 응답시간을 제공하기 위해 CPU시간을 나누어서 각 작업에 번갈아 가며 할당하는데, 한번에 할당되는 CPU시간을 타임 슬라이스( time slice )라 한다.

 7. 개인용 컴퓨터
 8. 병렬 시스템
 9. 분산 시스템
 10. 실시간 시스템
 11. 내장형 시스템




'학부 전공 > 운영체제' 카테고리의 다른 글

6. 병행 프로세스  (0) 2011.06.17
2. 컴퓨터 구조  (0) 2011.03.15

+ Recent posts