컴퓨터시스템
현대 컴퓨터 시스템은 크게 4가지로 구분될 수 있다.
맨 아래에 있는 CPU, 메모리와 같은 하드웨어는 기본적인 컴퓨팅 자원들을 제공해준다. 메모리, 파워, 연산 능력 등이 자원에 해당된다.
그 위에는 OS와 애플리케이션, 유저가 있다.
하드웨어와 애플리케이션 중간에 있는 OS는 애플리케이션의 하드웨어 사용을 제어한다.
즉, 운영체제는 애플리케이션이 잘 돌아갈 수 있는 환경을 제공해준다.
운영 체제
운영체제는 정확하게 무엇이라고 정의내리기는 어렵다. 운영체제의 종류도 여러가지이고 사용되는 곳도 많기 때문이다.
그래서 단순하게 표현하자면 운영체제는
사용자와 하드웨어 사이 중개자
라고 표현할 수 있다. 즉, 사용자가 쉽게 시스템을 사용하도록 도와주고 시스템의 성능을 좋게하는 역할을 한다.
* 커널 : 좁은의미의 운영체제. 운영체제의 핵심. 컴퓨터에서 항상 실행되는 프로그램.
운영체제가 하는 일
일반 사용자가 하드웨어를 다루기란 어려운 일이다. 만약 프로그램 하나를 실행하기 위해 사용 메모리를 설정하고, 스케줄링을 짜는 것은 너무나도 어려운 일이다. 그래서, 이러한 일들을 모두 운영체제가 책임진다. 즉, 운영체제는 하드웨어와 사용자 사이의 차이를 매꿔주는 역할을 한다.
운영체제가 하는 일을 몇가지 정리하자면 아래와 같다.
- 프로세스 관리
운영체제에서 작동하는 응용 프로그램을 관리하는 기능이다. 프로세서(CPU) 관리하는 것이라고 볼 수도 있다. 프로세스가 어떤 자원을 사용할지, 어떤 순서로 실행 될지 등을 결정한다. - 저장장치 관리
컴퓨터에는 HDD,SDD와 같은 보조기억장치와 RAM과 같은 주 기억장치가 있다. 흔히 메모리라 표현하는 주 기억장치는 용량이 제한되어 있다.그래서 페이징 과 같은 방법을 사용해서 메모리를 관리한다.
이외에도 파일시스템을 구현하고 인터페이스를 제공해준다. - 네트워킹
주로 이용하는 TCP, UDP같은 프로토콜은 운영체제에서 지원해줘야 사용할 수 있다. - 사용자 관리
운영체제는 한 사람이 쓰는 것이 아닐 수 도 있다. 특히, 보안 관련 기능을 제공하는 보안 모델은 사용자 계정에 기반을 두고 있다. - 디바이스 드라이버
운영체제는 결국 하드웨어를 다뤄야 한다. 디바이스 드라이버는 운영체제에 디바이스에 대한 인터페이스를 제공해주는 소프트웨어이다. 운영체제는 이러한 디바이스 드라이버들을 관리한다. - 오류 탐지
운영체제는 최대한 모든 오류를 감지하고 탐지할 수 있어야 한다. CPU, 메모리, 애플리케이션 등에서 일어나는 오류를 감지하고 조치한다. 상황에 따라 조치가 없을 수 도 있다. - 자원 할당
여러 프로세스가 실행 될 때, 프로세스 각각에 자원을 할당해준다. 이 때 최대한 효율적으로 할당해 준다. - 로깅/보안/보호/통신 등등
운영체제 성능
처리능력(Throughput) : 일정 시간 내에 시스템이 처리하는 일의 양
반환시간(Turn Around Time) : 시스템에 작업을 의뢰한 시간부터 처리가 완료될 떄까지 걸린 시간
사용가능도(Availability) : 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도
신뢰도(Reliabilty) : 시스템이 주어진 문제를 정확하게 해결하는 정도
위 4가지 및 여러가지 척도에 의해 운영체제 성능이 평가된다.
참고
https://github.com/Songwonseok/CS-Study/blob/main/OS/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C%EB%9E%80.md
'Operating System' 카테고리의 다른 글
CPU 스케줄링 - 싱글코어 (0) | 2022.06.29 |
---|---|
멀티 프로그래밍 & 멀티 프로세싱 & 멀티 스레딩 (0) | 2022.06.26 |
프로세스와 스레드 (0) | 2022.06.26 |