운영체제

seio·2022년 12월 4일
0

운영체제

목록 보기
1/2

운영체제 (operating system, os)

  • 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트 웨어와 하드웨어를 연결하는 소프트웨어 계층

좁은 의미 - 커널: 운영체제의 핵심 부분으로 메모리에 상주함
넓은 의미 : 커널 뿐만 아니라 각종 주변 시스템 유틸리티를 포함한 개념

운영체제 목적

  • 편리하게 사용할 수 있도록 환경 제공
  • cpu 메모리등의 자원를 효율적 관리

    프로그램들에게 메모리 효율적인 분배 & cpu를 번갈아 할당
    효율성: 주워진 자원으로 최대한 성능
    형평성: 특정 사용자/프로그램에 불이익이 발생되지 않도록

운영체제 기능

  • cpu 스케줄링: 어떤 프로그램에게 사용권을 줄 지 결정
  • 메모리 관리: 한정된 메모리 관리
  • 디스크 스케줄링: 디스크에 들어온 요청을 어떤 순서로 처리할지 결정
  • 인터럽트, 캐싱: 빠른 cpu와 느린 i/o장치 간의 속도차이 극복하기 위해 사용

cpu 스케쥴링

처리속도가 짧은 process가 먼저 도착했다면?

그렇다면 이를 최적화하는 방법은 ?

SJF(shortest job first)

  • cpu 사용시간이 가장짧은 프로세스를 제일 먼저 스케줄
  • 최소 평균 대기 시간을 보장 (minimum average waiting time)

문제점
starvation (기아현상) 발생 가능
이유: 사용시간이 긴 프로세스가 무한정 대기할 수 있음

RR(round robin)

  • 각 프로세스는 동일 크기의 cpu 할당시간을 가짐
  • 할당시간이 끝나면 인터럽트가 발생하고 프로세스는 cpu를 빼앗기고 cpu queue 맨 뒤로 입력됨
  • n 개의 프로세스가 cpu queue에 있을 경우

    어떤 프로세스도 (n-1)*할당시간 이상 대기하지 않음
    대기시간이 프로세스 사용시간에 비례

reference

  • kocw: 운영체제-반효경
profile
personal study area

0개의 댓글