운영체제의 정의
- 컴퓨터 시스템의 자원들을 효율적으로 관리
- 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램
- 종류 : Windows, MS-DOS, UNIX, Linux 등
운영체제의 성능 평가 기준
- 처리 기능 ( Throughput )
: 일정 시간 내에 시스템이 처리하는 일의 양
- 반환 시간 ( Turn Around Time )
: 시스템에 작업을 의로한 시간부터 처리가 완료될 때까지 걸리는 시간
- 사용 가능도 ( Availability )
: 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도
- 신뢰도 ( Reliability )
: 시스템이 주어진 문제를 정확하게 해결하는 정도
운영체제의 기능
- 프로세스 관리
: 사용자 프로세스와 시스템 프로세스의 생성과 제거
: 프로세스 중지 및 재수행
: 프로세스 스케줄링
- 프로세서, 기억장치, 입.출력장치, 파일 및 정보 등의 자원관리
- 자원의 효과적인 경영 스케줄링 기능 제공
- 사용자와 시스템 간의 편리한 인터페이스 제공
- 시스템 오류 검사 및 복구, 데이터 관리, 데이터 및 자원 공유
- 자원 보호 기능 제공
시스템 소프트웨어의 구성
※제어 프로그램
- 감시 프로그램 ( Supervisor Program )
: 각종 프로그램의 실행과 시스템 전체의 작동 상태를 감시, 감독하는 프로그램
- 작업 제어 프로그램 ( Job Control Program )
: 어떤 업무를 처리하고 다른 업무로의 이행을 자동으로 수행하기 위한 준비 및 처리에 대한 완료를 담당
- 자료 관리 프로그램 ( Data Management Program )
: 주기억장치와 보조기억장치 사이의 데이터 전송과 보조기억장치의 자료 갱신 및 유지보수 기능을 수행
※처리 프로그램
- 언어 번역 프로그램 ( Language Translate Program )
: 원시 프로그램을 기계어 형태의 목적 프로그램으로 번역하는 프로그램
- 서비스 프로그램 ( Service Program )
: 컴퓨터를 효율적으로 사용할 수 있는 사용 빈도가 높은 프로그램
- 문제 프로그램 ( Problem Program )
: 특정 업무 및 해결을 위해 사용자가 작성한 프로그램
운영체제의 발달 과정
※ 일괄처리 시스템 -> 다중 처리, 시분할, 실시간 시스템 -> 다중모드 시스템 -> 분산처리 시스템
운영체제의 운용 기법
※일괄처리 시스템
- 모아서 한꺼번에 처리하는 시스템
※시분할 시스템
- 여러 명의 사용자가 사용하는 시스템에서 컴퓨터가 사용자들의 프로그램을 번갈아 가며 처리해 줌으로써,
각 사용자에게 독립된 컴퓨터를 사용하는 느낌을 주는 것, 라운드 로빈(Round Robin) 방식이라고 한다.
- 여러 사용자가 각자의 단말장치를 통하여 동시에 운영체제와 대화하면서 각자 프로그램을 실행
- 하나의 CPU는 작업 시간량을 나누어 정해진 시간 동안 번갈아가며 처리
- 다중 프로그래밍 방식과 결합하여 모든 작업이 동시에 진행되는 것처럼 대화식 처리가 가능
※실시간 처리 시스템
- 데이터 발생 즉시, 또는 데이터 처리 요구가 있는 즉시 처리하여 결과를 산출하는 방식
- 시간에 제한을 두고 수행되어야 하는 작업에 사용
※다중 처리(멀티 프로세싱) 시스템
- CPU를 여러개 두고 동시에 프로그램을 수행
※다중 프로그래밍 시스템
- 하나의 CPU와 주기억장치를 이용하여 여러 개의 프로그램을 동시에 처리하는 방식
※분산처리 시스템
- 분산된 노드들을 통신 네트워크로 연결한 것으로 시스템 전체의 정책을 결정하는 제어 기능이 필요
매크로 ( Macro )
- 반복되는 일련의 같은 연산을 효과적으로 수행
- 매크로 정의 내에 또 다른 매크로를 정의할 수 있다.
- 처리과정 : 매크로 정의 인식 -> 매크로 정의 저장 -> 매크로 호출 인식 -> 매크로 확장과 인수 치환
링커
- 목적 프로그램들과 라이브러리, 또 다른 실행프로그램 등을 결합하여 실행 가능한 로드 모듈을 만드는 시스템
로더
- 보조기억장치로부터 주기억장치에 적재하는 시스템
로더의 기능
- 할당 ( Allocation )
: 기억장치 내에 옮겨 놓은 공간을 확보, 주체는 프로그래머
- 연결 ( Linking )
: 주체는 프로그래머
- 재배치 ( Relocation )
: 주체는 언어번역 프로그램
- 적재 ( Loading )
: 주체는 로더
로더의 종류
Compile And Go 로더 | 별도의 로더 없이 언어 번역 프로그램이 로더의 기능까지 수행 |
절대 로더 ( Absolute Loader ) | 목적 프로그램을 기억 장소에 적재시키는 기능만 수행 |
동적 적재 로더 ( Dynamic Loading Loader ) | 실행 시 필요한 일부분만을 적재하는 로더로, Load-On-Call이라고 함 |
'개인 공부' 카테고리의 다른 글
운영체제 공부 ( 스레드, 스케쥴링 ) (0) | 2019.07.27 |
---|---|
운영체제 공부 ( 프로세스 ) (0) | 2019.07.27 |
데이터베이스 공부 ( 병행 제어 ) (0) | 2019.07.26 |
데이터 베이스 공부 ( 트랜잭션 ) (0) | 2019.07.26 |
데이터베이스 공부 ( 뷰, 데이터 사전 ) (0) | 2019.07.26 |