ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [운영체제] 1.운영 체제 개요
    OS 2020. 2. 20. 16:41

    1. 운영 체제 정의

    • HW 바로 윗 단에 설치되는 SW
    • 사용자SWHW를 연결하는 계층

    [컴퓨터 구조] 운영 체제의 위상

    • SW가 실행되기 위해서는 해당 프로그램이 메모리에 적재되어야 한다.
    • 하지만, 운영 체제처럼 규모가 큰 프로그램이 모두 적재되면 메모리 낭비가 심하다.
    • 따라서 항상 필요한 부분만을 전원이 켜짐과 동시에 적재,
      아닌 부분은 필요할 때 적재.
    • 이때 메모리에 상주하는 부분을 커널이라고 한다.
    • 커널은 운영 체제의 핵심적인 부분을 뜻하며, 좁은 의미로의 운영 체제라고 불림.

     

    2. 운영 체제의 기능

    [운영 체제의 역할]

    • HW 에는 시스템 내 자원 관리 역할
    • USER 에는 편리한 인터페이스 환경 제공
    • [1] 시스템 내 자원을 효율적으로 관리
      • OS가 자원 관리자라고도 불림
      • CPU, 메모리, 하드디스크 등 HW와 SW를 효율적으로 관리해 가장 좋은 성능을 내는 역할을 담당
      • 하지만, 전체 성능을 향상시키려다 일부 프로그램 혹은 사용자가 불이익을 당할 수 있다.
        따라서 형평성 있게 분배하는 균형자 역할도 담당
      • 효율성이 가장 큰 목표이지만 이로 인해 일부가 지나치게 희생되지 않게 하는 형평성 또한 OS가 고려해야 할 목표

     

    • [2] 편리한 환경 제공
      • 운영 체제가 동시 사용자 및 프로그램들에게 독자적으로 컴퓨터를 사용하는 것과 같은 환상을 제공

     

    • [3] 자기 자신과 사용자를 보호하는 역할
      • 악의성 프로그램이 운영 체제가 올라가 있는 메모리 영역을 침범하는 경우 치명적일 수 있다.
      • 따라서, OS는 보안 및 보호 기능을 수행

     

    3. 운영 체제의 기능

    • 동시 작업을 지원하는지의 여부에 따라 단일 작업다중 작업으로 나눌 수 있다.
    • 단일 작업용 OS는 한 번에 하나의 프로그램만 수행 가능

    [다중 작업의 분류]

      1. 시분활 시스템

    [시분활 시스템]

    • 짧은 시간 규모로 여러 프로그램이 번갈아 수행
    • CPU의 작업 시간을 여러 프로그램들이 조금씩 나누어 쓰는 시스템
    • 사용자 입장에서는 여러 프로그램이 동시에 수행되는 것처럼 보임

     

     2. 다중 프로그래밍 시스템

    [다중 프로그래밍 시스템]

    • CPU와 달리 메모리는 여러 프로그램들이 조금씩 메모리 공간을 보유하며 동시에 메모리에 올라갈 수 있다.
    • 메모리 공간을 분활해 동시에 여러 프로그램을 메모리에 올려놓고 처리하는 시스템

     

     3. 대화형 시스템

    [대화형 시스템]

    • 다중 작업용 OS경우 여러 프로그램을 같이 수행시키지만
      사용자 입장에서는각 키보드 입력의 결과를 곧바로 화면에 보여 주기 때문에 이러한 시스템을대화형 시스템이라고도 불림
    • 여러 명이 동시에 접속해서 사용하는 서버도 대화형 시스템에 속한다.

     

      4. 다중 처리기 시스템

    • 위의 경우는 CPU가 하나인 컴퓨터에도 해당되는 성질이다. 
    • 다중처리기 시스템이란 하나의 컴퓨터에 여러 개 CPU가 설치된 경우를 뜻한다.
    • CPU가 여럿 있는 컴퓨터는 서로 다른 CPU에서 여러 프로그램이 동시에 수행될 수 있어 처리가 빠르지만,
      OS입장에서는 여러 CPU를 관리하기 위해 더욱 복잡한 메커니즘을 필요로 한다.

    [다중 사용자의 분류]

    • 운영 체제를 분류하는 또 다른 기준은 다중 사용자의 동시 지원 여부이다.
    • 한 번에 한 명의 사용자만이 사용하도록 허용하는 운영 체제를 단일 사용자용 운영 체제라고 부른다.
    • 여러 사용자가 동시에 접속해 사용할 수 있게 하는 운영 체제를 다중 사용자용 운영 체제라고 한다.
    • 웹 서버, 메일 서버는 모두 다중 사용자용 운영 체제에 속한다.

     

    [작업 처리하는 방식에 따른 분류]

      • OS를 분류하는 또 다른 기준은 작업을 처리하는 방식이다.
      • [1] 일괄 처리(Batch Processing)
        • 작업 요청의 일정량을 모아서 한꺼번에 처리하는 방식
      • [2] 시분할 방식(Time Sharing)
        • 여러 작업을 수행할 때 컴퓨터의 처리 능력을 일정한 시간 단위로 분할해 사용
        • 사용자의 요청에 대한 결과를 즉각적으로 얻을 수 있는 시스템을 대화형 시스템이라 한다.
    • [3] 실시간(Real Time)
      • 실시간 OS는 정해진 시간 안에 어떠한 일이 반드시 종료됨이 보장되어야하는 시스템
      • 즉, 일정 시간안에 작업이 완료되지 못할 경우에는
        시스템 자체가 동작하지 않거나 큰 위험을 초래할 가능성이 있는 시스템에서 사용
      • 실시간 시스템은 시간 제약의 중요성에 따라 2가지로 세분화 가능
        • (1) 경성 실시간 시스템(Hard Realtime System)
          • 주어진 시간을 지키지 못할 경우 매우 위험한 결과를 초래할 가능성이 있는 시스템
            ex) 로켓, 원자로 제어 시스템 등
        • 2) 연성 실시간 시스템(Soft Realtime System)
          • 멀티미디어 스트리밍 시스템과 같이 데이터가 시간을 맞추어 전달되어야 올바른 기능을 수행할 수 있는 시스템
            ex) 동영상 재생이 끊기거나 정확히 전달되지 않을 경우
          • 경성 실시간 시스템처럼 위험한 결과를 초래하지는 않는다.

     

    4. 운영 체제의 역할

     

    [1] CPU 스케줄링 (SJF, RR, FCFS)

    [2] 메모리 관리 (고정 분할, 가변 분할, 가상 메모리)

    [3] 파일 관리

    [4] 입출력 관리 (I/O 컨트롤러의 인터럽트)

    [5] 프로세스 관리

     

    'OS' 카테고리의 다른 글

    [운영체제] 2. 컴퓨터 시스템의 동작 원리  (1) 2020.03.18

    댓글

Designed by black7375.