운영체제 - 1. 운영체제 소개

WooHyeong·2022년 10월 12일
0

OS(Operating System)

목록 보기
1/7

운영체제의 정의

운영체제 : 컴퓨터 하드웨어 바로 윗단에 설치되는 소프트웨어
사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층이다.

운영체제가 없는 컴퓨터는 고철 덩어리에 불과하다. 사용자 입장에서 하드웨어를 다루기 쉽지 않으므로, 운영체제를 탑재해 손쉽게 사용할 수 있다.

운영체제도 하나의 소프트웨어로서 전원이 켜짐과 동시에 메모리에 올라간다. 하지만 운영체제처럼 규모가 큰 프로그램이 모두 메모리에 올라가면 메모리 공간 낭비가 심하다. 따라서 필요한 부분만을 메모리에 올려놓고, 그렇지 않은 부분은 필요할 때 메모리로 올려서 사용한다.

뒤에서 배울 운영체제의 핵심 기능인 컴퓨터 시스템 내의 자원을 효율적으로 관리하는 것으로 운영체제를 자원 관리자라고 부르기도 한다. 자원이란 CPU, 메모리, 하드디스크 등 하드웨어 자원뿐 아니라 소프트웨어 자원까지를 통칭해서 부르는 말이다.

  • 커널(협의의 운영체제) = 좁은 의미의 운영체제
    : 운영체제 코드 중에서 핵심적인 부분으로 메모리에 항상 상주하는 운영체제의 부분

  • 광의의 운영체제 = 넓은 의미의 운영체제
    : 커널뿐 아니라 시스템을 위한 유틸리티들을 광범위하게 포함하는 개념

운영체제의 기능

1. 컴퓨터 시스템의 자원을 효율적으로 관리★

  • 프로세서, 기억장치, 입출력 장치 등의 효율적으로 관리
    - 사용자 간의 형평성 있는 자원 분배
    - 주어진 자원으로 최대한의 성능을 내도록
  • 사용자 및 운영체제 자신의 보호
  • 프로세스, 파일, 메세지 등을 관리

2.컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공한다★

  • 운영체제는 동시 사용자/ 프로그램들이 각각 독자적인 컴퓨터에서 수행되는 것 같은 환상을 제공
  • 하드웨어를 직접 다루는 복잡한 부분을 운영체제가 대행

3. 이외의 운영체제의 추가적인 역할

  1. 사용자 및 프로그램들 간에 자원이 형평성 있게 분배되도록 하는 균형자 역할
  2. 악의성 프로그램으로부터 사용자와 운영체제 자신을 보호하는 역할

운영체제의 분류

운영체제는 동시 작업 가능 여부, 사용자의 수, 처리 방식에 따라 분류할 수 있다.

1. 동시 작업 가능 여부

  • 단일 작업(single tasking)
    • 한번에 하나의 프로그램만 실행시킬 수 있는 운영체제
      예) MS-DOS 프롬프트 상에서는 한 명령의 수행을 끝내기 전에 다른 명령을 수행시킬 수 없음
  • 다중 작업(multi tasking)
    • 동시에 두 개 이상의 프로그램을 처리할 수 있는 운영체제
      예) UNIX, MS Windows 등에서는 한 명령의 수행이 끝나기 전에 다른 명령이나 프로그램을 수행할 수 있음

      다중 작업을 처리할 때에는 여러 프로그램이 CPU와 메모리를 공유하게 된다.

      시분할 시스템(time sharing system) : CPU의 작업시간을 여러 프로그램들이 조금씩 나누어 쓰는 시스템

      다중 프로그래밍 시스템(multi programming system) : 메모리 공간을 분할해 여러 프로그램들을 동시에 메모리에 올려놓고 처리하는 시스템

      대화형 시스템(interactive system) : 사용자 개개인의 관점에서 각 프로그램에 대한 키보드 입력의 결과를 곧바로 화면에 보여주는 시스템

2. 사용자의 수

운영체제를 분류하는 또 다른 기준으로는 다중 사용자에 대한 동시 지원 여부를 들 수 있다.

  • 단일 사용자(single user) : 한 번에 한명의 사용자만이 사용하도록 허용하는 운영체제
    ex) MS-DOS, MS Windows
  • 다중 사용자(multi user) : 여러 사용자가 동시에 접속해 사용할 수 있게 하는 운영체제
    ex) UNIX, NT server

3. 처리 방식

  • 일괄 처리(batch processing)
    • 작업 요청의 일정량 모아서 한꺼번에 처리
    • 작업이 완전 종료될 때까지 기다려야 함
      ex) 초기 Punch Card 처리 시스템
  • 시분할(time sharing)
    • 여러 작업을 수행할 때 컴퓨터 처리 능력을 일정한 시간 단위로 분할하여 사용
    • 일괄 처리 시스템에 비해 짧은 응답 시간을 가짐
      ex) UNIX
    • interactive 한 방식 ← 시분할 방식의 대표적인 특징
  • 실시간(Realtime OS)
    • 정해진 시간 안에 어떠한 일이 반드시 종료됨이 보장되어야하는 실시간 시스템을 위한 OS
      일정 시간 안에 작업이 완료되지 못할 경우에는 동작 자체가 안되거나 큰 위험을 초래할 가능성이 있는 시스템에 사용된다.

      ex) 원자로/공장 제어, 미사일 제어, 반도체 장비, 로보트 제어

      실시간 시스템은 시간 제약의 중요성에 따라 다시 두 가지로 세분화 할 수 있다.

    • 실시간 시스템의 개념 확장

      • Hard realtime system (경성 실시간 시스템) : 주어진 시간을 지키지 못할 경우 매우 위험한 결과를 초래할 가능성이 있는 로켓, 원자로 제어 시스템 등을 말한다.
      • Soft realtime system (연성 실시간 시스템) : 멀티미디어 스트리밍 시스템과 같이 데이터가 정해진 시간 단위로 전달되어야 올바른 기능을 수행할 수 있는 시스템을 말한다.

본 포스팅은 이화여대 반효경교수님 운영체제 강의를 바탕으로 작성하였습니다.

profile
화이링~!

0개의 댓글