목차
1. 운영체제(Operating System: OS)의 목적
2. 운영체제의 관리 대상
3. 운영체제의 구성 및 기능
4. 운영체제의 발전 과정
2. 운영체제의 관리 대상
3. 운영체제의 구성 및 기능
4. 운영체제의 발전 과정
본문내용
. 컴파일러 개발
예) 포트란, 코볼
위의 기능들이 개발된 상태에서 수행 방법
① 포트란 프로그램을 작성하여 기억장치에 적재
② 테이프 상에 있는 포트란 컴파일러를 기억장치에 적재 및 실행
③ 중간 단계의 유사 어셈블리 언어 생성
④ 테이프 상에 있는 어셈블러 적재, 그리고 목적 프로그램 생성
⑤ 목적 프로그램 실행
※ 문제점
: 오류가 발생하면 전문 프로그래머는 위의 단계를 처음부처 재 수행
상주 모니터(단순 모니터)
초기컴퓨터의 문제점
. 프로그램 및 라이브러리의 적재와 제거를 위해 중앙처리장치의 유휴 시간 발생
. 고가의 컴퓨터 가격
⇒개선방안 : 중앙처리장치의 유휴시간 최소화로 컴퓨터 이용률의 최대화
상주 모니터의 기능 및 특성
상주 모니터의 기능
: 처리기의 유휴 시간을 줄이기 위해 자동 작업순서 처리를 위한 프로그램 개발
: 초기의 운영체제 즉, 상주 모니터(resident monitor) 개발
상주 모니터의 특성
① 항상 주기억장치에 상주(그림 1.2 참조)
그림 1.2 상주 모니터를 위한 기억장치 구성도
② 하나의 프로그램 수행에서 다음 프로그램의 수행이 자동으로 전환
③ 작성된 프로그램의 종류 및 실행 방법을 알리기 위해 제어카드 활용 기법 사용
(그림 1.3참조)
예) $FTN : 포트란 컴파일러 실행
$ASM : 어셈블러 실행
$JOB : 작업의 첫 번째 카드
$END : 작업의 마지막 카드
그림 1.3 단순한 일괄처리 시스템을 위한 카드 덱
일괄처리 시스템(batch processing system)
수행방법
: 자료가 입력될 때마다 즉각적으로 처리하는 것이 아니라, 입력되는 자료를 일정기간 또는 일정량 모아 두었다가 한꺼번에 처리하는 방식
일괄처리 시스템의 장·단점
. 초기시스템 보다 컴퓨터 시스템을 보다 효율적으로 사용.
. 작업 시간이 길어 반환 시간(turn around time)이 늦음.
. 적절한 제어카드를 제공해야 함.
. 프로그램의 오류수정 작업이 어려움.
. CPU가 유휴 상태(idle state)가 되기 쉬움
온라인(Online) 혹은 대화식 시스템
수행방법
: CPU와 주변 장치가 온라인으로 연결되어 작동하고, 사용자와 컴퓨터 시스템간에 온라인 통신을 제공하여 사용자가 운영 체제나 프로그램에 직접 명령을 주고 즉시 응답을 받을 수 있는 시스템(그림 1.4 참조).
그림 1.4 온라인 혹은 대화식 시스템
온라인 시스템의 장·단점
. 결과를 바로 받아 볼 수 있어 응답 시간이 짧음
. 결과가 즉시 출력되기 때문에 프로그램 검사와 개발에 상당한 유용성을 제공
. CPU는 프로그래머나 조작원에 의한 동작을 기다리는데 상당한 유휴 시간이 생김
다중 프로그래밍 시스템(multiprogramming system)
: 기억장치에 다수의 프로그램을 적재하여 운영하는 기법
즉, 기억장치에 다수의 수행할 프로그램을 적재하여 현재 수행중인 작업이
입출력을 수행할 경우 다른 프로그램으로 전환하여 CPU 이용률을 높임
다중 프로그래밍 기법의 개발 동기
: 버퍼링과 스풀링 기능을 제공하더라도 CPU의 유휴(idle) 시간이 발생
다중 프로그래밍 특징
: 단일 프로그램의 입출력으로 인한 CPU의 유휴 시간을 줄일 수 있음
: 다중 프로그래밍 운영 기법을 OS가 제공하기 위해서는 복잡한 기능 추가
즉, 여러개의 프로그램을 관리하기 위해 기억장치 관리기법이나 CPU 스케줄링 기법 필요
: 다중 프로그래밍의 기억장치 구성도(그림 1.7참조)
: 다중 프로그래밍에서의 실행 방법(그림 1.8참조)
그림 1.7 다중 프로그래밍 시스템을 위한 기억 장치 구성도
그림 1.8 다중 프로그래밍에서의 실행 과정
시분할 시스템(TSS: time sharing system)
: 다중프로그래밍 기능의 확장된 개념으로 공정한 시스템 관리 운영을 위해 개발
-. 수행 방법
: 다중프로그래밍 환경에서 제출된 프로그램들에 대해 일정한 시간의 CPU 사용권을 부여하는 기법, 즉 현재 수행을 기다리고 있는 작업에 대해 일정한 시간(time slice)을 분할하여 CPU 사용권을 부여
-. 현재 많은 OS가 이 기법을 적용(그림 1.9참조)
그림 1.9 시분할 시스템
실시간 시스템(real time system)
: 단말기나 센서로부터 처리를 요구하는 자료가 발생할 때마다 우선적으로 응답하거나 출력하는 방식
: 특정 목적의 프로그램은 정해진 시간 내에 반드시 수행할 수 있도록 스케줄링 요구
: 특수 목적(은행, 항공, 산업, 의학, 제어, 국방 등)을 위한 응용 시스템에 주로 사용
: 실시간 시스템의 구성 예(그림 1.10참조)
그림 1.10 실시간 시스템
분산처리 시스템(distributed processing system)
: 하나의 대형 컴퓨터에서 수행하던 기능을 지역적으로 분산된 여러 개의 미니 컴퓨터에 분담시킨 후, 통신망을 통하여 처리하는 방식
즉, 지역적으로 떨어진 시스템에서 수행되는 프로세스간의 정보 교환을 제공하기 위한 방법(그림 1.11참조)
예) IPC(inter process communication), RPC(remote procedure call) 기능 등
: 분산처리의 목적 - 자원공유, 계산속도 증가, 신뢰성 향상, 통신기능
그림 1.11 분산처리 시스템
다중처리 시스템(multiprocessing system)
: 다수의 처리기로 구성된 시스템에서 어떤 작업을 빠른 시간 내에 수행하기 위해 다수의 처리기를 효율적으로 운영할 수 있는 관리 기법 (그림 1.12참조)
다중처리 시스템의 장·단점
. 신뢰성 향상과 컴퓨터의 처리율 증대
. 운영 체제는 여러 처리기간의 기억장치 공유와 스케줄링 방법을 결정
. 신뢰성과 병행계산, 최적의 연결기법, 같은 자원을 요구하는 처리기들간의 경쟁을 제어하는 문제들을 고려.
다중처리 시스템의 구성
① 강결합(tightly coupled) 시스템 : 처리기들이 해당 작업을 처리할 때 밀접하게 동기화 되어 수행하는 시스템
② 약결합(loosely coupled)시스템 : 처리기간의 동기화 문제는 그다지 엄격하지 않고, 다만 처리기들이 높은 작업의 처리량을 제공하는데 목적을 두는 시스템
그림 1.12 다중처리 시스템
예) 포트란, 코볼
위의 기능들이 개발된 상태에서 수행 방법
① 포트란 프로그램을 작성하여 기억장치에 적재
② 테이프 상에 있는 포트란 컴파일러를 기억장치에 적재 및 실행
③ 중간 단계의 유사 어셈블리 언어 생성
④ 테이프 상에 있는 어셈블러 적재, 그리고 목적 프로그램 생성
⑤ 목적 프로그램 실행
※ 문제점
: 오류가 발생하면 전문 프로그래머는 위의 단계를 처음부처 재 수행
상주 모니터(단순 모니터)
초기컴퓨터의 문제점
. 프로그램 및 라이브러리의 적재와 제거를 위해 중앙처리장치의 유휴 시간 발생
. 고가의 컴퓨터 가격
⇒개선방안 : 중앙처리장치의 유휴시간 최소화로 컴퓨터 이용률의 최대화
상주 모니터의 기능 및 특성
상주 모니터의 기능
: 처리기의 유휴 시간을 줄이기 위해 자동 작업순서 처리를 위한 프로그램 개발
: 초기의 운영체제 즉, 상주 모니터(resident monitor) 개발
상주 모니터의 특성
① 항상 주기억장치에 상주(그림 1.2 참조)
그림 1.2 상주 모니터를 위한 기억장치 구성도
② 하나의 프로그램 수행에서 다음 프로그램의 수행이 자동으로 전환
③ 작성된 프로그램의 종류 및 실행 방법을 알리기 위해 제어카드 활용 기법 사용
(그림 1.3참조)
예) $FTN : 포트란 컴파일러 실행
$ASM : 어셈블러 실행
$JOB : 작업의 첫 번째 카드
$END : 작업의 마지막 카드
그림 1.3 단순한 일괄처리 시스템을 위한 카드 덱
일괄처리 시스템(batch processing system)
수행방법
: 자료가 입력될 때마다 즉각적으로 처리하는 것이 아니라, 입력되는 자료를 일정기간 또는 일정량 모아 두었다가 한꺼번에 처리하는 방식
일괄처리 시스템의 장·단점
. 초기시스템 보다 컴퓨터 시스템을 보다 효율적으로 사용.
. 작업 시간이 길어 반환 시간(turn around time)이 늦음.
. 적절한 제어카드를 제공해야 함.
. 프로그램의 오류수정 작업이 어려움.
. CPU가 유휴 상태(idle state)가 되기 쉬움
온라인(Online) 혹은 대화식 시스템
수행방법
: CPU와 주변 장치가 온라인으로 연결되어 작동하고, 사용자와 컴퓨터 시스템간에 온라인 통신을 제공하여 사용자가 운영 체제나 프로그램에 직접 명령을 주고 즉시 응답을 받을 수 있는 시스템(그림 1.4 참조).
그림 1.4 온라인 혹은 대화식 시스템
온라인 시스템의 장·단점
. 결과를 바로 받아 볼 수 있어 응답 시간이 짧음
. 결과가 즉시 출력되기 때문에 프로그램 검사와 개발에 상당한 유용성을 제공
. CPU는 프로그래머나 조작원에 의한 동작을 기다리는데 상당한 유휴 시간이 생김
다중 프로그래밍 시스템(multiprogramming system)
: 기억장치에 다수의 프로그램을 적재하여 운영하는 기법
즉, 기억장치에 다수의 수행할 프로그램을 적재하여 현재 수행중인 작업이
입출력을 수행할 경우 다른 프로그램으로 전환하여 CPU 이용률을 높임
다중 프로그래밍 기법의 개발 동기
: 버퍼링과 스풀링 기능을 제공하더라도 CPU의 유휴(idle) 시간이 발생
다중 프로그래밍 특징
: 단일 프로그램의 입출력으로 인한 CPU의 유휴 시간을 줄일 수 있음
: 다중 프로그래밍 운영 기법을 OS가 제공하기 위해서는 복잡한 기능 추가
즉, 여러개의 프로그램을 관리하기 위해 기억장치 관리기법이나 CPU 스케줄링 기법 필요
: 다중 프로그래밍의 기억장치 구성도(그림 1.7참조)
: 다중 프로그래밍에서의 실행 방법(그림 1.8참조)
그림 1.7 다중 프로그래밍 시스템을 위한 기억 장치 구성도
그림 1.8 다중 프로그래밍에서의 실행 과정
시분할 시스템(TSS: time sharing system)
: 다중프로그래밍 기능의 확장된 개념으로 공정한 시스템 관리 운영을 위해 개발
-. 수행 방법
: 다중프로그래밍 환경에서 제출된 프로그램들에 대해 일정한 시간의 CPU 사용권을 부여하는 기법, 즉 현재 수행을 기다리고 있는 작업에 대해 일정한 시간(time slice)을 분할하여 CPU 사용권을 부여
-. 현재 많은 OS가 이 기법을 적용(그림 1.9참조)
그림 1.9 시분할 시스템
실시간 시스템(real time system)
: 단말기나 센서로부터 처리를 요구하는 자료가 발생할 때마다 우선적으로 응답하거나 출력하는 방식
: 특정 목적의 프로그램은 정해진 시간 내에 반드시 수행할 수 있도록 스케줄링 요구
: 특수 목적(은행, 항공, 산업, 의학, 제어, 국방 등)을 위한 응용 시스템에 주로 사용
: 실시간 시스템의 구성 예(그림 1.10참조)
그림 1.10 실시간 시스템
분산처리 시스템(distributed processing system)
: 하나의 대형 컴퓨터에서 수행하던 기능을 지역적으로 분산된 여러 개의 미니 컴퓨터에 분담시킨 후, 통신망을 통하여 처리하는 방식
즉, 지역적으로 떨어진 시스템에서 수행되는 프로세스간의 정보 교환을 제공하기 위한 방법(그림 1.11참조)
예) IPC(inter process communication), RPC(remote procedure call) 기능 등
: 분산처리의 목적 - 자원공유, 계산속도 증가, 신뢰성 향상, 통신기능
그림 1.11 분산처리 시스템
다중처리 시스템(multiprocessing system)
: 다수의 처리기로 구성된 시스템에서 어떤 작업을 빠른 시간 내에 수행하기 위해 다수의 처리기를 효율적으로 운영할 수 있는 관리 기법 (그림 1.12참조)
다중처리 시스템의 장·단점
. 신뢰성 향상과 컴퓨터의 처리율 증대
. 운영 체제는 여러 처리기간의 기억장치 공유와 스케줄링 방법을 결정
. 신뢰성과 병행계산, 최적의 연결기법, 같은 자원을 요구하는 처리기들간의 경쟁을 제어하는 문제들을 고려.
다중처리 시스템의 구성
① 강결합(tightly coupled) 시스템 : 처리기들이 해당 작업을 처리할 때 밀접하게 동기화 되어 수행하는 시스템
② 약결합(loosely coupled)시스템 : 처리기간의 동기화 문제는 그다지 엄격하지 않고, 다만 처리기들이 높은 작업의 처리량을 제공하는데 목적을 두는 시스템
그림 1.12 다중처리 시스템