분류
1. 개요 [편집]
운영체제는 컴퓨터 체계의 자원들을 효율적으로 관리하고, 사용자가 컴퓨터를 효율적으로 사용할 수 있도록 인터페이스를 제공하는 소프트웨어이다.
2. 언어별 명칭 [편집]
3. 목적 [편집]
4. 작업 처리 체게 [편집]
- 다중 작업 처리 체계: 여러 개의 프로그램을 실행하고 다양한 작업을 동시에 진행하는 방식이다.
- 단일 작업 처리 체계: 컴퓨터 체계를 하나의 작업이 독점하여 사용하는 방식이다.
5. 자원 관리 [편집]
5.1. 기억장치 관리 [편집]
기억장치 관리는 프로그램의 실행이 종료될 때까지 메모리를 가용한 상태로 유지 및 관리하는 기능이다. 메모리에 있는 프로그램은 중앙 처리 장치로 이동하여 처리된다.
5.1.1. 기법 [편집]
- 교체 기법: 새로 반입되는 자료나 프로그램을 주기억장치에 배치할 때, 이미 사용되고 있는 영역 중에서 어느 영역을 교체하여 사용할 것인지를 결정하는 기법이다. 즉, 메모리의 교체 대상을 결정하는 것이다.
- 반입 기법: 보조기억장치의 내용을 언제 주기억장치로 적재할 것인지 결정하는 기법이다. 즉, 메모리의 적재 시기를 결정하는 것이다. 요구되는 페이지 이외에 실행 중인 프로그램에 의해 참조될 자료나 프로그램을 미리 예상하여 적재하는 것을 예상 반입이라고 한다. 또한 실행 중인 프로그램이 특정 자료나 프로그램 등의 참조를 요구할 때에는 요구 반입이 실행된다.
- 배치 기법: 새로 반입되는 자료나 프로그램을 주기억장치의 어디에 위치시킬 것인지를 결정하는 전략이다. 즉, 메모리의 적재 위치를 결정하는 것이다.
5.1.2. 가상 메모리 [편집]
각 프로그램에 실제 메모리 주소가 아닌 가상의 메모리 주소를 부여할 수 있다. 가상 주소, 물리 주소가 있고 가상 주소의 범위를 가상 주소 공간, 물리 주소의 범위를 물리 주소 공간이라고 한다. 가상 주소 공간은 메모리 관리 장치에 의해 물리 주소 공간으로 변환된다.
5.1.3. 메모리 관리자 [편집]
기억장치의 어느 부분이 사용 중인지 아닌지를 조사하여 프로세스에 필요할 때마다 기억장치를 할당한 후 회수하는 작업이 수행된다.
5.2. 주변장치 관리 [편집]
입출력 장치를 계획하는 등 전반적인 관리를 담당한다.
5.3. 파일 관리 [편집]
파일의 변경, 삭제, 생성, 유지 등을 관리한다.
5.4. 프로세스 관리 [편집]
프로세스 관리는 프로세스를 계획하고 동기화를 관리하는 것이다. 다음의 과정을 거친다.
- 생성: 사용자에 의해 프로세스가 생성된다.
- 준비: 중앙 처리 장치를 할당받기 위해 기다린다. 준비상태 큐에서 실행을 준비하며, 우선순위가 가장 높은 프로세스가 할당 받는다.
- 실행: 준비상태 큐에 있는 프로세스가 중앙 처리 장치를 할당 받아 실행된다.
- 대기: 프로세스 실행 도중 입출력 처리 등으로 인해 중앙 처리 장치를 양도하고 입출력 처리 완료까지 대기 목록에서 기다린다.
- 완료: 프로세스가 중앙 처리 장치를 할당 받아 주어진 시간 안에 완전히 수행을 종료한다.
5.4.1. 스케줄링 [편집]
스케줄링은 중앙 처리 장치를 사용하려 하는 프로세스들 사이의 우선순위를 관리하는 작업이다.
- 비선점 스케줄링: 이미 할당된 중앙 처리 장치를 다른 프로세스가 강제로 빼앗아 사용할 수 없도록 한다.
- 선입선출법: 먼저 들어온 프로세스를 먼저 중앙 처리 장치에 할당한다. 즉, 순차대로 처리한다.
- 최고 응답률 우선 스케줄링: 대기 시간과 실행 시간을 고려해 응답률을 계산하고, 응답률이 가장 빠른 프로세스를 먼저 중앙 처리 장치에 할당한다.
- 최단 작업 우선 스케줄링: 준비 상태의 프로세스들 중에서 실행 시간이 가장 짧은 프로세스를 먼저 중앙 처리 장치에 할당한다.
- 선점 스케줄링: 우선순위가 높은 프로세스가 기존의 프로세스를 강제로 중지하고 중앙 처리 장치를 차지하는 방식이다.
- 라운드 로빈 규정 시간 또는 시간 조각을 미리 정의하여 중앙 처리 장치 스케줄러가 준비 상태 큐에서 정의된 시간만큼 각 프로세스에 중앙 처리 장치를 제공하는 방식이다.
- 최소 잔여 시간 우선 스케줄링: 실행 중인 프로세스의 남은 시간과 새로운 프로세스의 실행 시간을 비교하여 가장 짧은 실행 시간을 요구하는 프로세스를 할당하는 방식이다.
5.4.2. 프로세스 상태 전이 [편집]
프로세스 상태 전이는 프로세스의 상태가 준비, 실행, 대기 등으로 변하는 활동이다.
- 디스패치: 준비 상태에서 대기하고 있는 프로세스 중 하나가 프로세서를 할당 받아 실행 상태로 전이된다.
- 블록: 실행 상태에 있는 프로세스가 지정된 할당 시간을 초과하기 전에 입출력이나 기타 사건이 발생하면 중앙 처리 장치를 스스로 반납하고 입출력이 완료될 때까지 대기 상태로 전이된다.
- 스왑 아웃: 프로세스가 기억장치를 잃은 경우, 준비 상태나 대기 상태에서 지연 준비 상태나 지연 대기 상태로 전이된다.
- 스왑 인: 프로세스에게 다시 기억장치가 할당될 경우, 지연 준비 상태나 지연 대기 상태에서 준비 상태나 대기 상태로 전이된다.
- 웨이크 업: 어느 순간에 입출력이 종료되면 대기 상태의 프로세스에게 입출력 종료 사실을 알리고, 준비 상태로 전이된다.
- 타이머 런 아웃: 중앙 처리 장치를 할당 받은 프로세스는 지정된 시간이 초과되면 스케줄러에 의해 프로세스 제어블록을 저장하고 중앙 처리 장치를 반납한 후 다시 준비 상태로 전이된다.