OS 운영체제 개요

y.dev.h·2023년 8월 8일

OS

목록 보기
1/1

운영체제

: 컴퓨터의 사용자와 하드웨어 사이에서 중개자 역할을 해주는 프로그램

  • 협의의 운영체제 = 커널
    : 운영체제의 핵심 부분
    : 항상 메모리에 상주하는 부분

  • 광의의 운영체제
    : 커널 뿐 아니라 주변 독립적인 시스템 유틸리티 포함

운영체제 목적

: 컴퓨터 시스템 자원 효율적 관리

  • 하드웨어 자원 : 프로세서, 기억장치, 입출력장치 등의 효율적 관리
    • 사용자간 형평성 있는 자원 분재 :형평성
    • 주어진 자원으로 최대 성능 도출 : 효율성
  • 사용자 및 운영체제 자신의 보호
  • 소프트웨어 자원: 프로세서, 파일, 메시지 관리
    : 편리하게 사용할 수 있는 환경 제공
  • 운영체제는 동시 사용자/프로그램들이 각각 독자적 컴퓨터에서 수행되는 것 같은 환상 제공
  • 하드웨어를 직접 다루는 복잡한 부분을 운영체제가 대행

운영체제 분류

동시 작업 가능 여부 / 사용자 수 / 처리 방식

동시 작업 가능 여부

  1. 단일 작업 (single tasking)
    : 한번에 하나의 작업 처리
  2. 다중 작업 (multi taskiing)
    :동시에 두 개 이상의 작업처리

사용자 수

  1. 단일 사용자 (single user)
  2. 다중 사용자 (multi user)

처리 방식

  1. 일괄처리 (batch processing)
  • 바로바로 되는 게 아니라 작업 요청의 일정량을 모아서 한꺼번에 처리
  • 작업이 완전히 종료될 때까지 기다려야 함
  1. 시분할 (time sharing)
  • 우리가 주로 사용
  • 여러 작업 수행 시 컴퓨터 처리 능력을 일정한 시간 단위로 분할하여 사용
  • 일괄 처리 시스템에 비해 짧은 응답시간 가짐 : interactive한 방식

3-1. 실시간 (realtime OS)

  • 특수한 목적을 가진 컴퓨터에서 사용
  • 정해진 시간 안에 어떤 일이 반드시 종료됨이 보장되어야하는 실시간 시스템을 위한 OS
  • eg. 원자로/공장 제어, 미사일 제어, 반도체 장비, 로보트 제어
    3-2. 실시간 시스템 개념 확장
  • hard realtime system 경성 실시간 시스템
  • sofe realtime system 연성 실시간 시스템 : 데드라인이 있지만 치명적인 영향을 끼치지는 않는 것

용어 정리

  • Multitasking

  • Multiprogramming : 여러 프로그램이 메모리에 올라가 있음을 강조

  • Time sharing : CPU의 시간을 분할해 나누어 쓴다는 의미 강조

  • Multiprocess
    : 컴퓨터에서 여러 작업을 동시에 수행하는 것을 의미함

  • ✨ Multiprecessor : 하나의 컴퓨터에 CPU(processor)가 여러 개 붙어 있음을 의미 (고성능 컴퓨터)

운영체제 예시

  1. 유닉스 : for 대형컴퓨터
  • 코드 대부분 C언어로 작성 : assembly 언어라 어려움을 보완
  • 높은 이식성
  • 최소한의 커널 구조 : 핵심적인 기능만 넣어둠
  • 복잡한 시스템에 맞게 확장 용이
  • 소스코드 공개 : 지금은 비공개
  • 프로그램 개발 용이
  1. 윈도우 : for 개인용 컴퓨어 (PC)
    2-1. DOs (Disk Operating System)
  • MS사에서 1981년 IBM-PC를 위해 개발
  • 단일 사용자용 운영체제, 메모리 관리 능력 한계
    2-2. MS Windows
  • MS사의 다중 작업용 GUI기반 운영체제
  • Plug & Play, 네트워크 환경강화
  • DOS용 응용 프로그램과 호환성 제공
  • 불안정성
  • 풍부한 지원 소프트웨어

CPU 스케줄링

1. FCFS (First-Come First-Served)

: 순서대로 CPU 쓰게끔하는 것 = 공평하지만 효율적이지않음
: 그럼 이 과정을 효율적으로 하기 위해서는?

2. SJF(Shortest-Job-First)

: 금번 CPU 사용시간이 가장 짧은 프로세스를 제일 먼저 스케줄
: SJF는 minimum average waiting time 보장

: Problem

  • Starvation(기아현상) 발생 가능

3. Round Robin (RR)

: 각 프로세스는 동일 크기의 CPU 미리 할당시간을 가짐 : CPU 번갈아 사용하게 됌
: 할당시간이 끝나면 인터럽트가 발생하여 프로세스는 CPU를 빼앗기고 CPU 큐의 제일 뒤에 줄을 섬
: n개 프로세스가 CPU 큐에 있는 경우

  • 어떤 프로세스도 (n-1)*할당시간 이상 기다리지 않음
  • 대기시간이 프로세스의 CPU 사용시간에 비례 : 본인이 사용하려는 양에 비례하게끔 기다리게 됌

메모리 관리

LRU

: 가장 오래 전 참조한 페이지를 삭제

LFU

: 참조횟수(=사용횟수)가 가장 적은 페이지 삭제

디스크

: 디스크에 저장된 정보를 디스크 헤드가 이동함을서 정보 리딩

디스크 접근 시간 (Access time) 구성

  • 탐색시간 (Seek time)
    : 헤드를 해당 트랙(실린더)으로 움직이는데 걸리는 시간
  • 회전지연 (Rotational latency)
    : 헤드가 원하는 섹터에 도달하기 까지 걸리는 시간
  • 전송시간 (Transfer time)
    : 데이터 실제 전송시간

디스크 스케줄링 (Disk Scheduling)

: seek tiem(~seek distanse) 최소화가 목표
1. FCFS
2. SSTF (Shortest Seek Time First)
: starvation 문제 있음

  1. SCAN
    : 헤드가 디스크 한쪾 긑에서 다른쪽 끝으로 이동하며 가는 길목에 있는 모든 요청 처리
    : 다른 한쪽 끝에 도달하면 역방향으로 이동하며 오는 길목에 있는 모든 요청을 처리하며 다시 반대쪽 끝으로 이동

저장장치 계층구조와 캐싱

플래시 메모리

플래시 메모리

: 반도체장치 (하드디스크:마그네틱)
: NAND형(스토리지) 주로 사용됌, NOR형(임베디드 코드 저장용)

플래시 메모리 특징

  • Nonvolatile
  • Low power comsumption
  • Shock resistance
  • Small size
  • Lightweight
  • 쓰기 횟수 제약
  • 시간 지나면 전하량 빠져나감 : 정보리딩이 안될 수 있음

플래시 메모리 사용 형태

  • 휴대푠, PDA등 임베디드 시스템 구성용
  • USB용 메모리 스틱
  • 디지털 카메라 등의 SD카드, Smart Media card
  • 모바일 장치 뿐 아니라 대용량 시스템에서 SSD (Solid State Drive)란 이름으로 하드디스크 대체 시도

운영체제 종류

  • 서버용, pc용
  • 공개 소프트웨어 = 오픈 소스코드
    why 오픈 소스코드로 했나? 시장논리에는 맞지않은데

0개의 댓글