ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 운영체제 1주차 4
    CS/운영체제와 시스템 2021. 7. 23. 17:21

    선점형 스케쥴러 (Preemptive Scheduling) : 하나의 프로세스가 다른 실행중인 프로세스 대신 CPU 사용가능

    예 : 시분할 시스템

    비 선점형 스케쥴러 (Non-Preemptive) : 프로세스가 스스로 block(wait) 상태가 되거나 or 실행이 끝났을때만(end state)일 때만 다른 프로세스로 교체 가능

     

    스케쥴러 정책(Policy) 구분

    FIFO, SJF, Priorty-based : 어떤 프로세스를 먼저 실행 시키냐

    RoundRobin : for 시분할 시스템(선점형)

     

    인터럽트 : CPU가 프로그램을 실행중일때, 입출력 하드웨어 등의 장치 이슈나 예외상황이 발생하여 처리해야할 때 CPU에 알려서 처리하는 기술

     

    인터럽트의 활용

    선점형 스케쥴러 구현 : 프로세스 구동중에 스케쥴러가 이를 중단시키고 다른 프로세스로 교체하기 위해서는 스케쥴러 코드가 실행되어서 현재 실행중인 프로세스를 중지시켜야함

    IO 장치와의 교류 : 저장매체에서 데이터 처리등 block state의 프로세스를 ready state로 변환하기 위해서

    예외 상황 컨트롤 : 입출력 하드웨어 같은 장치 이슈나 기타 예외상황(에러, 0으로 나누기 등) 발생시 CPU에 알림

     

    이벤트(인터럽트도 이벤트)를 정의하고, 발생했을때 어떻게 처리하는지도 운영체제가 결정

     

    인터럽트 예시 

    1.계산하는 코드에서 0으로 나눌때(Divide-by-Zero interrupt)

    2.타이머 인터럽트 : 선점형 스케쥴러를 위해

    3.IO 인터럽트

     

    외부(하드웨어) vs 내부(소프트웨어) 

    내부 : 대부분 프로그램 내부에서 잘못된 명령 또는 데이터 사용시 발생

    0으로 나눌때, 사용자 모드에서 커널 모드만 실행할 수 있는 명령 또는 공간 접근시

    계산결과가 오버플로우 or 언더플로우 날때

     

    외부 : 주로 프로그램 외부(하드웨어)에서 발생

    전원 이상, 기계 문제, 키보드등 IO 관련 이벤트, Timer 이벤트

    'CS > 운영체제와 시스템' 카테고리의 다른 글

    운영체제 2주차 1  (0) 2021.07.27
    운영체제 1주차 5  (0) 2021.07.26
    운영체제 1주차 3  (0) 2021.07.21
    운영체제 1주차 2  (0) 2021.07.21
    운영체제 1주차 1  (0) 2021.07.20
Designed by Tistory.