ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [OS] 운영체제 정의, 기능, 분류, 구조
    Computer Science/OS 2022. 12. 27. 00:34

    http://www.kocw.net/home/cview.do?lid=af8e05c97c6d60de

     

    운영체제

    운영체제는 컴퓨터 하드웨어 바로 위에 설치되는 소프트웨어 계층으로서 모든 컴퓨터 시스템의 필수적인 부분이다. 본 강좌에서는 이와 같은 운영체제의 개념과 역할, 운영체제를 구성하는 각

    www.kocw.net

     

    Introduction to Operating Systems

     

    운영체제란 무엇인가, 운영체제의 목적, 운영체제의 분류, 운영체제의 예, 운영체제의 구조


    운영체제의 정의

    • 컴퓨터 하드웨어 바로 윗단에 설치되는 소프트웨어를 의미한다.
    • 하드웨어 위에 기본적으로 운영체제를 탑재하여 전원을 켰을 때, 손쉽게 사용할 수 있는 상태가 되도록 하는 것
    • 커널
      • 메모리에 상주하는 운영체제의 부분
      • 운영체제 코드 중에서도 가장 핵심적인 부분

    운영체제의 기능

    • 컴퓨터 시스템의 자원을 효율적으로 관리
    • 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공해주는 것

    운영체제의 분류

    1. 동시 작업 가능 여부
      • 단일 작업(single tasking) : 한번에 하나 작업
      • 다중 작업(multi tasking) : 동시에 두 개 이상
    2. 사용자의 수
      • 단일 사용자용 운영체제
      • 다중 사용자용 운영체제
    3. 처리방식
      • 일괄 처리(batch processing)
      • 시분할 방식
        • 여러 작업을 수행할 때 컴퓨터의 처리 능력을 일정한 시간 단위로 분할하여 사용하는 방식
        • 대화형 시스템: 사용자의 요청에 대한 결과를 곧바로 얻을 수 있는 시스템
      • 실시간 운영체제(real time): 정해진 시간안에 어떠한 일이 반드시 처리됨을 보장해야하는 시스템에서 사용 ex) 원자로, 공장 제어 시스템, 미사일 제어 시스템
        • 경성 실시간 시스템(hard realtime system) : 주어진 시간을 지키지 못할 경우 매우 위험한 결과 초래
        • 연성 실시간 시스템(soft realtime system) : 데이터가 시간 단위로 전달되어야 올바른 기능을 수행할 수 있는 시스템 ex) 스트리밍 시스템

    운영체제의 예

    • 유닉스
      • 대부분 C언어로 작성
      • 높은 이식성 → 하나의 컴퓨터에서 다른 컴퓨터로 이식하기 쉽다
        • 대부분의 언어가 C언어로 작성되어있기 때문에 다른 컴퓨터에서 컴파일이 쉽게 가능하다
      • 최소한의 커널 구조 → 확장용이
      • 소스코드 공개
      • 프로그램 개발에 용이
    • DOS
      • MS 에서 1981년 IBM-PC개발
      • 단일 사용자용 운영체제, 메모리 관리 능력의 한계(주 기억장치 640KB)
    • MS Window
      • MS사의 다중 작업을 GUI 기반 운영체제
      • 네트워크 환경 강화
      • DOS용 응용 프로그램과 호환성 제공
      • 불안정성
      • 풍부한 자원 소프트웨어
    • Handheld device를 위한 OS
    그 외 용어
    • multitasking
    • multiprogramming
      • 여러 프로그램이 메모리에 올라가 있음을 강조
    • time sharing
      • CPU의 시간을 분할하여 나누어 쓴다는 의미
      • CPU쪽으로 강조
    • multiprocess

    → 4가지 용어는 모두 유사한 용어로, 컴퓨터에서 여러 작업을 동시에 수행하는 것을 의미한다


    • Multiprocessor
      • 하나의 컴퓨터에 CPU(processor)가 여러개 붙어 있음을 의미
      • CPU가 여러개 붙어 있는 것을 의미

    운영체제의 구조

    • CPU
      • 누구한테 CPU를 줄까 → CPU 스케줄링
        • 선착순 → 빠른 자원을 효율적으로 활용할 수 없기 때문에
        • CPU를 줬다 뺐었다
    • 메모리
      • 한정된 메모리를 어떻게 쪼개어 쓰지? → 메모리 관리
      • 메모리 분배 이슈 ex) 워킹 셋 모델
      • N/1로 쪼개는 것이 항상 좋은 방법은 아님
      • CPU에서 사용할 일이 없는
      • 추후에도 사용할 메모리인가? (미래 예측) → 과거를 통해 예측 ex) 에 많이 사용한 메모리는 냅둠
    • Disk
      • 디스크에 파일을 어떻게 보관하지? → 파일 관리
      • 디스크 스케줄링? 먼저 온것을 무조건 먼저 처리하는 것이 아니라, 효율적으로 head 움직임을 최소화 하면서 빨리 요청을 수행할 수 있을 지에 대한 것 ex) 엘리베이터
    • I/O device
      • 각기 다른 입출력장치와 컴퓨터 간에 어떻게 정보를 주고 받게 하지? → 입출력 관리
    • 프로세스관리
      • 프로세스의 생성과 삭제
      • 자원 할당 및 반환
      • 프로세스 간 협력
    • 그 외
      • 보호 시스템
      • 네트워킹
      • 명령어 해석기

    댓글

Designed by Tistory.