운영체제 개요

2015. 8. 15. 11:31프로그래밍/지식창고

728x90
728x90

시스템 소프트웨어의 개념과 구성

개념

시스템 전체를 작동시키는 프로그램.

프로그램을 주기억 장치에 적재시키거나 인터럽트 관리, 장치 관리, 언어 번역 등의 기능을 담당.

대표적인 프로그램이 운영체제. 그 외에는 언어 번역 프로그램, 매크로 프로세서, 링커, 라이브러리, 로더 등이 있다.


구성

제어 프로그램 - 감시 프로그램, 작업 제어 프로그램, 자료 관리 프로그램

처리 프로그램 - 언어 번역기(어셈블러 등), 서비스 프로그램(연결 편집기 등), 문제 프로그램


제어 프로그램

감시 프로그램(Supervisor Program)

제어 프로그램 중 가장 중요한 역할을 담당. 각종 프로그램의 실행과 시스템 전체의 작동 상태를 감시 감독.


작업 제어 프로그램(Job Control Program)

어떤 업무를 처리하고 다른 업무로의 이행을 자동으로 수행하기 위한 준비와 그 처리에 대한 완료를 담당.

작업의 연속 처리를 위한 스케줄 및 시스템 자원 할당 등을 담당한다.

Job Scheduler - 여러 개의 작업을 연속적으로 처리하기 위하여 특정 작업이 끝났을 때 다음 작업을 준비시키는 프로그램.

Master Scheduler - 컴퓨터 시스템과 운영자(Operator) 사이에서 정보를 주고받을 수 있도록 중개자 역할을 하는 프로그램.


자료 관리 프로그램(Data Management Program)

주기억장치와 보조기억장치 사이의 데이터 전송과 보조기억장치의 자료 갱신 및 유지보수 기능을 수행하는 프로그램.


처리 프로그램

언어 번역 프로그램(Language Translate Program)

원시 프로그램을 기계어 형태의 목적 프로그램으로 번역한다. 어셈블러, 컴파일러, 인터프리터가 있다.


서비스 프로그램(Service Program)

컴퓨터를 효율적으로 사용할 수 있는 사용 빈도가 높은 프로그램.

- 연결 편집기, 링커, 정렬/합병 프로그램, 라이브러리안, 유틸리티 프로그램


문제 프로그램 : 특정 업무 및 문제 해결을 위해 사용자가 작성한 프로그램.


운영체제의 개념

정의

운영체제(OS, Operatoing System)는 컴퓨터 시스템의 자원들을 효율적으로 관리하며,

사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 집합.


목적

처리 능력(Throughput) - 일정 시간 내에 시스템이 처리하는 일의 양

반환 시간(Trun Around Time) - 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간

사용 가능도(Availability) - 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도

신뢰도(Reliability) - 시스템이 주어진 문제를 정확하게 해결하는 정도


기능

프로세서(처리기, Processor), 기억장치(주기억장치, 보조기억장치), 입-출력 장치, 파일 및 정보 등의 자원을 관리.

자원의 스케줄링 기능 제공.

사용자와 시스템 가느이 편리한 인터페이스 제공.

각종 하드웨어와 네트워크를 관리,제어한다.

데이터를 관리, 데이터 및 자원의 공유 기능 제공.

시스템의 오류를 검사하고 복구한다.

자원 보호 기능을 제공.

입출력에 대한 보조 기능을 제공.

가상 계산기 기능을 제공.


주요 자원 관리

프로세스 관리 - 프로세스 스케줄링과 동기화 관리, 생성과 제거, 시작과 정지, 메시지 전달 기능 담당.

기억장치 관리 - 프로세스에게 메모리 할당 및 회수 관리 담당.

주변 장치 관리 - 입출력 장치 스케줄링과 전반적인 관리 담당.

파일 관리 - 파일 생성과 삭제, 변경, 유지 등의 관리 담당.


운영체제의 운용 기법

일괄 처리 시스템

초기의 컴퓨터 시스템에서 사용된 형태. 일정량 또는 일정 기간 동안 데이터를 모아 한꺼번에 처리하는 방식.


다중 프로그래밍 시스템

하나의 CPU가 주기억장치를 이용하여 여러 개의 프로그램을 동시에 처리하는 방식.

CPU의 사용률과 처리량이 증가한다.


시분할 시스템

