- 운영체제의 정의
(1) 사용자 인터페이스를 제공하는 시스템 소프트웨어
사용자와 하드웨어 간의 상호작용을 위함
(2) 하드웨어를 효율적으로 관리
컴퓨터의 CPU(컴퓨터의 중앙처리장치 Central Processing Unit), 메모리 및 주변 장치 등
(3) 프로그래밍 인터페이스를 제공
응용 프로그램이 동작할 수 있는 환경
- 운영체제의 목적
(1) 처리능력(Throughput)의 향상
일정 시간 동안 처리하는 일의 양
(2) 반환 시간(Turnaround Time)의 최소화
작업 의뢰 후 시스템에서 결과가 얻어질 때까지의 시간
(3) 신뢰도(Reliability)의 향상
주어진 문제를 정확하게 처리하는 정도
(4) 사용가능도(Availability)의 향상
이용할 수 있는 시스템의 자원이 어느 정도인가
// 사용가능도가 높으면 처리능력도 높다
- 운영체제의 역할
(1) 하드웨어 제어, 입력, 출력 등의 관리
사용자의 하드웨어 접근이 용이하도록
(2) 다수의 이용자가 한정된 하드웨어 자원을 공유할 수 있는 기능
(3) 자원 스케줄링
프로세스, 메모리, CPU 등의 한정된 자원의 용량을 효율적으로 사용하기 위하여
(4) 시스템 호출(system call)
응용 프로그램의 작성과 실행이 편리하도록
(5) 오류 복구 기능
예상치 못한 오류가 발생하더라도 시스템을 중단하지 않고 실행할 수 있도록
(6) 파일 관리 및 데이터베이스 기능
사용자의 다양하고 수많은 데이터를 조직화하고 저장 가능
(7) 네트워크 기능
원격의 컴퓨터와 연결 가능
(8) 사용자 인터페이스
- 운영체제의 구조
(1) 필요한 응용 프로그램 실행
(2) 셸, GUI, 배치작업(batch jobs)을 통하여 운영체제 기능 사용
(3) 시스템 호출을 통하여 커널의 서비스 이용
(4) 다양한 하드웨어에 대한 이식성을 향상하기 위해 하드웨어 추상계층(Hardware Abstraction Layer) 제공
- 운영체제의 기능
(1) 리소스 관리 기능
프로세스, 메모리, 장치I/O, 파일 시스템 등
(2) 자원 스케줄링 기능
자원의 효율적인 사용을 위하여
(3) 다양한 네트워크 제어 기능
LAN카드, USB장치, 디스크 등 다양한 하드웨어의 관리와 네트워크의 주소 할당, 네트워크 생성, 경로 설정 등
(4) 데이터 관리 기능
파일 시스템이나 데이터베이스를 통해 데이터를 생성, 저장, 조회 등
(5) 자원 공유 기능
파일 및 네트워크와 같은 자원
(6) 자원 보호 기능
사용자, 프로세스와 같은 주체가 자원에 무분별하게 접근하는 것을 방지
(7) 오류 검사 기능 / 오류 발생 시 복구할 수 있는 기능
디스크 및 파일 시스템과 같은 시스템의 손상이 있는지를 점검
(8) 가상화 기능
자원의 유휴 시간을 최소화 하기 위해 물리적 컴퓨터에 가상의 컴퓨터를 여러 대 실행 가능
- 운영체제 운용 기법의 종류
< 처리 능력의 최대화 >
(1) 일괄 처리 시스템(Batch Processing System)
여러 작업을 한 번에 묶어서 처리
처리하기 시작하면 결과가 나올 때까지 대기
자원 사용의 효율성 저하
(2) 다중 프로그래밍 시스템(Multi Programming System)
입출력 중일 때 CPU는 유휴 상태(idle)
CPU 사용률과 처리량을 향상
< 응답 / 반응시간 단축, Multi User 지원 >
(3) 시분할 시스템(Time Sharing System)
일정 작업 시간 동안 작업을 실행 / 시간 만료 후엔 대기 큐에서 다음 작업을 실행
다중 프로그래밍 시스템보다 CPU 사용률과 처리량을 더욱 향상
(4) 다중 처리 시스템(Multi-Processing System) = 병렬 처리 시스템(Parallel Processing System)
여러 개의 CPU를 통해 동시에 여러 개의 작업을 처리
비대칭적 다중 처리(Asymmetric Multi-processing) : 프로세스 간 주종 관계
대칭적 다중 처리(Symmetric Multi-processing) : SMP(Symmetric Multi-Processing) / MPP(Massively Parallel Processing)
(5) 실시간 처리 시스템(Real Time Processing System)
시간적 제약
경성 실시간 처리 시스템(Hard real time processing system) : 반드시 작업 처리 완료해야함
연성 실시간 처리 시스템(Soft real time processing system) : 시스템에 큰 영향만 안미치면 가능
(6) 다중 모드 시스템(Multi-Mode System)
일괄 처리, 다중 프로그램이 ,시분할, 다중처리, 실시간 처리 모두 혼용
(7) 분산 처리 시스템(Distribute Processing System)
처리량과 응답시간, 가용량 극대화
둘 이상의 독립된 시스템이 통신으로 연결되고 상호작용하는 약결합(Loosely-Coupled) 방식
가상화 기술 / 커널(Kernel) 단에서 지원