ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • day01 개괄
    CS/운영체제 2022. 3. 28. 23:12

    0. 운영체제의 기능 : 자원관리자 - 자원을 효율적으로 관리함

    CPU -------------인터럽트, 캐싱------디스크, {키보드, 프린터기, 모니터 등}=I/O 장치
                 |
        메모리(프로그램 A, B, C,..)

    CPU : cpu사용권을 넘겨줄 프로그램 결정(cpu 스케줄링) 
    메모리 : 프로그램 a, b, c,...등 프로그램에 메모리 할당(메모리 관리)
    디스크 : 디스크에 들어온 요청의 처리 순서 결정(디스크 스케줄링)
    인터럽트, 캐싱 : 빠른 cpu와 느린 I/O장치간 속도차 극복 방법

    CPU에 I/O요청이 들어오면 CPU->바로 I/O장치가 아니라 각각의 컨트롤러에 전달. 
    프로그램A가 I/O를 요청해 디스크 컨트롤러가 작업을 수행->작업 마친 후 결과값을 인터럽트를 통해 전달

    1) CPU 스케줄링
    : FCFS(First Come First Served)
      - 시간적 효율성이 떨어짐. 
    : SJF(Shortest Job First)
      - 매순간 큐에서 기다리는 프로세스 중 가장 짧은 소요시간이 필요한 애가 먼저 실행됨
      - but 기아 현상(starvation) 발생
    : RR(Round Robin)
      - 각 프로세스는 동일 크기의 cpu 할당시간을 가짐
      - 할당시간이 끝나면 인터럽트가 발생해 해당 프로세스는 cpu를 빼앗기고 
       cpu 큐의 제일 뒤에 줄세워짐.
      - n개의 프로세스가 cpu 큐에 있는 경우, 어떤 프로세스도 (n-1)*할당시간 이상 기다리지 않음
      =>대기시간이 프로세스의 cpu사용시간에 비례 

    2) 메모리 관리
    : 프로그램마다 가상메모리공간이 만들어짐. 실제 메모리에는 당장 실행에 필요한 부분만 올려놓음
    : 메모리가 꽉 차 쫓겨난 메모리는 디스크의 스왑영역으로 감. 스왑영역은 메모리의 연장공간
    : 꽉 찬 메모리에서 어떤 프로세스를 먼저 내보낼지 처리 방식 2가지
       - LRU : 가장 오래 전 참조한 페이지 삭제
       - LFU : 참조 횟수가 가장 적은 페이지 삭제

    3) 디스크 스케줄링
    : 디스크 접근시간의 구성
      - 탐색시간 : 헤드를 해당 트랙(실린더)로 움직이는 데 걸리는 시간
      - 회전지연 : 헤드가 원하는 섹터에 도달하기까지 걸리는 시간
      - 전송시간 : 실제 데이터 전송시간
    : 디스크 스케줄링은 seek time 최소화가 목표
      - SSTF(Shortest Seek Time First) : 현재 위치에서 seek time이 가장 짧은 것부터 먼저 처리 
          ㄴbut, starvation 문제 발생
      - SCAN(보완) : 헤드가 디스크의 한쪽 끝에서 다른 쪽 끝으로 이동하며 가는 길목에 있는 모든 요청을 처리
    : 다른 한쪽끝에 도달하면 역방향으로 이동하며 반복
    : 엘리베이터 스케줄링 알고리즘에 근간(1->10층 상승 동안 요청이 있으면 그 층을 태우고 올라감)

    4) 저장장치 계층구조와 캐싱(caching) - 사진1
    계층구조의 특징 : 위로 올라갈수록 빠르고 비쌈->적은 용량만 쓸 수 있음
    모든 데이터가 쌓이는 곳=제일 아래. 필요하면 위로 올림. 저장이 필요하면 내리고 내려 저장.
    =>캐싱. 즉 다른 계층으로 복사해놓고 다음에 위에서 또 요청하면 더 내려갈 필요 없이 그 계층에서 가져다씀

    'CS > 운영체제' 카테고리의 다른 글

    day04 #스레드  (0) 2022.05.04
    day03 - 프로세스 관리  (0) 2022.04.15
    day02 #2. 컴퓨터 시스템의 구조  (0) 2022.04.09

    댓글

Designed by Tistory.