운영체제란?
사용자와 컴퓨터 하드웨어 사이에서 중계 역할을 하면서, 프로그램의 실행을 관리하고 제어하는 시스템 소프트웨어이다.
혹은 컴퓨터가 켜질 때 메모리에 적재되어 모든 프로그램의 실행을 제어하고 사용자의 요청을 처리해주는 소프트웨어라고도 한다.
OS 와 Application
사용자 프로그램(Application)은 특정 운영체제에 맞춰서 만든다. 그러므로 한 어플리케이션은 서로 다른 운영체제에서 수행할 수 없다. 예를 들면 Windows에서 수행하는 프로그램을 그대로 Linux에 옮기면 수행되지 않는다.
애플리케이션은 하드웨어 자원을 직접적으로 사용하지 않고 운영체제가 제공하는 자원만을 사용할 수 있다.
운영체제의 종류
운영체제의 종류에는 Windows 98, Windows10, UNIX, LINUX, MS-DOS등이 있다.
- 동시 작업 가능 여부
- 단일작업(single tasking)
- MS-DOS
- 다중 작업(multi tasking)
- Windows, UNIX, LINUX...
- 단일작업(single tasking)
- 사용자 수
- 단일 사용자(single user)
- MS-DOS
- Windows
- 다중 사용자(multi user)
- 서버용
- UNIX, NT server
- 단일 사용자(single user)
운영체제의 목적과 기능
목적
운영체제는 컴퓨터 자원을 여러 응용 프로그램이나 사용자가 공유하여 사용함에 있어. 편리하게 사용할 수 있도록 하는 것에 더불어, 컴퓨터의 자원의 낭비를 줄이고 CPU를 비롯하여 놀고 있는 자원이 없도록 효율적으로 관리하는 것이 목적이다.
처리 능력, 반환 시간, 사용 가능도, 신뢰도는 운영체제의 성능을 평가하는 기준이 된다.
- 처리능력(Throughput) : 일정 시간 내에 시스템이 처리하는 일의 양
- 반환시간(Turn Around Time) : 시스템에 작업을 의뢰한 시간부터 처리가 완료될 떄까지 걸린 시간
- 사용가능도(Availability) : 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도
- 신뢰도(Reliabilty) : 시스템이 주어진 문제를 정확하게 해결하는 정도
기능
1. CPU/프로세스 관리
프로세스 실행, 새로운 프로세스 생성, 프로세스가 입출력을 요청하거나 CPU할당 시간을 다 소모하였을 때 프로세스를 일시 중단시키고 대기중인 프로세스 중 하나를 선택하는 스케줄링, 프로세스 종료등 프로세스를 관리하는 기능을 수행한다.
2. 메모리 관리
각 프로세스에게 적절한 메모리를 할당하고 반환하며, 프로세스에게 할당된 메모리를 다른 프로세스로부터 보호한다. 또한 메모리가 부족할 때 하드 디스크와 같은 저장 장치에 메모리 일부분의 내용을 저장해두고 필요할 때 다시 적재하는 기능을 수행한다.
3. 파일 시스템 관리
파일마다 파일정보를 관리하며, 또한 파일 시스템 정보를 생성하고 관리한다. 파일이 기록된 위치를 아는 것은 오직 운영체제이므로, 운영체제는 파일 읽기, 파일 쓰기, 파일 삭제 등 파일을 다루는 모든 기능을 수행한다.
4. 장치 관리
키보드, 마우스, 디스플레이, 프린터 등 다양한 입출력 장치들과 저장 장치를 제어하고 물리적인 입출력을 실행한다.
5. 네트워크 관리
네트워크 장치를 관리하고 네트워크 입출력을 실행한다.
6. 보안 관리
외부의 공격으로투 컴퓨터 시스템과 사용자 정보를 보호한다.
운영체제 용어
멀티 태스팅 : 하나의 프로그램이 끝나기 전에 다른 프로그램이 시작 가능
멀티 프로그래밍 : 메모리에 여러 프로그램이 동시에 올라가는 방식
시분할 시스템(TIme-sharing) : 시분할, 시간을 공유해서 사용한다.(CPU 측면)
멀티 프로세싱 : 여러 프로세스가 실행된다.
멀티 코어 : 하나의 컴퓨터에 CPU가 여러개 붙어 있음을 의미한다. 위 4개의 의미와 많이 다르다.
'Computer Science > OperatingSystem' 카테고리의 다른 글
[OS] CPU 스케줄링이란? (0) | 2023.04.17 |
---|---|
[OS] 참조의 지역성과 참조 집합 (0) | 2023.03.05 |
[OS] 가상 메모리(Virtual Memory System) 란? (0) | 2023.02.23 |
[OS] DeadLock(교착상태) 란 (0) | 2023.01.07 |
[OS] 프로세스와 스레드(Process, Thread) (0) | 2023.01.03 |