CH1 : Introduction to Operating System

김마사키·2022년 4월 4일
0

OS

목록 보기
1/4

1. 운영체제란 무엇인가?

OS : 컴퓨터 HW 바로 위에 설치되어, (사용자와 다른 모든 SW)와 HW를 연결하는 SW 계층

  • 좁은 의미 = Kernal = 운영체제의 핵심으로 system이 실행되면서 꺼질 때까지 메모리에 상주
  • 넓은 의미 = 각종 주변 시스템 유틸리티까지 포함

2. 운영체제의 목적

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

- illusion : 동시 사용자와 프로그램들이 각각 독자적으로 실행되고 있다는 환상을 제공
- HW를 다루는 부분을 대행

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

- 프로세서, 기억장치, 입출력 장치 등의 효율적 관리 (+형평성 있는 자원 분배)
- 사용자 및 운영체제 보호
- 프로세스, 파일, 메시지 등 관리

( 실행중인 프로그램들에게 짧은 시간씩 CPU 할당 )
( 실행중인 프로그램들에 메모리 공간을 적절히 분배 )

3. 운영체제의 분류

  1. 동시 작업 가능의 여부 - 단일 작업 vs 다중 작업
  2. 사용자 수 - 단일 사용자 vs 다중 사용자
  3. 처리 방식 - 일괄 처리 vs 시분할

1. 동시 작업 가능의 여부 - 단일 작업 vs 다중 작업

단일 작업 - MS-DOS, 전기밥솥(MICOM-OS)
다중 작업 - UNIX, MS WINODW (인터넷 브라우저, 파워포인트, MATLAB)

2. 사용자 수 - 단일 사용자 vs 다중 사용자

단일 사용자 - MS-DOS, MS Windows
다중 사용자 - UNIX, NT sever

3. 처리 방식 - 일괄 처리 vs 시분할 vs 실시간

  • 일괄 처리 (batch processing)
    작업 요청의 일정량 모아서 한번에 처리, 작업이 완전 종료될 때까지 기다림
  • 시분할 (time sharing)
    여러 작업을 수행할 때 일정한 시간 단위로 분할하여 사용
    batch processing에 비해 짧은 응답 시간
    interactive한 방식
  • 실시간 (Realtime OS)
    정해진 시간 안에 어떠한 일들이 반드시 종료되는 것을 보장
    (e.g.)
    Hard realtime system - 원자로/공장 제어, 미사일 제어, 반도체 장비, 로보트 제어
    Soft realtime system - 디지털TV 리모콘

몇 가지 용어

Multitasking

컴퓨터에서 여러 작업을 동시에 수행

Multiprogramming

(여러 프로그램이 메모리에 올라가 있다) 컴퓨터에서 여러 작업을 동시에 수행

Time sharing

(CPU의 시간을 분할하여 나누어 쓴다) 컴퓨터에서 여러 작업을 동시에 수행

Multiprocess

컴퓨터에서 여러 작업을 동시에 수행

Multiprocessor

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

운영 체제의 예

1. UNIX 계열

  • C언어 기반 (UNIX 이전 main frame system은 assembly 언어로 개발했다)
  • 높은 이식성 (C언어 compiler에 따라, x86, MIPS 등 가능)
  • 최소한의 커널 구조 (Memory 상주 부분 small, 유틸리티들을 따로 개발)
  • 복잡한 시스템에 맞게 확장 용이
  • 소스 코드 공개(Linux)
  • 프로그램 개발에 용이

2. MS 계열

DOS (Disk Operating System)
  • 1981년 IBM-PC을 위해 개발
  • 단일 사용자용 운영체제, 메모리 관리 능력 한계 (640KB)
MS Windows
  • 다중 작업용 GUI 기반 운영체제
  • Plug and Play, 네트워크 환경 강화
  • DOS 응용 프로그램과 호환성
  • 불안정성 (Bluescreen 현상이 많았다)
  • 풍부한 지원 소프트웨어
Handheld device를 위한 OS
  • e.g ) PalmOS, Pocekt PC(WinCE), Tiny CE

운영 체제의 구조

1) CPU 스케줄링 - CPU
2) 메모리 관리 - Memory
3) 프로세스 관리
4) 파일 관리 - Disk
5) 입출력 관리 - I/O device

0개의 댓글