-
운영체제란?
운영체제의 정의
하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층을 말합니다.
운영체제의 기능
1. 자원을 효율적으로 관리
▷ 효율성: 효율적이나 일부가 지나치게 희생되지 않도록
▷ 형평성: 프로그램들 간의 자원을 형평성 있게 분배
▷ 보안 및 보호
2. 사용자 및 운영체제 자신의 보호
3. 프로세스, 파일, 메시지 등을 관리
4. 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공
운영체제의 분류
동시 작업 가능 여부에 따라 분류
▷ 단일작업(single tasking)
▷ 다중작업(multi tasking) ✓pick
사용자 수에 따른 분류
▷ 단일 사용자
▷ 다중 사용자 ✓pick
처리방식
▷ 일괄처리 방식(batch processing)
▷ 시분할 방식(time sharing system) ✓pick
▷ 실시간(real time)
운영체제의 자원 관리 기능
1. CPU 스케쥴링(CPU scheduling)
CPU를 가장 효율적으로 사용하면서도, 특정 프로세스가 불이익을 당하지 않도록 하는 것
선입선출
- CPU를 사용하기 위해 도착한 프로세스들 중 먼저 온 것을 먼저 처리해주는 방식
라운드 로빈(Round Robin) ✓pick
- CPU를 한 번 할당받아 사용할 수 있는 시간을 일정하게 고정된 시간으로 제한한다.
우선순위
- 대기 중인 프로세스들에 우선순위를 부여하고 우선순위가 높은 프로세스에 CPU를 먼저 할당한다.
2. 메모리 관리
고정분할 방식(fixed partition)
- 물리적 메모리를 일정 개수로 분할 하여 사용하는 방식을 말한다.
- 단점으로 분할 개수만큼만 프로그램을 사용할 수 있으며, 분할된 메모리보다 큰 프로그램은 적재가 불가능하다.
- 분할된 메모리보다 적은 메모리를 사용하는 프로그램이 적재가 되면 남는 메모리영역이 발생하는데 이를 내부조각(internal fragment) 이라고 한다.
가변분할 방식(variable partition)
- 프로그램 크기에 맞게 메모리를 분할해서 사용하는 방식을 말한다.
- 메모리가 일정부분 20이 남았다고 했을 때, 40의 메모리를 가진 프로그램을 적재할 수 없어 남는 메모리 영역이 발생한다. 이를 외부조각(external fragment)이라고 한다.
가상메모리(virtual memory) ✓pick
- 물리적 메모리보다 더 큰 프로그램이 실행되는 것을 지원한다.
- 현재 사용되고 있는 부분만 메모리에 올리고, 나머지는 하드디스크와 같은 보조기억장치에 저장해두었다가 필요할 때 적재하는 방식을 취한다. 이떄 사용되는 보조기억장치의 영역을 스왑 영역(swap area)이라고 부른다.
- 가상메모리 주소 공간은 페이지(page)라는 동일한 크기의 작은 단위로 나뉘어 물리적 메모리와 스왑 영역에 일부분씩 저장된다. 이렇게 동일한 단위로 메모리를 나누는 기업을 페이징(paging) 기법이라고 한다.
3. 주변장치 및 입출력 관리
인터럽트
- 주변장치들이 CPU의 서비스가 필요한 경우 보내는 신호
컨트롤러
- 주변장치들이 메인 CPU에 인터럽트를 발생시켜 보고하는 역할
References
- http://www.kocw.net/home/search/kemView.do?kemId=1226304
'OS' 카테고리의 다른 글
[OS] 프로그램 VS 프로세스 VS 스레드 (0) 2021.07.21 [OS] 프로세스 관리, 프로세스 문맥(context) (0) 2021.07.20 [OS] 프로세스 메모리 구조 (코드, 데이터, 스텍, 힙) (2) 2021.07.19 [OS] 인터럽트(Interrupt) (0) 2021.07.18 [OS] 컴퓨터 시스템의 동작 원리 (2) 2021.07.17