[운영체제] OS 개요

Updated: Categories:

운영체제가 뭘까?

정의

  • Operating System (OS)
  • 제한된 컴퓨터의 각종 자원을 효율적으로 관리/운영하여 사용자에게 최대의 편리성을 제공하는 시스템 소프트웨어


목적

정처기에서 봤던거

  • OS의 성능 평가엔 네 가지 기준이 존재
    • 처리능력(Throughput) : 일정 시간 내에 시스템이 처리하는 일의 양
    • 신뢰도(Reliabilty) : 시스템이 주어진 문제를 정확하게 해결하는 정도
    • 반환시간(Turn Around Time) : 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
    • 사용가능도(Availability) : 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도


역할

인터페이스

  • 하드웨어와 응용 프로그램 사이에서 인터페이스 역할
  • 추상화를 통해 복잡성을 제거 후 인터페이스 제공
  • 프로세스, 저장장치, 네트워크, 사용자 계정, 디바이스 드라이버 관리

자원 관리

  • 사용자 및 프로그램은 OS를 통해 자원을 할당, 사용함
  • 시간과 공간상에서 자원을 다중화(공유)한다.
    • 시간 다중화 : 서로 다른 프로그램 간 교대로 자원을 사용
    • 공간 다중화 : 각각 자원을 일부를 가짐

구조

image

User mode

  • 사용자는 프로그램 및 User Interface를 통해 OS에 명령을 내릴 수 있다
    • 기계의 제어에 영향을 미치거나 I/O를 수행하는 명령은 실행 불가능
  • 사용자 인터페이스 : CLI, GUI, Shell등이 있음

Kernel mode

  • OS는 모든 하드웨어 자원에 대해 완전한 접근이 가능
  • 시스템 호출 / API (User <-> Kernel) : 커널은 자원을 보호하기 위해 시스템 호출이라는 인터페이스를 가지고, 이를 통해서만 접근이 가능하다.
  • 커널 : 메모리, 프로세스, 파일 시스템, 입출력, 통신 관리 (그냥 모든 자원 관리)
  • 드라이버 (Kernel <-> HW) : 커널과 하드웨어가 통신하기 위한 인터페이스


커널 종류

단일형 구조 커널

image

  • 초창기 커널 모델, 핵심 모듈이 구분없이 통짜로 구성
    • 장점 : 모듈 간의 통신이 효율적임
    • 단점 : 모듈 간 상호의존성이 너무 높음 -> 한 모듈이 터지면 다른 모듈도 같이 터짐

계층형 구조 커널

image

  • 단일형 구조 커널의 업그레이드 버전, 비슷한 기능의 모듈을 묶어서 계층형으로 분리하여 통신함
    • 장점 : 오류 처리가 쉬움
    • 단점 : 계층 하나에 문제 생기면 위아래가 문제생김

마이크로 커널

image

  • 기존의 커널 영역에 있는 모듈을 사용자 영역으로 빼버리면서 커널을 간소화
    • 장점 : 모듈이 독립적이므로 안정적임. 이식성이 좋음 (임베디드 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