[운영체제] OS 개요
Updated: Categories: CS운영체제가 뭘까?
정의
- Operating System (OS)
- 제한된 컴퓨터의 각종 자원을 효율적으로 관리/운영하여 사용자에게 최대의 편리성을 제공하는 시스템 소프트웨어
목적
정처기에서 봤던거
- OS의 성능 평가엔 네 가지 기준이 존재
- 처리능력(Throughput) : 일정 시간 내에 시스템이 처리하는 일의 양
- 신뢰도(Reliabilty) : 시스템이 주어진 문제를 정확하게 해결하는 정도
- 반환시간(Turn Around Time) : 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
- 사용가능도(Availability) : 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도
역할
인터페이스
- 하드웨어와 응용 프로그램 사이에서 인터페이스 역할
- 추상화를 통해 복잡성을 제거 후 인터페이스 제공
- 프로세스, 저장장치, 네트워크, 사용자 계정, 디바이스 드라이버 관리
자원 관리
- 사용자 및 프로그램은 OS를 통해 자원을 할당, 사용함
- 시간과 공간상에서 자원을 다중화(공유)한다.
- 시간 다중화 : 서로 다른 프로그램 간 교대로 자원을 사용
- 공간 다중화 : 각각 자원을 일부를 가짐
구조
User mode
- 사용자는 프로그램 및 User Interface를 통해 OS에 명령을 내릴 수 있다
- 기계의 제어에 영향을 미치거나 I/O를 수행하는 명령은 실행 불가능
- 사용자 인터페이스 : CLI, GUI, Shell등이 있음
Kernel mode
- OS는 모든 하드웨어 자원에 대해 완전한 접근이 가능
- 시스템 호출 / API (User <-> Kernel) : 커널은 자원을 보호하기 위해 시스템 호출이라는 인터페이스를 가지고, 이를 통해서만 접근이 가능하다.
- 커널 : 메모리, 프로세스, 파일 시스템, 입출력, 통신 관리 (그냥 모든 자원 관리)
- 드라이버 (Kernel <-> HW) : 커널과 하드웨어가 통신하기 위한 인터페이스
커널 종류
단일형 구조 커널
- 초창기 커널 모델, 핵심 모듈이 구분없이 통짜로 구성
- 장점 : 모듈 간의 통신이 효율적임
- 단점 : 모듈 간 상호의존성이 너무 높음 -> 한 모듈이 터지면 다른 모듈도 같이 터짐
계층형 구조 커널
- 단일형 구조 커널의 업그레이드 버전, 비슷한 기능의 모듈을 묶어서 계층형으로 분리하여 통신함
- 장점 : 오류 처리가 쉬움
- 단점 : 계층 하나에 문제 생기면 위아래가 문제생김
마이크로 커널
- 기존의 커널 영역에 있는 모듈을 사용자 영역으로 빼버리면서 커널을 간소화
- 장점 : 모듈이 독립적이므로 안정적임. 이식성이 좋음 (임베디드 good)
- 단점 : 통신을 많이해야해서 성능 저하
참고링크
- https://velog.io/@codemcd/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9COS-1.-%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C%EB%9E%80
- https://math-coding.tistory.com/80