1. 운영체제
1.1 운영체제 개요
1.1.1 운영체제의 주요기능
1) 프로세서 관리
- 프로세서 스케줄링을 통해 실행 가능한 프로세서를 추적 관리 한다.
2) 주기억장치의 관리
- 보조기억장치에 기록된 프로그램 또는 데이터를 주기억장치에 적재하기 위한 방법으로 적재시기, 적재위치, 적재 후 변경 설정 등을 정하여 제한된 기억장치 공간을 효율적으로 관리
3) 주기억장치(연속적인 할당 관리)
① 단일 분할 할당 기법 (Overlay 기법, Swapping 기법)
② 다중 분할 할당 기법 (MFT, MVT)
4) 가상기억장치(분산적인 할당 관리)
- 블록의 저리 방법에 따라 가상기억장치 구현을 두 가지로 구분
( Paging 기법, Segmentation 기법)
5) 페이지 교체 알고리즘
① OPT (OPTimal replacement)
② FIFO (First In First Out)
③ LRU (Least Recently Used)
④ LFU (Least Frequently Used)
⑤ NUR (Not Used Recently)
6) 기타 가상기억장치 관리
7) 보조기억장치 관리
① FCFS (First Come First Service)
② SCAN
③ C-SCAN (Circular SCAN)
8) 입·출력시스템 관리
9) 파일 관리
1.1.2 운영체제의 구조
1) 운영체제의 기능적 분류
① 제어 프로그램
- 감시 프로그램
: 시스템 전체의 작동상태를 감시
- 작업관리 프로그램
- Job Scheduler
: 여러 개의 작업을 연속적으로 처리하기 위하여 특정 작업이 끝나면 다음 작업을 준비 시킴
- Master Scheduler
: 컴퓨터와 사용자 사이에서 정보를 주고 받을 수 있도록 중개자 역할을 수행
- 데이터관리 프로그램
: 주기억장치와 보조기억장치사이의 데이터 전송 및 파일조작, 보조기억장치의 자료 갱신, 유지 보수 기능을 수행하는 프로그램
② 처리 프로그램
: 제어 프로그램의 지시를 받아 요구사항을 해결하기 위한 프로그램
- 서비스 프로그램
: 컴퓨터를 효율적으로 사용할 수 있는 사용 빈도가 높은 프로그램
( Linkage Editor, Sort/Merge Program, Librarian, Utility Program, Problem Program )
- 문제 프로그램 ( 사용자 프로그램 )
- 번역 프로그램
: 원시 프로그램을 기계어 형태의 목적 프로개름으로 번역
( Assembler, Compiler, Interpreter )
2) 운영체제의 계층적 분류
운영체제 5계층 |
1계층 |
프로세서 관리 |
동기화 및 프로세서 스케줄링 |
2계층 |
메모리 관리 |
메모리 할당, 회수 기능 |
3계층 |
프로세스 관리 |
프로세스 생성, 제거, 메시지 전달, 시작과 정지 |
4계층 |
주변장치 관리 |
주변장치 상태 파악과 입출력장치의 스케쥴링 |
5계층 |
파일관리 |
파일 생성, 소멸, 유지 및 관리 |
1.1.3 운영체제의 기술발전 흐름
1) 일괄처리 시스템 (Batch Processing System)
- 정보나 데이터를 일정 단위로 묶어서 한꺼번에 처리
2) 다중 프로그래밍 시스템 (Multi Programming System)
- 1개의 처리 장치로 복수의 프로그램을 동시에 처리
3) 시분할 시스템 (Time Sharing System)
- 다수사용자가 단말기를 통하여 중앙의 컴퓨터 시스템을 동시에 사용
4) 실시간 시스템 (Real Time System)
- 시스템을 계속 감시하여 장치의 상태가 바뀔 때 그와 동시에 제어 동작을 구동시키는 시스템
5) 다중 처리 시스템 (Multi Processing System)
- 주기억장치나 입출력장치 등을 복수 개의 논리장치를 연결하여 서요 공용할 수 있도록 한 시스템
6) 분산 처리 시스템 (Distributed Processing System)
- 여러 개의 데이터 저장장소와 처리기들을 가지면 여러 처리기들이 동시에 여러작업을 수행
1.2 운영체제의 주요 구성기술
1.2.1 프로세스 관리
1) 프로세스란 ?
① 프로세서에 의해 처리되어지는 사용자 프로그램 및 시스템 프로그램
② 현재 실행 중인 프로그램이며 Job(=Task)
③ PCB를 가지는 프로그램으로 비동기적인 행위를 일으키는 주체
④ 실제 주기억장치에 저장된 프로그램
⑤ 운영체제가 관리하는 실행 단위이며 프로시저가 활동 중인 것
2) 프로세스의 상태 전이 과정
제출상태 | 작업 처리를 위해 사용자가 작업을 시스템에 제출한 상태 |
접수상태 | 제출된 작업이 디스크의 스풀 공간 위치에 저장된 상태 |
준비상태 | 프로세서를 할당 받기 위해 기다리고 있는 상태 |
접수 -> 준비의 변화는 운영체제의 Job 스케줄러에 의해 처리된다. |
실행상태 | 준비상태 프로세스가 프로세서를 할당 받아서 실행되는 상태로 프로세스에게 주어진 할당 시간이 종료되면 준비상태로 넘어간다. |
실행 중에 입출력 처리가 요구되면 현재 프로세스는 잠시 중단 |
준비상태 -> 실행상태의 변화는 CPU의 스케줄러에 의해 처리 |
대기상태 | 프로세스의 입출력 처리가 완료될 때까지 대기하는 상태 |
완료상태 | 프로세서를 할당받아 주어진 시간 내에 작업 수행을 완료한 상태 |
3) 프로세스 제어 블록(PCB)
① 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓은 곳
② 각 프로세스가 생성될 때마다 PCB가 생성되고, 완료되면 PCB는 제거
③ 운영체제에게 프로세스에 대한 정보를 제공해주는 자료구조 테이블
④ 부모 프로세스와 자식 프로세스는 PCB를 공유하지 않는다.
1.2.2 기억장치 관리
1.2.3 파일 시스템 관리
1.2.4 분산 시스템
1.3 운영체제 사례별 특징과 주요 기능
1.3.1 유닉스
1.3.2 윈도우
1.3.3 리눅스
1.3.4 보안운영체제 특징
댓글