2018년 8월 5일 일요일

운영체제 - 요점정리

하이퍼큐브구조

CPU가 n개의 연결점을 가질때, CPU의 총 개수는 2n개 이다. 

운영체제 성능평가 기준

  • 처리능력(Throughput): 일정시간내 처리량
  • 반환시간(Turn around time): 시스템에 작업을 의뢰한 시간부터 처리완료시까지의 시간
  • 사용가능도(Availability) : 시스템 즉시사용 가능도. 
  • 신뢰도(Reliability): 정확한 문제해결 정도

교착상태 해결기법

  • Prevention: 교착상태 발생의 4가지 조건중 하나를 부정함으로 수행
    • 자원낭비가 심함
    • 상호배제(Mutual Exclusion
    • 점유&대기(Hold & Wait
    • 비선점(Non-preemption
    • 환형대기(Circular Wait
  • Avoidance: 교착생태가 발생하면 적절히 회피
    • 은행원알고리즘:Banker's Algorithm
  • Detection: 교착상태를 점검하여 교착상태인 프로세스나 자원을 발견해냄
    • 자원할당 그래프
  • Recovery: 교착상태중인 프로세스를 종료시키거나 자원을 선점하여 상태를 회복시킴. 

Unix File System

  • 부트블록: 부팅시 필요한 코드 보유
  • 슈퍼블록: 전체 파일시스템 정보 보유
  • I-NODE 블록: 각 파일/디렉터리 정보 보유
    • 파일소유자 사용자번호 및 그룹번호
    • 파일크기
    • 파일타입
    • 생성시기
    • 최종변경시기
    • 최근사용시기
    • 파일권한
    • 파일링크수
    • 데이터저장 포인터
  • 데이터블록: 실제 파일데이터 저장

구역성 (Locality)

  • 프로세스 실행간 주기억장치 참조시, 일부 페이지만 집중적으로 참조 됨. 
  • Denning에 위해 증명
  • 캐시메모리의 이론적 근거. (가상기억장치 관리) 
  • 스레싱 방지를 위한 Working-set 이론
  • 구분
    • 시간구역성(Temporal Locality) : Loop, Stack, Sub Routine, Counting, Totaling
    • 공간구역성(Spatial Locality) : Array Traversal, 순차코드실행

Working Set

  • 프로세스가 자주 참조되는 페이지들의 집합
  • 자주 참조되는 Working set을 상주시켜 페이지부재, 페이지교체 현상을 줄임. 
  • Working set은 시간이 지남에 따라 변경됨

페이지부재 (Page fault)

  • 프로세스 실행시 참조할 페이지가 없는 경우
  • 페이지 부재 빈도(PFF: Page Fault Frequency) 방식
    • Page fault rate에 따라 페이지 프레임 수를 조정하여 적정값으로 유지시킴

페이지 교체기법 

  • OPT(OPTimal replacement, 최적교체): 앞으로 가장 오랫동안 사용하지않을 페이지를 교체
  • FIFO(First In First Out): 가장 먼저 들어와서 가장 오래 있었던 페이지를 교체
  • LRU(Least Recently Used): 가장 오래 사용하지않은 페이지를 교체
  • LFU(Least Frequently Used): 사용 빈도가 가장 적은 페이지를 교체
  • NUR(Not Used Recently): LRU와 유사, 최근 사용하지 않은 페이지를 교체


스레싱(Thrashing)

  • 프로세스 처리시간보다 페이지교체시간이 더 많아지는 현상. 
  • Page fault가 많이 일어나면 Thrashing 역시 많이 발생한다. 

스케줄링

  • 비선점형(Non-Preemptive) 
    • FCFS(First Come First Served)
    • SJF(Shortest Job First) 
    • HRN(Highest Response-ratio Next) 
      • HRN 우선순위 = (대기시간+서비스시간) / 서비스시간
      • 높을수록 우선순위 높음. 
    • 우선순위(Priority)
    • 기한부(Deadline) 
  • 선점형(Preemptive) 
    • SRT(Shortest Remaining Time): SJF의 변형
    • 선점우선순위
    • RR(Round Robin): FCFS의 변형
    • 다단계큐(Multilevel Queue) 
    • 다단계피드백큐(Multilevel Feedback Queue) 

디스크 스케줄링

  • FCFS: 순서대로 서비스
  • SSTF (Shortest Seek Time First): 현 위치에서 가까운놈부터
    • FCFS보다 처리량↑, 평균탐색시간↑
    • 일괄처리에 유리
  • SCAN: 가까윤놈 찾고 그 발향으로 쭉! 
  • C-SCAN (Circular SCAN): 바깥에서 안쪽으로
  • N-step SCAN
    • SCAN이 무한대기에 빠지는 문제를 개선
    • SCAN 진행 중 도착한 요청을 모아 반대진행때 처리
    • SSTF, SCAN보다 응답시간 편차 감소
  • Edchenbach (에센바흐)
    • 헤드 진행 중 각 실린더에 대해, 디스크팬 핸회전 동안만 I/O처리
    • 항공예약시스템을 위해 개발
    • 탐색시간, 회전지연시간을 최적화하기위해 제안됨
  • SLTF (Shortest Latency Time First)
    • 회전시간 최적화 목적
    • 대기큐 요청들을 섹터 위치에 따라 재정렬하고 가장 가까운 섹터부터 서비스
    • 드럼에 많이 쓰임
  • LOOK: SCAN처럼 동작하지만, 진행방향 마지막 처리 후 바로 반대반향으로 진행

기억장치 관리전략

  1. Fetch Strategy
  2. Placement Strategy 
  3. Replacement Strategy 

Loader 의 4대기능

  • Allocation, Linking, Relocation, Loading 

보안요건

  • Confidentiality (기밀성) 
  • Integrity (무결성) 
  • Availability (가용성) 
  • Authentication (인증) 
  • Non-Repudiation (부인방지) 

비밀키와 공용키

  • 비밀키(Private Key System) 
    • DES (Data Encryption Standard) 
    • 동일키로 데이터를 암호화/복호화 하는 대칭 암호화 기법
    • 암호화/복호화 속도가 빠르고 알고리즘이 단순하고 파일 크기가 작다
    • 사용자 수 만큼 관리키가 늘어나 키 분배가 어려움
  • 공용키(Public Key System) 
    • RSA (Rivest Shamir Adleman) 
    • 서로다른 키로 암호화/복호화 하는 비대칭 암호화 기법
    • 암호키는 공개하고 해독키는 비밀로 하여, 누구나 암호키 배포가 가능하나 해독키가 있어야 해독가능
    • 암호화/복호화 속도가 느리고 알고리즘이 복잡하고 파일 크기가 크다

PCB (Process Control Block)의 내용

프로세스 식별정보, 제어정보, 상태정보

페이징기법과 세그먼테이션기법
  • Paging
  • 프로그램 및 주기억장치 영역을 동일한 크기로 나누어 프로그램 적재/실행
  • 나뉘어진 프로그램, 기억장치 영역을 각각 페이지와 페이지프레임 이라 부른다. 
  • 내부단편화, 페이지 맵 테이블 필요
  • Segmentation 
  • 프로그램을 다양한 크기로 나눈 후 주기억장치에 적재/실행
  • 각 세그먼트는 고유한 이름과 크기를 갖는다. 
  • 기억공간 절약이 목적
  • 세그먼트 맵 테이블 필요, 기억장치 보호키 필요




댓글 없음:

댓글 쓰기