[KOCW] 운영체제, 1. 운영체제 개요(2)

임창묵·2022년 6월 13일
0

Computer science

목록 보기
2/11
post-thumbnail

1. 운영체제 개요(2)

KOCW > 이화여자대학교 반효경 교수님 > 운영체제 > 1. 운영체제 개요(2)

CPU 스케줄링

FCFS(First-Come First-Served)

  • 먼저 큐에 들어온 프로세스가 CPU를 다 쓰도록 하는 순서로 처리
    • 극단적으로 먼저 들어온 프로세스가 매우 긴 처리시간을 요하는 경우 매우 비효율적

SJF(Shortest-Job-First)

  • 금번 CPU 사용시간이 가장 짧은 프로세스를 제일 먼저 스케줄
    • minimun average waiting time을 보장. 최적.
    • 효율성은 좋지만, 형평성의 문제
      • 오래 걸리는 프로그램이 무한히 기다리게 되는 Starvation(기아 현상) 발생 가능

Round Robin(RR)

  • 각 프로세스에 동일 크기의 CPU 할당시간을 부여, 할당시간이 끝나면 인터럽트가 발생하여 프로세스는 CPU를 빼앗기고 CPU 큐의 제일 뒤로 보내짐.
    - 현재 가장 많이 사용하는 알고리즘의 기본
    • 대기시간이 프로세스의 CPU 사용시간에 비례
      • 어떤 프로세스도 본인을 제외한 (n-1)*할당시간 이상 기다리지 않음

메모리 관리

  • 디스크에서 가상 메모리를 거쳐 메모리에 탑재
    • 가상 메모리의 분할된 프로세스 중, 당장 필요한 부분만 물리적 메모리에 올려서 실행
  • 디스크(파일시스템)과 다른 디스크(스왑영역)을 이용, 메모리에서 쫓겨난 프로세스를 디스크(스왑영역)에 탑재

LRU vs LFU

  • 어떤 분할된 프로세스(페이지)를 쫓아낼 것인가
    • LRU: 가장 오래 전에 참조된 페이지 삭제
    • LFU: 참조횟수가 가장 적은 페이지 삭제

디스크 스케줄링

  • 디스크 헤드의 물리적 이동시간이 관건, 어떻게 디스크 헤드의 이동시간을 줄일 것인가
  • 디스크 접근 시간(Access time)
    • 탐색시간(Seek time): 헤드를 해당 트랙으로 움직이는데 걸리는 시간
      • 디스크 스케줄링은 seek time을 최소화하는 것이 목표
    • 회전지연(Rotational latency): 헤드가 원하는 섹터에 도달하기까지 걸리는 시간
    • 전송시간(Transfer time): 실제 데이터의 전송 시간

FCFS(First-Come First-Served)

  • 메모리 스케줄링에서의 예시와 같이 마찬가지로 비효율적

SSTF(Shortest Seek Time First)

  • seek time이 가장 짧은 요청을 먼저 수행
    • FCFS보다 평균 seek time이 짧은 장점이 있지만, starvation 문제 발생 가능

SCAN

  • 헤드가 디스크의 한쪽 끝에서 다른쪽 끝으로 이동하며 가는 길목에 있는 모든 요청을 처리, 끝에 도달하면 역방향으로 이동하며 반복.
    • 현재 디스크 스케줄링에서 쓰는 알고리즘

저장장치 계층구조와 캐싱(caching)

  • Primary: CPU(Register) > Cache Memory > Main Memory
    • Secondary: Magnetic Disk > Optical Disk > Magnetic Tape
  • 위에서 아래로 내려가며 속도가 느려지고 / 가격이 싸지고 / 비휘발성이 됨
  • 계층구조를 통해, 각 장치의 속도차이를 완충
    • 캐싱: 동일한 데이터를 다시 요청할 때, 미리 저장한 데이터를 보내주는 방식으로 속도차이 완충

플래시메모리

플래시메모리

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

플래시메모리의 특징

  • 비휘발성
  • 낮은 전력 소모
  • 물리적 충격에 강함 / 작은 크기 / 가벼운 무게
  • 쓰기 횟수 제약

플래시메모리의 사용 형태

  • 임베디드 시스템 구성용, USB용 메모리 스틱, SD카드 등
  • 하드디스크 대체 시도

운영체제의 종류

  • 서버용 / PC용 / 스마트디바이스용 운영체제가 존재
  • 공개 소프트웨어(Open Source Software)
    • Linux, Android

0개의 댓글