본문 바로가기
CS/Operating System

[OS] 운영체제 개요

by 안녕나는현서 2021. 11. 2.
728x90

운영체제 (Operating System)

  • 일반 컴퓨터나 노트북의 전원을 켜면 가장 먼저 만나게 되는 소프트웨어
  • 사용자에게 편리한 인터페이스 환경을 제공하고 컴퓨터 시스템의 자원을 효율적으로 관리하는 소프트웨어
  • 하드웨어 전체를 관리하는 소프트웨어

 

- 운영체제 종류

  • 컴퓨터용 운영체제
    • 개인용 : 윈도우, Mac OS
    • 대형 컴퓨터 : 유닉스, 리눅스
  • 모바일 운영체제 : iOS, 안드로이드
  • 임베디드 운영체제 : CPU의 성능이 낮고 메모리 크기도 작은 시스템에 내장하도록 만든 운영체제

 

 

운영체제의 역할

- 자원관리

  • 컴퓨터 자원 (computer resource) : 컴퓨터에 부착된 모든 장치
  • 운영체제는 자원을 적절히 응용 프로그램에게 배분/회수하여 사용자가 원활히 작업할 수 있도록 도움

 

- 자원 보호

  • 비정상적인 작업으로부터 컴퓨터 자원 보호

 

- 하드웨어 인터페이스 제공

  • 인터페이스 (interface) : 사용자가 컴퓨터를 사용할 수 있도록 해주고 그 결과를 알려주는 것
  • 드라이버 : 하드웨어 장치와 상호작용하기 위해 만들어진 컴퓨터 프로그램
    • = 장치 드라이버, 디바이스 드라이버, 장치 제어기, 소프트웨어 드라이버
  • 운영체제는 하드웨어 인터페이스(=드라이버)가 자동으로 설치되게 하여 CPU, 메모리, 키보드, 마우스 등 하드웨어의 종류에 상관없이 사용할 수 있게 해줌

 

- 사용자 인터페이스 제공

  • 사용자가 운영체제를 편리하게 사용하도록 지원하기 위한 것
  • GUI 환경에서 마우스, 터치스크린 적용하여 터치 기능 제공 등

 

 

운영체제의 목표

- 효율성

  • 자원을 효율적으로 관리하는 것
  • 적은 자원을 사용하여 결과를 더 빨리 보여주는 것
  • 운영체제의 크기를 최소화하고 운영체제가 사용하는 코드를 최적화해야함

 

- 안정성

  • 사용자와 응용 프로그램의 안전 문제와 하드웨어적인 보안 문제를 처리할 수 있어야 함
  • 결함 포용 (fault tolerant) : 시스템에 문제가 발생했을 때 이전으로 복구하는 기능

 

- 확장성

  • 다양한 시스템 자원을 추가하거나 제거하기 편리해야 함
  • 플러그 앤드 플레이 (plug & play) : 하드웨어의 종류에 상관없이 꽂으면 바로 실행

 

- 편리성

  • 사용자가 편리하게 작업할 수 있는 환경 제공
  • 응용 프로그램과 사용자에게 다양한 편리성을 제공하면서 자원의 낭비 요소를 막아야 함

 

 

그 밖의 관련 용어

  • 일괄 작업/처리 시스템 (batch job/processing system)
    : 모든 작업을 한꺼번에 처리하고 프로그램 실행 중간에 사용자가 데이터를 입력하거나 수정할 수 없는 시스템
  • 대화형 시스템 (interactive system)
    : 프로그램 진행 도중 사용자로부터 입력받거나 중간 결과값을 사용자에게 보여줄 수 있는 시스템

 

  • 시분할 시스템 (time sharing system)
    : 여러 작업을 조금씩 처리하여 작업이 동시에 이루어지는 것처럼 보이는 시스템
  • 실시간 시스템 (real-time system)
    : 일정 시간 안에 작업이 처리되도록 보장하는 시스템

 

  • 분산 시스템 (distributed system)
    : 네트워크 상에 분산되어 있는 여러 컴퓨터로 작업을 처리하고 그 결과를 상호 교환하도록 구성한 시스템,
      시스템에 참가하는 모든 컴퓨터가 동일한 지위이기 때문에 작업을 분배하고 결과를 모으기 쉽지 않다는 단점
  • 클라이언트/서버 시스템 (client/server system)
    : 분산 시스템의 단점을 해결한 기술,
      작업을 요청하는 클라이언트와 거기에 응답하여 요청받은 작업을 처리하는 서버의 이중구조, 서버 과부화 단점
  • P2P 시스템 (Peer-to-Peer system)
    : 서버의 부하를 줄일 수 있는 시스템,
    peer(말단 노드, 사용자의 컴퓨터) 간에 서버를 거치지 않고 직접 연결, 예시 - 블록 체인 (block chain)

 

 

728x90

'CS > Operating System' 카테고리의 다른 글

[OS] 프로세스 간 통신  (0) 2021.12.05
[OS]CPU 스케줄링 알고리즘  (0) 2021.12.02
[OS] CPU 스케줄링  (0) 2021.12.02
[OS] 스레드  (0) 2021.11.02
[OS] 프로세스  (0) 2021.11.02

댓글