프로그래밍공부(Programming Study)/운영체제(OS)

[운영체제]2. 운영체제의 기능과 종류

Chaany 2023. 3. 26.
728x90

CPU 스케줄링

  • FCFS(First-Come First-Served)
    • 선입선출
    • 효율성 측면에서 좋지 않음
  • SJF(Shortest-Job-First)
    • CPU 사용시간이 가장 짧은 프로세스를 먼저 스케줄링
    • (+)최소 평균 대기시간을 보장함
    • (-)Starvation(기아 현상) 발생 가능
  • RR(Round Robin)
    • 각 프로세스는 동일 크기의 CPU 할당시간을 가짐(n-1)
    • CPU 스스로 자원을 뺏을 순 없기 때문에 하드웨어적 지원을 받음
    • 대기시간이 프로세스의 CPU 사용시간에 비례

메모리 관리

  • 디스크(파일시스템) : 실행파일 보관(비휘발성)
  • 가상메모리 : 프로세스 각각에 대한 독자적인 메모리 공간 (논리적인 주소 할당)
  • 메모리 : 프로세스 작업(휘발성)이 일어남 (물리적인 주소 할당)
  • 디스크(스왑영역) : 메모리의 연장공간이며 메모리 자원을 사용하지 않는 경우 저장되는 공간(비휘발성이나 의미가 없기에 전원이 꺼지면 자동으로 지워버림)
  • 자원 단위 : 페이지(Page)
  • 메모리 관리 : 미래를 모르는 상황에서 계속 사용할 페이지는 유지하고 사용하지 않을 페이지를 없애는 것이 주안점(효율성)
    • LRU : 가장 오래 전에 참조 페이지 삭제 - 참조횟수를 고려하지 않음
    • LFU : 참조횟수가 가장 적은 페이지 삭제 - 최근 히스토리를 고려하지 않음

디스크 스케줄링

  • 헤드의 이동거리를 줄이는 방법
  • 디스크 접근 시간(Access time)의 구성
    • 탐색시간(Seek time) : 헤드를 해당 트랙(실린더)으로 움직이는데 걸리는 시간
    • 회전지연(Rotational latency) : 헤드가 원하는 섹터에 도달하기까지 걸리는 시간
    • 전송시간(Transfer time) : 실제 데이터의 전송 시간
  • 디스크 스케줄링(Disk Scheduling)
    • seek time 최소화가 목표
    • seek time = seek distance
  • FCFS(First-Come First-Served)
    • 효율성의 문제
  • SSTF(Shortest Seek Time First)
    • Starvation 문제
  • SCAN
    • 헤드가 디스크의 한쪽 끝에서 다른쪽 끝으로 이동하며 가는 길목에 있는 모든 요청을 처리한다
    • 다른 한쪽 끝에 도달하면 역방향으로 이동하며 오는 길목에 있는 모든 요청을 처리하며 다시 반대쪽 끝으로 이동한다.
    • 엘리베이터 스케줄링과 동일

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

  • Speed(속도), Cost(비용), Volatility(휘발성)의 상관관계가 존재
  • Primary = CPU가 직접 접근 가능, Secondary : CPU가 직접 접근 불가
  • 동일한 데이터를 재사용할 때 caching된 데이터를 활용 -> 속도차이 극복

플래시메모리

  • 반도체장치(하드디스크: 마그네틱)
  • NAND형(스토리지), NOR형(임베디드 코드저장용)
  • 특징
    • Nonvolatile
    • Low power consumption
    • Shock resistance
    • Small size
    • Lightweight
    • (-)쓰기 횟수 제약
    • (-)데이터가 시간이 지남에 따라 변질될 가능성이 있음(전하의 양으로 0,1 구분하는 것이기 때문에 전하가 일정수준 빠져나가면 안 읽힐 수 있음) -> 골고루 사용되도록, 시간이 지나면 알아서 다른 곳에 복제되도록 하는 등 소프트웨어적으로 해결하고자 함
  • 사용형태
    • 휴대폰, PDA 등 임베디드 시스템 구성용
    • USB용 메모리 스틱
    • 디지털카메라 등의 SD카드, CompactFlash, Smart Media card
    • 모바일 장치 뿐 아니라 대용량 시스템에서 SSD(Solid State Drive)란 이름으로 하드디스크 대체 시도

운영체제의 종류

  • 서버용, PC용, 스마트디바이스용 운영체제
  • 공개 소프트웨어(Open Source Software) : Linux, Android - 소스코드가 공짜(내용물이 공짜라는 건 아님)

728x90

댓글