CS/ 운영체제

운영체제 간략 정리

hojak99 2015. 12. 8. 11:14

고등학교 운영체제 교과서를 토대로 정리하였습니다.


① 운영체제의 정리

- 자원들을 보다 호율적으로 관리, 사용자들에게는 이용 편의성을 제공하기 위한 SW.

  사람과 기계간의 인터페이스 역할을 한다.


② 운영체제의 하부관리자들이 공통적으로 수행하는 4가지 일

- 모든 운영체제는 프로세스 관리자, 기억장치 관리자, 입출력 장치 관리자 및 파일 관리자 등 네가지   필수적인 하부관리자로 구성된다.  (네트워크 관리자도 하부 관리자이다.)


③ 운영체제의 5종류의 하부관리자와 그 역할

ⓐ프로세스 관리자 : CPU 시간을 할당하기 위한 방법을 결정. CPU가 어떤 프로세스를 실행 중에 있는지 또는 READ 혹은 WRITE 명령이 끝나기를 기다리는지를 감시한다.


ⓑ 기억 장치 관리자 : RAM으로 알려진 주기억장치를 담당한다.


ⓒ 입출력 장치 관리자 : 모든 장치, 채널 및 제어 장치들을 감시한다. 장치 관리자는 할당을 결정한 다음, 연산을 시동하고, 마지막으로 장치를 회수한다.


ⓓ 파일 관리자 : 데이터 파일, 컴파일러, 유틸리티 및 응용프로그램 등을 망라한 시스템의 모든 파일들을 관리한다. 또한 각 사용자에게 허용된 파일 연산의 융통성도 제어한다.


ⓔ 네트워크 관리자 : 사용자들이 원격지에 있는 자원들을 공유할 수 있는 편리한 방법을 제공. 동시에 그에 대한 사용자 접근도 제어


④ 다중프로그래밍 시스템의 다중사용자, 다중 프로그래밍, 다중 타스킹, 다중 처리기의 개념

ⓐ다중프로그래밍이란 CPU보다 상대적으로 느린 입출력 장치와의 처리 속도 차이로 인하여 그 성능을 충분히 발휘하지 못하여서 이에 대한 해결책으로 나왔다. 

한번에 여러개의 프로그램을 동시에 주기억장치에 적재하여 실행함으로써 CPU 연산과 입출력 처리를 중첩시켜 CPU 유효시간을 감소하기 위한 기법


ⓑ다중처리기란 컴퓨터 시스템이 하나의 작업을 처리하는데 여러 개의 CPU를 사용하는 기법이다. 여러 프로그램들을 병렬로 하는 것이 가능해진다. 그에 따라 컴퓨터 시스템의 처리 속도 및 신뢰성은 더욱 향상되었다. 


ⓒ다중타스킹은 한 사용자가 동시에 여러개 프로세스를 병행하여 실행할 수 있는 시스템이다.

*프로레스 : 실행 중인 프로그램 OR TASK 라고도 불림


⑤ 시분할 시스템의 개념

시분할 시스템 : 일괄처리에서의 긴 사용자 대기시간을 줄이기 위해 개발된 기법. CPU를 일정한 시간 단위로 한 사용자에서 다음 사용자로 신속하게 전환함. 이를 위해 신불한 운영체제는 라운드 로빈이라는 CPU 스케줄링 기법을 사용하여 한 프로세스가 CPU를 독점하는 것을 방지한다.

여러 사용자가 동시에 입출력 장치나 파일 등을 공유하므로 이들에 대한 보호와 접근제어 기능 중요


⑥ 실시간 시스템의 사용 환경, 목적

ⓐ 실시간 시스템 : 컴퓨터 시스템의 외부의 제어 대상으로부터 입력되는 데이터를 짧은 시간, 또는 특정한 제한 시간내에 처리해서 그 결과를 출력하거나 요구에 응답해야 하는 환경에서 사용


ⓑ 주요 목적 : 입력된 데이터를 제한 시간 내에 처리하여 신속한 응답시간을 제공하는 것


⑦ 분산처리시스템의 네트워크 운영체제의 구조 2가지

ⓐ 네트워크 운영체제

- 기존의 운영체제 위에 네트워크 기능을 추가한 것. 특정 컴퓨터를 사용자가 알아야 되며 원격 컴퓨터에 접속하거나 원격 컴퓨터로부터 원격 자원들에 접근 가능


