Os의 역할
사용자가 응용 프로그램을 실행할 수 있는 기반 환경을 제공하여 컴퓨터를 편리하게 사용할 수 있도록 도와주고, 하드웨어를 효율적으로 사용할 수 있도록 다양한 기능을 제공하는 소프트웨어이다.
컴퓨터 자원을 관리하는 면에서 운영체제의 역할은 다음과 같다.
- 제어자(controller)
- 다른 프로그램이 작업을 할 수 있는 환경만 제공하는 컨트롤러의 역할을 한다.
- 자원 할당자 또는 관리자(resource allocator or administrator)
- 운영체제는 물리적인 자원(CPU, DRAM, Disk, Flash, Network)를 가상화 시켜서 더 공정하고 효율적으로 자원을 관리할 수 있도록 해주는 관리자 역할을 한다.
- 응용프로그램과 입출력장치 제어자
- 운영 체제는 제어 프로그램으로서 사용자 프로그램의 오류나 잘못된 자원 사용을 감시하는 것과 입출력 장치 등의 자원에 대한 연산과 제어를 관리한다.
다중 프로그래밍(MultiProgramming)
현대의 수많은 운영체제에서 하나 이상의 프로그램이 동시에 메모리에 적재된다. 프로세서는 즉시 한 프로그램으로 부터 하나의 명령만을 수행할 수 있지만, 여러개의 프로세스들은 나머지 프로세스들이 일시적으로 대기 상태에 있는 동안 각 프로세스에 CPU를 일시적으로 할당한다. 이 때 프로세스들을 동시실행(concurrent excution, 여러개의 프로그램을 하나의 컴퓨터에 실행하는 것을 뜻함)을 하기 위해 CPU 스케줄링이 필요하다.
concurrent(병행) 과 parallel(병렬) 은다르다. concurrent(병행)은 하나의 CPU 를 다수의 프로세스가 시간을 나누어 사용하는 것이지만, parallel (병렬) 은 다수의 CPU 에서 다수의 프로세스들이 동시에 실행 하는것을 말한다.
[참고문헌]
- operating system three easy piece
'수업정리 > 운영체제' 카테고리의 다른 글
Dead lock(교착상태) (0) | 2022.01.31 |
---|---|
[OS]Process란? (0) | 2021.11.05 |