공부

운영체제 기능, 목적, 성능까지 한번에 정리하기

굴러다니다니 2023. 3. 13. 17:49
728x90

운영체제란? = Operating System (OS)

컴퓨터 시스템의 자원들을 보다 효율적으로 운영, 관리하여 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있게끔 하는

시스템 소프트웨어이다.

 

*자원?

  프로그램 실행에 필요한 요소들 (프로세서, 메모리 등)

  운영체제는 하드웨어적 자원들과 소프트웨어적 자원들을 모두 관리가 가능하다.

 

운영체제의 위치

하드웨어 바로 다음 단계에 설치되는 소프트웨어이며, 사용자의 입출력이나 응용 프로그램과의 상호작용을 가능하도록 한다.

중요하다고 말해서 없으면 컴퓨터 사용이 불가한 것은 아니다. 운영체제가 존재하지 않아도 컴퓨터 사용은 가능하다.

다만 사용자의 편의를 위해 만들어둔 인터페이스 기능도 운영체제가 관리하여, 운영체제가 없다면 모든 활동을 커맨드로 적어야 한다. 호호

 

운영체제의 기능

크게 두가지 기능을 하며, 자원관리와 시스템관리로 나눌 수 있다.

 

자원관리에서 관리할 하드웨어 자원들은 CPU와 GPU / 메모리 (주기억장치 + 보조기억장치) / 입출력장치들이 있으며,  중요한 비중을 가진 것은 메모리 적재와 CPU 할당이다.

시스템 관리란 시스템 보호, 네트워크, 명령 해석기의 내용을 포함하고 있다.

 

커널 영역과 사용자 영역

운영체제는 다른 응용프로그램들과 다른 위치의 메모리에 저장되어 있다.

운영체제도 소프트웨어인 만큼 실행을 하기 위해서는 내용과 명령등을 담은 메모리에 존재해야 하는데, 운영체제는 항시 필요하고 삭제하는 과정이 불필요 한 만큼 커널 영역에 존재한다.

나머지 응용 프로그램들은 사용자 영역에 위치한다.

 

프로그램을 실행하기 위해서는 메모리에 적재를 시켜 둔 다음 컴퓨터에 하나뿐인 CPU의 할당을 받아야 한다.

어디에 누구를 위치시켜두고, 누구를 우선시해서 언제 CPU를 줄지 모두 운영체제가 결정한다.

=> 메모리 적재 및 CPU 할당

기타로 자원 보호, 인터페이스 제공 등의 여러 기능들도 운영체제가 맡아서 하고 있다.

 

운영체제의 기능

CPU 할당

CPU 할당

컴퓨터에 하나 존재하는 CPU를 할당시켜줘야 프로그램을 실행할 수 있는데, 그러면 누구한테 얼마나 할당시켜줄까?

이는 운영체제가 매커니즘을 통해 결정하며 더 중요하다고 생각하는 프로그램에게 우선순위를 준다.

그림의 경우 어떠한 매커니즘을 통해 게임을 더 중요시 여겨 게임에 CPU할당을 먼저 해 주었으며, 그 이후에 인터넷 익스플로러에게 CPU할당을 해주기로 결정한 예시이다.

운영체제가 할당시켜주는 우선순위를 정하는 방법은 CPU 스케줄링으로 용어가 있다.

흔히 선입선출인 FCFS(First Come First Service), 라운드 로빈, 우선순위(Priority) 등이 있다.

 

메모리 자원 관리

프로그램 실행을 위해서는 메모리에 적재되어야 한다고 했다.

하지만 메모리는 한정된 공간으로 정해져있으며, 이를 효율적으로 배치해야 보다 많은 프로그램들을 적재할 수 있으며, 이에 대한 결정도 운영체제가 내려준다.

메모장, 게임, 인터넷을 실행하고 있다고 하자.

그러던 중 게임 실행을 종료시키고 싶어져, 게임이 차지하고있는 메모리 부분을 운영체제가 삭제한 후, 계산기 실행을 위해 남은 자리를 계산해 적절히 계산기를 적재시켰다.

그림에 보면 흰색 남는 메모리들이 있는데, 이보다 큰 프로그램이 있으면 실행을 못 하는 것일까?

그것또한 매커니즘이 따로 있으며, 매커니즘에 따라 어떻게 쪼개서 넣을지, 기다렸다가 넣을지 등을 결정할 수 있다.

이는 메모리 관리 용어를 따로 찾아보면 더 자세하게 나오며, 쪼개서 넣는 과정은 단편화라고 한다.

 

마지막으로 운영체제의 성능 평가 척도를 살펴보자.

반환시간 (Turnaround Time): 작업 이후 시스템에서 결과가 얻어질 때까지의 시간

처리량 (Throughput): 일정 시간동안 처리하는 일의 양, 곧 생산성의 단위

이용가능도 (Availability): 시스템을 얼마나 빠르게 사용할 수 있는지

신뢰도 (Reliability): 주어진 문제를 얼마나 정확하게 처리하는지

한정된 자원을 이용하며 효율적인 관리를 하여야 하기 때문에 위의 4가지를 모두 균형잡으며 좋은 성능을 보인다면 그것이 좋은 운영체제라고 말할 수 있을 것이다.

728x90