ⓑ 분산 운영체제

- 사용자들이 네트워크에 연결된 특정 컴퓨터들을 알지 못하더라도 원격 자원들을 자체의 지역 자원인 것처럼 이용할 수 있도록 한 것. 지역적으로 분산되어 있는 컴퓨터 시스템에 효율적인 제어 기능을 제공, 통합된 방법으론 시스템 자원들을 이용할 수 있다.


⑧ 프로세스 정의

프로세스란 *프로그램이 그 기능을 수행하기 위한 CPU 및 다른 컴퓨터 자원을 요구하고 할당받아 활동상태에 있는 것을 말한다.(태스크라고 불림) 실행 중인 프로그램의 한 실체

*프로그램 : 디스크에 저장된 파일과 같이 비활동 상태에 있는 파일


⑨ 프로세스 준비 / 대기 / 실행 상태변화

ⓐ 준비 상태 : 요청했던 입출력의 완료와 같이 기다리던 사건이 만족되면 대기 상태에 있던 프로세스는 준비 상태로 변환. 준비 상태에 있는 프로세스들을 현재 실행 중인 프로세스가 CPU를 반환할 때 CPU를 할당 받을 수 있는 대상 후보가 된다.


ⓑ 실행 상태 : 프로세스가 CPU를 할당받아 실제로 명령어들을 수행하고 있을 때를 실행상태라고 한다.


ⓒ 대기 상태 : 프로세스가 실행을 계속하기 위해 어떤 사건이 일어나거나 어떤 조건이 만족되어야 한다면 그 프로세스는 대기 상태로 전환된다.


⑩ 프로세스 제어 블록 정의(PCB)

프로세스 제어 블록 

- 운영체제는 각 프로세스의 상태정보를 PCB라는 자료구조에 저장한다. 

PCB는 프로세스가 처음 생성될 때 만들어지고 그 프로세스가 종료되면 삭제되며, 그 프로세스에 대한 기본적인 관리 정보가 들어있다.


⑪ 프로세스 스케줄링 정책의 평가 기준 6가지

① 처리량의 최대화 : 주어진 시간동안 가능한 많은 작업을 처리해야 한다.


② 응답 시간의 최소화 : 대화식 작업 요청에 대해서는 빠른 처리결과를 보내야 한다.


③ 작업 완료시간의 최소화 : 전체 작업의 제출에서부터 종료까지 걸리는 시간을 가능한 한 최소화해야 한다.


④ 대기 시간의 최소화 : 모든 프로세스들이 준비 상태에서 기다리는 시간을 가능한 한 최소화해야 한다.


⑤ CPU 효율의 최대화 : 가능한 CPU가 바쁘도록 일하도록 프로세를 할당해야 한다.


⑥ 공평성 : 가능한 모든 사용자들이 공평하게 시스템 자원을 사용할 수 있도록 해야한다.


⑫ 비선점형 스케줄링 개념

비선점형 스케줄링

- 한 프로세스가 CPU를 할당받아 실행이 시작되면 그 프로세스가 다른 자원을 요청하거나 실행이 종료되어 스스로 CPU를 반환하지 않는 한 실행상태를 유지하게 하는 기법


⑬ 선점형 스케줄링 개념

선점형 스케줄링

- CPU를 사용하여 실행 중인 프로세스에게서 강제로 CPU를 빼앗아 다른 프로세스에게 넘겨는 기법


⑭ FCFS 스케줄링 , SJF 스케줄링, RR 스케줄링의 개념

ⓐ FCFS 스케줄링(선착순 처리)

- 프로세스들이 준비 상태에 도착한 시간에 선착순으로 CPU를 할당해주는 기법, 바선점 스케줄링 기법이다.


ⓑ SJF 스케줄링(최단 작업 우선)

- CPU 시간 요구량이 가장 짧은 프로세스에게 먼저 CPU를 할당해주는 비선점 스케줄링 기법이다. 그러나 준비 상태에 있는 각 프로세스의 CPU 요구시간을 미리 알아야 한다는 단점이 있다.


ⓒ RR 스케줄링(라운드 로빈)

- 선점형 기법으로 시분활시스템에서 가장 널리 사용되고 있는데 구현하기 쉬우며 미리 정해진 시간 할당량에 따라 공평하고 어는 프로세스도 독점하지 않게 CPU를 할당해주기 때문이다.



- 끝 -

반응형