2019. 10. 6. 19:09ㆍ정보보안
운영체제는 시스템 자원을 효율적으로 사용하고, 컴퓨터-사용자 간에 편리한 인터페이스를 제공하며 처리능력, 신뢰도, 사용가능도의 향상과 반환시간을 단축하여 주는 역할을 한다. 또한, 프로세서, 기억장치, 입출력장치, 파일과 같은 자원의 스케줄링 관리, 시스템 하드웨어 및 네트워크의 제어 기능을 포함하고 있다.
1. 운영체제의 주요기능
(1) 프로세스 관리 : 하드웨어에 의존하는 가장 하위 단위 수준으로 프로세스 스케줄링을 통해 실행 가능한 프로세스를 추적 관리한다.
(2) 주기억 장치관리 : 주기억장치의 접근을 관리 제어하는 장치 부분으로 주소변환, 기억보호, 버퍼기억 등의 기능을 수행한다.
(3) 보조기억장치관리 : 하드디스크와 같은 보조기억 장치에 대한 접근관리, 제어 등을 수행한다.
(4) 입출력시스템관리 : 중앙기억장치와 외부 입출력장치 사이의 효율적인 통신방법을 제공하며 주변장치라고도 한다. 주로 키보드, 마우스, 디스플레이장치, 프린터와 보조저장 장치인 자기테이프, 자기디스크 등이 있다.
(5) 파일시스템관리 : 운영체제는 프로그램이나 데이터를 파일 단위로 관리하며 저장장치에 파일 단위로 저장한다.
(6) 에러검출 및 응답
- 메모리 에러, 장치 결함 등의 내부 및 외부 하드웨어 에러 관리
- 금지된 메모리 영역으로의 접근, 응용프로그램 수용 거부 등에 대한 프로그램 에러 관리
2. 운영체제의 구조
(1) 프로세서 관리(1계층 - 하위단계) : 동기화 및 프로세서 스케줄링 담당
(2) 메모리 관리(2계층) : 메모리 할당 및 회수 기능을 담당
(3) 프로세스 관리(3계층 - 상위단계) : 프로세스 생성, 제거, 메시지전달, 시작과 정지 작업
(4) 주변장치 관리(4계층) : 주변장치 상태파악과 입출력 장치의 스케줄링
(5) 파일 관리(5계층) : 파일의 생성과 소멸, 파일의 열기와 닫기, 파일의 유지와 관리
3. 운영체제의 기숙 발전 흐름
하드웨어 기능 및 기술의 발전으로 인해 운영체제 역시 지속해서 기능을 확장하고 있으며, 사용자와 시스템 관리자 요구를 만족하는 서비스를 제공하기 위해 발전해 나가고 있다.
(1) 운영체제 개발 이전의 순차처리 : 운영체제가 없으며, 이 시대 컴퓨터들은 디스플레이 발광체, 토글, 스위치, 입력장치, 그리고 프린터로 구성된 콘솔을 통해 운영되었다.
- 프로그래머가 상주 모니터에게 전달될 정보를 작업제어카드에 전달한다.
- 상주 모니터는 작업제어카드에 의하여 지시하는 대로 작업순서를 제공하여 하나의 프로그램을 실행한다.
- 프로그램 수행을 완료하면 제어는 모니터로 복귀한다.
(2) 일괄처리시스템 : 초기의 컴퓨터 시스템에 사용한 형태로 일정량 또는 일정 기간 데이터를 모아서 한꺼번에 처리하는 방식을 말한다.
- 일괄처리를 위한 적절한 작업제어언어를 제공한다.
- 컴퓨터 시스템을 효율적으로 사용할 수 있다.
- 하나의 작업이 모든 자원을 독점하므로 CPU 유휴 시간이 줄어들지만, 반환시간이 느리다.
- 급여계산, 지불계산, 연말결산 등의 업무에 사용된다.
(3) 다중프로그램 : 입출력 장치와 CPU 사이의 속도 차이를 이용하여 하나의 CPU와 주기억 장치를 이용하여 여러 개의 프로그램을 동시에 처리하는 방식이다.
- 하나의 주기억 장치에 두 개 이상의 프로그램을 기억시켜 놓고 그중 하나가 실행될 때 입출력장치의 조작으로 인해 CPU 유휴시간이 발생하면 운영체제가 다른 작업으로 전환하게 된다.
- CPU의 사용률과 처리량이 증가한다.
(4) 시분할 시스템 : 여러 명의 사용자가 사용하는 시스템에서 컴퓨터가 사용자들의 프로그램을 번갈아가며 처리함으로써 각 사용자는 독립된 컴퓨터를 사용하는 느낌을 주는 것으로 라운드 로빈 방식이라고도 한다.
- 여러 사용자가 각자의 단말장치를 통하여 동시에 운영체제와 대화하면서 각자의 프로그램을 실행한다.
- 하나의 CPU는 같은 시점에서 여러 개의 작업을 동시에 수행할 수 없으므로 CPU 전체 사용시간을 작은 작업시간량으로 나누어서 그 시간 동안 번갈아가며 CPU를 할당하여 각 작업을 처리한다.
- 시스템 전체효율은 좋아질 수 있으나 사용자로서는 반응속도에 저하가 생긴다.
- 각 작업에 대한 응답 시간을 최소한으로 줄이는 것을 목적으로 한다.
(5) 다중처리시스템 : 여러 개의 CPU와 하나의 주기억 장치를 이용하여 여러 개의 프로그램을 동시에 처리하는 방식이다.
- 하나의 CPU가 고장이 나더라도 다른 CPU를 이용하여 업무를 처리할 수 있어서 시스템 신뢰성과 안정성이 높다.
- 여러 CPU가 하나의 메모리를 공유하여 단일 운영체제에 의해 관리된다.
- 프로그램의 처리속도는 빠르지만 기억장치, 입출력장치 등의 자원공유에 대한 문제점을 해결해야 한다.
(6) 실시간 처리 시스템 : 데이터 발생 또는 데이트 처리요구가 있는 즉시 처리하여 결과를 산출하는 방식이다.
- 처리 시간이 단축되고 처리 비용이 절감된다.
- 우주선 운항이나 레이더 추적기, 핵물리학 실험 및 데이터 수집, 전화교환장치의 제어, 은행의 온라인 업무 등 시간에 제한을 두고 수행되어야 하는 작업에 사용된다.
(7) 다중모드처리 : 일괄처리 시스템, 시분할 시스템, 다중처리 시스템, 실시간 처리 시스템을 한 시스템에서 모두 제공하는 방식이다.
(8) 분산처리 시스템 : 여러 개의 컴퓨터(프로세서)를 통신 회선으로 연결하여 하나의 작업을 처리하는 방식이다. 각 단말장치나 컴퓨터 시스템은 고유의 운영체제와 CPU, 메모리를 가지고 있다.