OS

Nahyeon.In·2024년 5월 30일

운영체제란?

컴퓨터 하드웨어 바로 윗단에 설치되는 Software

컴퓨터 하드웨어와 각종 소프트웨어, 사용자를 연결해주는 계층

✅ 좁은 의미의 운영체제 (커널)

컴퓨터 전원을 킨 후 부팅이 일어난 이후로 항상 메모리에 상주하는 부분

✅ 넓은 의미의 운영체제 (커널)

커널을 포함해서 각종 주변 시스템을 다루는 유틸리티를 포함한 개념

ex) Windows 를 설치 할 때, 파일을 복사하고 삭제하는 별도의 프로그램


운영체제의 목적

  1. 하드웨어를 효율적으로 관리하는 역할 → 자원을 효율적으로 관리

    ✅ CPU, Memory, I/O device 등의 리소스를 효율적으로 관리

    • 주어진 자원으로 최대한 성능을 내도록 한다
    • 사용자간의 형평성 있는 자원 분배

    → 효율성과 형평성 고려

    ✅ process, file, message 등의 software 자원 역시 관리

  2. 사용자가 컴퓨터 시스템을 편리하게 사용하도록 하는 환경을 제공하는 역할

    • 운영체제가 동시 사용자/프로그램들이 각각 독자적 컴퓨터에서 수행되는 것 같은 환경을 제공해준다.


운영 체제의 분류

▪️ 동시 작업 가능 여부

  1. single tasking (단일 작업)

    한 번에 하나의 작업만 처리

  2. multi tasking (다중 작업)

    동시에 두 개 이상의 작업 처리

▪️ 사용자의 수 - 기준: 하나의 컴퓨터를 여러 사용자가 동시에 접속해서 쓸 수 있는지

  1. Single user (단일 사용자)
  2. Multi user (다중 사용자)

▪️ 처리 방식

  1. Batch processing (일괄 처리)

    작업 요청의 일정량을 모아서 한꺼번에 처리

    현대의 운영체제에서는 찾아보기 어렵다

  2. Time sharing (시분할)

    여러 작업이 동시에 실행이 되지만, 운영체제가 작은 시간 단위로 나누어서 사용자들에게 CPU 를 할당해준다.

    Interactive한 방식

    But, deadline 이 있고 정확한 시간을 지켜 작업을 완료 시켜주는 시스템은 아니다.

    범용 시스템, 컴퓨터에서 사용

  3. Realtime OS (실시간)

    deadline 이 있고 정해진 시간 안에 어떠한 일이 반드시 종료되는 것이 보장되어야 하는 시스템

    특수한 목적을 가진 시스템에서 사용.

  4. 실시간 시스템의 개념 확장

    Hard realtime system (반도체 공장, 미사일 …)

    Soft realtime system (멀티미디어 플레이 …)


Multitasking

→ CPU에서는 매시간 마다 하나의 작업만 실행되지만, 짧은 시간 간격으로 분할하여 할당을 하기 때문에 동시에 실행되는 것처럼 보인다.

MultiProgramming

→ 메모리에 여러 프로그램이 동시에 올라가는 것을 강조한 표현. Mulitasking이 되려면 Multiprogramming이 되어야 한다.

Time sharing

→ CPU 를 강조한 표현

Multiprocess

➡️ 위의 4가지 용어는 유사한 용어로 사용된다.

Multiprocessor

→ 하나의 컴퓨터에 여러 CPU(processor)가 붙어 있음을 의미. 하드웨어적으로 다른 시스템.


운영체제의 구조

 아래의 자원을 효율적으로 관리하는 것이 OS 역할

  1. CPU

    어떤 프로그램에게 CPU 를 할당할 것인지 → CPU scheduling

  2. 메모리

    한정된 메모리를 분배하는 이슈 → 메모리 관리

  3. 디스크

    디스크에 파일 보관 이슈 → 파일 관리

    디스크에도 scheduling이 필요.

    → head 의 움직임을 최소한으로 하면서 동시에 많은 요청을 빨리 처리할 수 있는지

    ( CPU 는 너무 빨라서 어떻게 관리할 것인지에 대한 이슈 )

  4. I/O device

    느린 I/O device와 빠른 memory, CPU 와 어떻게 정보를 주고 받게 할지에 대한 이슈 → 입출력 관리

0개의 댓글