2023. 2. 26. 11:05ㆍbook/기술
운영 체제 개요
운영체제(operating system)
컴퓨터 하드웨어 바로 윗단에 설치되는 소프트웨어
운영체제가 없으면 컴퓨터는 고철 덩어리에 불과하며, 컴퓨터를 최소한 동작시켜 주기 위해서 필요한 기본적은 소프트웨어
운영 체제의 기능
1. 하드웨어에 대한 역할
: 컴퓨터 시스템 내의 자원을 효율적으로 관리하는 것
2. 사용자에 대한 역할
: 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공하는 것
운영 체제의 분류
1. 동시작업을 지원 여부
: 동시작업을 지원하는지 여부에 따라 단일 작업용 운영체제와 다중작업용 운영체제로 나눌 수 있다.
단일 작업용 운영체제는 한번에 하나의 프로그램만 수행시킬 수 있는 운영체제로 초기 컴퓨터용 운영 체제는 대개 단일작업용 운영체제에 해당되었다.
예를 들어 DOS환경에서는 하나의 프로그램이 수행되는 동안 다른 프로그램을 수행시킬 수 있는 명령어 입력라인이 뜨지 않아 한 번에 하나의 작업만 수행할 수 있었다.
다중 작업용 운영체제는 동시에 두개 이상의 프로그램을 처리할 수 있는 운영체제로 최근 대부분의 운영체제에서 지원한다.
예를 들어 PC환경에서 노래를 들으면서 인터넷 탐색을 할 수 있다.
2. 다중 사용자의 동시지원 여부
단일 사용자용 운영체제는 한 번에 한 명의 사용자만 사용하도록 허용하는 운영체제
다중 사용자용 운영 체제는 여러 사용자가 동시에 접속해 사용할 수 있게 하는 운영체제(웹 서버, 이메일 서버 등의 서버컴퓨터)
3. 작업을 처리하는 방식
일괄처리 방식(Batch processing)
작업 요청을 일정량을 모아서 한꺼번에 처리하는 방식
모든 작업이 종료된 후에 결과를 얻을 수 있어 사용자 입장에서는 응답 시간이 길다
시분할 방식(Time sharing)
여러 작업을 수행할 때 컴퓨터의 처리 능력을 일정한 시간 단위로 분할해 사용하는 방식
사용자들의 작업을 짧은 시간 단위씩 번갈아 가며 처리하게 되므로 짧은 응답시간을 갖게 된다.(대화형 시스템)
실시간 운영체제(Real time)
정해진 시간 안에 어떠한 일이 반드시 종료됨이 보장되어야 하는 시스템에서 사용된다
경성 실시간 시스템: 주어진 시간을 지키지 못할 경우 매우 위험한 결과를 초래할 가능성이 있는 시스템(원자로, 공장제어시스템, 미사일 제어시스템 등)
연성 실시간 시스템: 시간을 맞추어 전달 되어야 올바른 기능을 수행할 수 있는 시스템(멀티미디어 스트리밍 시스템 등)
운영 체제의 자원관리 기능
1. CPU 관리
일반적인 컴퓨터에는 CPU가 하나밖에 없지만 프로세스는 여러개가 동시에 실행된다.
그러므로 매 시점 어떤한 프로세스에게 CPU를 할당해 작업을 처리할 것인지를 결정하는 일이 필요하고 이를 CPU 스케줄링이라고 한다.
CPU 스케줄링: CPU 스케줄링의 목표는 CPU를 가장 효율적으로 사용하면서도 특정 프로세스가 불이익을 당하지 않도록 하는 것
<CPU 스케줄링 기법>
선입 선출 기법
먼저 CPU를 사용하기 위해 도착한 프로세스를 먼저 처리해주는 방식(줄서기)
장시간 CPU를 먼저 사용해야하는 프로세스가 먼저 도착하고, 짧은 시간 동안 CPU를 사용하면서 작업을 완료할 수 있는 프로세스들이 나중에 도착한 경우 선행 프로세스가 작업을 마칠 때까지 장시간 기다려야한다.
이를 보완하고자 고안된 기법이 라운드 로빈 기법이다.라운드로빈 기법
CPU를 한 번 할당받아 사용할 수 있는 시간을 일정한 고정된 시간으로 제한하는 방식
그래서 긴 작업을 요하는 프로세스가 CPU를 할당 받더라도 정해진 시간이 지나면 CPU를 내어놓고 줄의 제일 뒤에 가서 기다려야한다.
무작정 오래기다려야하는 상황을 막을 수 있으며 1회 할당 시간을 수 밀리 세컨드 정도로 하여 1초 이내에 응답 시간을 보장 받을 수 있다.우선순위 스케줄링 기법
수행 대기중인 프로세스들에게 우선순위를 부여하고 우선순위가 높은 프로세스에게 CPU를 먼저 할당하게 하는 방식
시스템 내에 상대적으로 더 중요한 프로세스의 우선순위를 높게 하여 CPU를 먼저 획득할 수 있도록 한다. 또한 지나치게 오래 기다리는 프로세스가 발생하지 않도록 기다린 시간이 늘어날수록 우선순위를 점차 높여주는 방안도 우선순위 스케줄링에 활용될 수 있다.
2. 메모리 관리
메모리: 메모리는 CPU가 직접 접근할 수 있는 컴퓨터 내부의 기억 장치로 프로그램이 CPU에서 실행되려면 해당 부분이 메모리에 올라가 있어야 한다.
한정된 메모리 공간을 관리하기 위해 효율적인 관리 메커니즘이 필요하다.
운영체제는 메모리의 어느 부분이 어떤 프로그램에 의해 사용되고 있는지를 주소(address)를 통해 유지 관리하는데, 운영체제는 프로그램에게 메모리가 필요할 때 할당하고 더 이상 필요하지 않게 될 때 회수한다.
<물리적 메모리 관리 방식>
1. 고정분할(fixed partition) 방식
물리적 메모리를 몇 개의 영구적인 분할로 나누고, 나뉜 각각의 분할에는 하나의 프로그램이 적재된다.
단점
. 동시에 메모리에 적재되는 최대 프로그램의 수가 분할 개수로 한정되기 때문에 융통성이 없다.
. 분할의 크기보다 큰 프로그램은 적재가 불가능하다.
. 분할의 크기보다 작은 프로그램이 적재되는 경우 남는 영역(= 내부조각)이 발생하게 된다.
내부조각은 분할영역에 올라온 프로그램에 의해서도 사용X & 다른 프로세스에게도 할당 될 수 없으므로 비효율적으로 낭비되는 공간이 된다.
2. 가변분할(variable partition)방식
매 시점 프로그램의 크기에 맞게 메모리를 분할해서 사용하는 방식이다.
물리적 메모리 크기보다 더 큰 프로그램의 실행은 불가능하다.
단점
. 내부조각은 발생하지 않지만 외부조각이 발생할 수 있다.
외부조각이란 프로그램에게 할당되지 않은 메모리 영역이지만 그 크기가 작아 프로그램을 올리지 못하는 메모리 영역을 말한다.
3. 가상메모리(virtual memory) 방식
거의 모든 컴퓨터 시스템에서 사용하는 메모리 관리 기법.
물리적 메모리보다 더 큰 프로그램이 실행되는 것을 지원한다.
모든 프로그램은 물리적 메모리와는 독립적으로 주소가 0 부터 시작하는 자신만의 가상 메모리를 갖게 된다.
운영체제는 가상 메모리의 주소를 물리적 메모리 주소로 매핑하는 기술을 이용해 주소를 변환시킨 후 프로그램을 물리적 메모리에 올리게 된다.
원리
. 현재 사용되고 있는 부분만 메모리에 올리고, 나머지는 하드디스크와 같은 보조기억장치에 저장해 두었다가 필요할 때 적재하는 방식을 취한다.
. 이 때 사용되는 보조기억장치의 영역을 스왑영역(swap area)이라고 부른다.
. 프로그램을 구성하는 주소공간은 페이지라는 동일한 크기의 작은 단위로 나뉘어 물리적 메모리와 스왑 영역에 일부분씩 저장된다.(➡페이징 기법)
'book > 기술' 카테고리의 다른 글
운영체제와 정보기술의 원리: 1장. 컴퓨터 역사 (0) | 2023.02.26 |
---|