본문 바로가기

CS 공부/운영체제

📍운영체제란📍

운영체제(Operation System, OS)란⁉️


운영체제

사용자가 컴퓨터를 동작하는데 있어서 위의 그림과 같이, 하드웨어-운영체제-유틸리티-응용프로그램-사용자 로 이루어 진다. 여기서 운영체제란 컴퓨터 사용자와 하드웨어 사이의 인터페이스 역할을 하는 시스템 소프트웨어의 일종으로 응용프로그램들이 유용한 작업을 할 수 있는 환경을 제공해준다.

즉, 운영체제란

  • 컴퓨터시스템의 자원을 효율적으로 관리하고
  • 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는

여러 프로그램의 모임이다.


운영체제의 목적

운영체제는 효과적인 자원 관리를 위해

  • 처리시간 향상 : 일정시간 내에 시스템이 처리하는 양
  • 사용 가능도 향상 : 시스템을 사용할 필요가 있을 때 즉시 사용가능한 정도
  • 신뢰도 향상 : 시스템이 주어진 문제를 정확하게 해결하는 정도
  • 반환시간 단축 : 시스템에 작업을 요청한 시간부터 처리가 완료될 때까지 걸린시간

위 4가지를 목적으로 하며, 이는 운영체제의 성능 평가 기준이 된다.


운영체제의 역할

  1. 프로세스관리
    : 운영체제에서 작동하는 응용프로그램을 관리
    → CPU관리
    : 현재 점유해야할 프로세스를 결정하고 CPU를 프로세스에 할당한다. 프로세스간 공유자원 접근과 통신등을 관리하는 역할을 수행한다
    • 프로세스, 쓰레드
    • 스케줄링
    • 동기화
      :Race Condition을 막기위해 프로세스간 실행순서를 정해주는 매커니즘
    • IPC 통신
      : IPC = inter process communication(프로세스간 통신) - 프로세스들 사이에 서로 데이터를 주고받는 행위 혹은 그에대한 방법이나 경로( 종류로는 PIPE, 메세지 큐, 소켓, 공유 메모리, 메모리 맵 등이 존재)
  2. 저장장치 관리
    • 1차 메모리 : 메인메모리
    • 2차 메모리 : 하드디스크,NAND등을 관리
  3. 네트워킹
    : TCP/IP와 같은 기반의 네트워크에 연결하거나 응용프로그램이 네트워크를 사용하는 경우 운영체제에서 네트워크 프로토콜을 지원해 주어야 한다. 이처럼 운영체제는 컴퓨터 하드웨어와 사용자 사이에서 응용 프로그램과 하드웨어를 운영 및 관리하는 역할을 수행한다.

  4. 사용자 관리
    : 컴퓨터는 여러명의 사용자가 사용할 수 있다. 이에 따라 운영체제는 각 계정을 관리 할 수 있는 기능을 필요로 한다. 사용자 별로 접근할 수 있는 파일이 다르게 하는 등 파일이나 시스템 자원에 접근 권한을 지정할 수 있도록 지원하는 것이 사용자 관리이다.

  5. 디바이스 드라이버
    : 시스템에는 여러 하드웨어가 붙어있는데, 이들을 운영체제에서 인식하고 관리하게 만들어 응용 프로그램이 하드웨어를 사용할 수 있게 만들어야 한다.
    따라서, 운영체제 안에 하드웨어를 추상화 해주는 계층이 필요하다. 이 계층이 바로 디바이스 드라이버라고 불린다. 하드웨어의 종류가 많은 만큼, 운영체제 내부의 디바이스 드라이버도 많이 존재한다.
    이러한 수많은 디바이스 드라이버들을 관리하는 기능 또한 운영체제가 맡고 있다.

운영체제의 종류

운영체제의 종류로는 window, macOS, Linux, Unix등이 존재한다.

 

 

질문이나 궁금하신점 또는 제가 잘못 알고있는 정보는 댓글 부탁드립니다😊

Reference

tech-interview-for-developer/Operation System.md at master · gyoogle/tech-interview-for-developer

[OS] 운영체제란 무엇인가?