ABOUT ME

-

Graduate of Computer Engineering at Inha University

https://github.com/juwon0605

devprofessionalism@gmail.com
  • OS 핵심 요약
    Computer Science/Operating System 2022. 1. 15. 23:32

     

    OS 핵심 요약
    [프로세스, 스레드]
     ⦁프로세스
      -정의, 특징(독립 주소 공간), 세부특징(4영역), 스레드와의 관계(최소 1)
     ⦁스레드
      -정의, 특징(스택만 할당)
     ⦁멀티프로세스
      -장점(안전성), 단점(오버헤드, Context Switching)
     ⦁멀티스레드
      -장점(메모리 공유), 단점(안전성)
     
    [PCB, Context Switching]
     ⦁PCB(Process Control Block)
      -프로세스 메타데이터 저장(3영역), LinkedList 방식 추가
     ⦁Context Switching
      -이전 프로세스 상태를 PCB에 보관, 다른 정보를 PCB에서 레지스터 적재
     
    [CPU 스케줄링]
     ∙프로세스 상태
      -New, Ready, Running, Waiting, Terminated
     ∙비선점 스케줄링
      -FCFS(First Come First Served)
      -SJF(Shortest Job First)
     ∙선점 스케줄링
      -Priority Scheduling(정적, 동적, 기아현상, Aging기법)
      -Round Robin(시간단위할당, 크면 FCFS, 작으면 Context Switching오버헤드)
      -Multilevel Queue(우선순위 할당, 각 큐 독자적, 이동 불가)
      -Multilevel Feedback Queue(동적 우선순위, Aging, 큐 간 이동, 짧은 작업 유리)
     ∙CPU 스케줄링 척도
      -Response Time(작업이 처음 실행되기까지 걸린 시간)
      -Turnaround Time(실행 시간과 대기 시간을 모두 합한 시간)
    [데드락]
     ⦁발생조건
      ➀상호배제: 자원은 한 번에 한 프로세스만
      ➁점유대기: 최소 하나의 자원 점유, 추가로 점유하기 위해 대기
      ➂비선점: 다른 프로세스에 할당된 자원 강제 회수 불가
      ➃순환 대기: 대기 프로세스의 집합이 순환 형태로 자원을 대기
     ⦁예방
      ➀상호배제 부정: 여러 프로세스가 자원 공유(동기화 문제 발생 가능)
      ➁점유대기 부정: 모든 자원은 한번에 요구
      ➂비선점 부정: 프로세스에 우선순위 부여
      ➃순환 대기 부정: 자원에 고유번호 할당 후 순서대로 요구
     ⦁회피
      -은행원 알고리즘(미리 최대 요구 자원 파악, 사전 검사)
     ⦁탐지와 회복
      -자원 할당 그래프로 탐지
      -교착 상태 프로세스 종료 및 해제
     
    [세마포어, 뮤택스]
     ⦁세마포어
      -공유 자원 접근 제한 위한 0이상의 정수(P: 1->0, V:0->1)
     ⦁뮤텍스
      ➀데커 알고리즘(flag, turn, 비선점)
      ➁피터슨 알고리즘(flag, turn, 선점)
      ➂제과점 알고리즘(가장 작은 수의 번호표 임계 구역 진입)
     
    [페이징, 세그먼테이션]
     ∙페이징
      -프로세스->페이지(일정 크기)
      -메모리->프레임(페이지 크기)
      -CPU->페이지 테이블(페이지 인덱스, 프레임 인덱스)->메모리 주소
      -내부 단편화
     ∙세그먼테이션
      -프로세스->세그먼테이션(동적크기)->메모리
      -CPU->세그먼트테이블(base,limit)->메모리
      -외부 단편화
     
    [페이지 교체 알고리즘]
     ➀FIFO(First In First Out)
     ➁OPT(최적화, 미래)
     ➂LRU(Least Recently Used, 과거)
     ∙교체방식
      -global(모든 프로세스 페이지 교체)
      -local(자기 프로세스 페이지만 교체, 중요도에따라 프레임 수 할당)
     ∙MMU(Memory Management Unit)

     

     

    'Computer Science > Operating System' 카테고리의 다른 글

    14.파일 시스템  (0) 2021.08.29
    13.메모리  (0) 2021.08.27
    12.페이지 교체 알고리즘  (0) 2021.08.26
    11.페이징(Paging), 세그먼테이션(Segmentation)  (0) 2021.08.25
    10.세마포어(Semaphore), 뮤텍스(Mutex)  (0) 2021.08.24

    댓글

Designed by Tistory.