운영체제의 개요
운영체제란 시스템 자원을 효율적으로 사용하고, 컴퓨터-사용자간의 편리한 인터페이스를 제공하며 처리능력(Throughput), 신뢰도(Realiability), 사용가능도(Availability)의 향상과 반환시간(Turn Around Time) 단축의 목적이 있다. 또한 프로세스, 기억장치, 입출력 장치, 파일 등 자원관리 및 자원의 스케줄링기능, 시스템의 각종 하드웨어 및 네트워크 관리 제어 등을 포함하고 있다.
1. 운영체제의 주요기능
1) 프로세스 관리 : 하드웨어에 의존된 가장 하위 단위 수준으로 프로세스 스케줄링을 통해 실행 가능한 프로세스를 추적 관리한다.
2) 주기억장치관리 : 주기억장치의 접근을 제어하는 장치부분으로 주소변환, 기억보호, 버퍼기억 등의 기능을 수행한다.
3) 보조기억장치관리 : 하드디스크 및 주변기기의 기억장치에 대한 접근관리, 제어 등을 수행한다.
4) 입출력시스템관리 : 중앙시스템과 외부와 효율적인 통신방법을 제공하고 주변장치라고도 한다. 주로 키보드, 마우스, 디스플레이장치, 프린터와 보조기억장치인 자기테이프, 자기디스크 들이 있다.
5) 파일시스템관리 : 운영체제는 프로그램이나 데이터를 파일단위로 관리하며 저장장치에 파일단위로 저장한다.
6) 에러검출 및 응답
* 내부 및 외부 하드웨어 에러(메모리 에러, 디바이스 결함)관리
* 소프트웨어 에러 : 금지된 메모리 영역의 접근, 응용프로그램 수용 거부
2. 운영체제의 구조
1) 프로세서 관리(1계층-하위단계) : 동기화 및 프로세서 스케줄링 담당
2) 메모리 관리(2계층) : 메모리 할당 및 회수 기능을 담당
3) 프로세스 관리(3계층-상위단계) : 프로세스 생성, 제거, 메시지 전달, 시작과 정지 작업
4) 주변장치 관리(4계층) : 주변장치 상태파악과 입출력 장치의 스케줄링
5) 파일 관리(5계층) : 파일의 생성과 소멸, 파일의 열기와 닫기, 파일의 유지 및 관리
운영체제의 발전 흐름
1) 순차처리 : 운영체제가 없으며, 이 시대 컴퓨터들은 디스플레이 발광체(Light), 토글(Toggle), 스위치, 입력장치, 그리고 프린터로 구성된 콘솔(Console)을 통해 운영됨
2) 일괄처리시스템(Batch Processing System) : 초기의 컴퓨터 시스템에 사용한 형태로 일정량 또는 일정기간 데이터를 모아서 한꺼번에 처리하는 방식
3) 다중프로그램(Multi-Programming System) : 입출력 장치와 CPU 사이의 속도 차이를 이용하여 하나의 CPU와 주기억 장치를 이용하여 여러 개의 프로그램을 동시에 처리하는 방식
4) 시분할시스템(Time Sharing System) : 여러 명의 사용자가 사용하는 시스템에서 컴퓨터가 사용자들의 프로그램을 번갈아가며 처리함으로써 각 사용자는 독립된 컴퓨터를 사용하는 느낌을 줌. 라운드 로빈(Round Robin)방식이라고도 함
5) 다중처리시스템(Muti-Processing System) : 여러 개의 CPU와 하나의 주기억 장치를 이용하여 여러 개의 프로그램을 동시에 처리하는 방식
6) 실시간처리시스템(Real Time Processing System) : 데이터 발생 또는 데이터 처리요구가 있는 즉시 처리하여 결과를 산출하는 방식
7) 다중모드처리(Muti-Model Processing) : 일괄처리 시스템, 시분할 시스템, 다중처리 시스템, 실시간 처리 시스템을 한 시스템에서 모두 제공하는 방식
8) 분산처리시스템(Distributed Processing System) : 여러 개의 컴퓨터(프로세서)를 통신 회선으로 연결하여 하나의 작업을 처리하는 방식
1세대 : 순차처리, 일괄처리 시스템
2세대 : 다중프로그램, 시분할시스템, 다중처리시스템, 실시간처리시스템
3세대 : 다중모드처리
4세대 : 분산처리시스템
프로세스와 스레드의 차이점
프로세스 | 스레드 |
프로그램(코드)이 메모리상에 읽혀져서 실행중인 상태 | 하나의 프로그램 내에서 여러 개의 실행흐름을 두기 위한 모델 |
각 프로세스는 별도의 리소스를 할당받음 | 스레드들은 같은 프로세스에 있는 자원과 상태를 공유 |
논리적으로 운영체제가 해야 하는 작업 | 프로세스의 하위 작업 중에 하나. 프로세스보다는 작은 단위 |
기억장치의 종류
1. 주기억장치(Main Memory, Real Memory) - ROM,RAM : 주기억 장치는 비교적 비싼 자원이며 소량의 자료를 임시로 기억할 수 있고 영구히 저장할 수는 없다.
* CPU가 직접 접근하여 처리할 수 있는 기억장치
* 현재 수행되는 프로그램, 입력데이터, 작업, 출력데이터를 저장하는 기억장소
* ROM(Read Only Memory) : 기억된 내용을 자유롭게 읽을 수 있으나 자료를 임의로 기억 시킬 수 없는 읽기 전용 기억장치로 전원이 중단되어도 없어지지 않는다(비휘발성)
* RAM(Random Access Memory) : 임의로 사용할 수 있으며 전윈이 중단되면 데이터가 사라지는 휘발성 메모리로 컴퓨터 작업시 하드디스크에 있는 내용을 RAM으로 불러서 작업하게 된다.
* 주기억장치 공간분할 방식
- 고정 분할(Fixed Partition) 방식 : 주기억장치 공간을 동일한 크기의 고정된 부분으로 미리 나누어 할당하는 방식으로 정적(Static) 방식이라고도 함
- 가변 분할(Variable Partition) 방식 : 각 부분의 크기가 고정되어 있는 것이 아니라 프로세스를 처리하는 과정에서 필요한 만큼 공간을 할당하는 동적(Dynamic) 분할 방식이라고도 함
2. 가상기억장치(Virtual Memory) : 컴퓨터에서 프로그램이나 작업을 실행하는데 필요한 RAM이 부족한 경우 사용하기 위하여 확보된 실제 RAM 이상의 메모리 영역을 말한다.
* 가상 기억장치 구현방식
- 페이징(Paging) 방식 : 프로그램을 동일한 크기의 물리적 단위(Page)로 나누어 이 페이지 단위로 가상기억장치를 구현하는 기법
- 세그먼테이션(Segmentation) 기법 : 프로그램의 가변적인 크기의 논리적인 단위(Segment)로 나누어 세그먼트 단위로 가상 기억 장치를 구현하는 방식
3. 보조기억장치(Auxiliary Memory, Secondary Memory) : 대량의 데이터를 적은 비용으로 저장하기 위하여 사용되는 비휘발성의 기억장치로서 데이터를 반영구적으로 저장할 수 있다.
* 자기디스크 : 둥근 원형에 자성 물질을 입혀 이를 회전시키면서 데이터를 기록하고 읽는 장치(플로피디스크, 하드디스크)
* 자기테이프 : 기억된 순서에 따라 내용을 읽는 순차 접근만 가능하여 속도가 느리지만 용량에 비해 가격이 저렴하여 백업용으로 많이 사용됨.
* 자기드럼 : 원통형 표면에 자성물질을 입힌 것으로 고정 헤드디스크를 사용하므로 Seek Time이 없어 엑세스 시간이 빠르지만 낮은 용량으로 현재는 거의 사용되고 있지 않음.
* 기타저장장치 : CDROM(Compat Disk Read Only Memory), WORM(Write One Read Many Time), Zip Disk, DVD(Digital Versatile Disk), USB 등
'운영체제(OS)' 카테고리의 다른 글
VMware Workstation 12에서 macOS 10.12 Sierra 설치하기 (0) | 2018.04.26 |
---|