여러 명의 사용자가 사용하는 시스템에서 컴퓨터가 사용자들의 프로그램을 번갈아 처리해준다.

각 사용자에게 독립된 컴퓨터를 사용하는 느낌을 주는 것으로, 라운드 로빈(Round Robin)방식이라고도 한다.

- 하나의 CPU는 같은 시점에서 여러 개의 작업을 동시에 할 수 없다. 그래서 CPU의 전체 사용 시간을

작은 작업 시간량(Time Slice)으로 나누어 그 시간량 동안만 번갈아가며 각 작업을 처리한다.


다중 처리 시스템

여러 개의 CPU와 하나의 주기억장치를 이용하여 여러 개의 프로그램을 동시에 처리하는 방식.


실시간 처리 시스템

데이터 발생 즉시, 또는 데이터 처리 요구가 있는 즉시 처리하여 결과를 산출하는 방식.


다중 모드 처리

일괄 처리 시스템, 시분할 시스템, 다중 처리 시스템, 실시간 처리 시스템을 모두 제공하는 방식.


분산 처리 시스템

여러 개의 컴퓨터를 통신 회선으로 연결하여 하나의 작업을 처리하는 방식.


*세대별 변천 과정

1세대(일괄처리) - 2세대(다중 프로그래밍, 다중 처리, 시분할, 실시간) - 3세대(다중 모드) - 4세대(분산 처리 시스템)


매크로와 매크로 프로세서

개념과 특징

한 프로그램 내에서 동일한 코드가 반복될 경우 특정 이름으로 정의한 후 필요할때마다 호출하여 사용하는 것.


매크로 프로세서

원시 프로그램에서 존재하는 매크로 호출 부분에 매크로(Macro) 프로그램을 삽입하면

원시 프로그램에 존재하는 매크로 호출 부분에 매크로 프로그램을 삽입하여 확장된 원시 프로그램을 생성하는 시스템 소프트웨어


처리 과정

매크로 정의 인식 - 매크로 정의 저장 - 매크로 호출 인식 - 매크로 확장과 인수 치환


링커와 로더

링커(Linker), 연결 편집기(Linkage Editor)

언어 번역 프로그램이 생성한 목적 프로그램들과 라이브러리, 실행 프로그램 등을 연결하여 

실행 가능한 로드 모듈을 만드는 시스템 소프트웨어이다.


로더(Loader, Module Loader)

컴퓨터 내부로 정보를 들여오거나 로드 모듈을 디스크 등의 보조기억장치로부터 주기억장치에 적재하는 시스템 소프트웨어.


기능

할당(Allocation) - 실행 프로그램을 실행시키기 위해 기억장치 내에 옮겨놓을 공간 확보

연결(Linking) - 부 프로그램 호출 시 그 부 프로그램이 할당된 기억장소의 시작주소를 호출한 부분에 등록하여 연결하는 기능

재배치(Relocation) - 디스크 등의 보조기억장치에 저장된 프로그램이 사용하는 각 주소들을 할당된 기억장소의 실제 주소로 배치하는 기능.

적재(Loading) : 실행 프로그램을 할당된 기억공간에 실제로 옮기는 기능


로더의 종류

Comple And Go 로더

별도의 로더 없이 번역 프로그램이 로더의 기능까지 수행하는 방식

절대 로더(Absolute Loader)

목적 프로그램을 기억장소에 적재시키는 기능만 수행하는 로더.

직접 연결 로더(Direct Linking Loader)

일반적인 기능의 로더. 기본 기능 네 가지를 모두 수행하는 로더이다.

재배치 로더(Relocation Loader), 상대(Relative Loader)라고도 한다.

동적 적재 로더

프로그램을 한꺼번에 적재하는 것이 아니라 실행 실행시 필요한 부분을 적재한다.

나머지 부분은 보조기억장치에 저장해 두는 것으로, 호출 시 적재(Load-On-Call)이라고도 한다.


728x90
반응형

'프로그래밍 > 지식창고' 카테고리의 다른 글

[면접 질문] 신입 기술 면접 문제  (1) 2015.08.18
기억장치 관리  (0) 2015.08.15
프로세스 관리  (0) 2015.08.15
[크롬] 마우스 우클릭 해제  (2) 2015.07.28
[크롬] 트레이 없애기(for mac)  (0) 2015.07.28
BST  (0) 2015.06.18
FSM  (0) 2015.05.28