[운영체제] Chapter8. 컴퓨터 시스템의 소개

DongHyeon·2022년 8월 2일
0

운영체제

목록 보기
8/8

Chapter8. 컴퓨터 시스템의 소개


1 가상 메모리의 이해


1-1 가상 메모리의 개념과 원리

  • 각 프로그램에 실제 메모리 주소가 아닌 가상 메모리 주소를 주는 방법
  • 메인 메모리보다 더 큰 저장 공간을 제공하는 방법이다.
  • 사용자와 논리적 주소를 물리적으로 분리하여 사용자가 메인 메모리 용량을 초과한 프로세스에 주소를 지정해서 메모리를 제한 없이 사용할 수 있도록 하는 개념
  • 메인 메모리의 제한된 용량과 중첩 사용 문제를 해결

2 요구 페이징


2-1 요구 페이징의 개념

  • 프로그램을 실행하기 위해 프로그램의 일부만 메인 메모리에 적재하되, 순차적으로 작성되어 있는 프로그램의 포듈을 처리할 때 다른 부분은 실행하지 않는 특징을 이용
  • 예외 처리 루틴이나 과도하게 공간을 확보하는 배열을 선언하고 모듈의 일부를 처리하는데 이용 가능
  • 장점
    • 프로그램 시작 시 적재 지연이 적다
    • 다중 프로그래밍 정도를 증가 시키고 액세스하지 않은 페이지를 적재하지 않아 다른 프로그램들도 사용할 수 잇도록 메모리 절약
    • 적은 수의 페이지를 읽기 때문에 초기 디스크 오버헤드가 적다

  • 단점
    • 페이지에 처음 액세스할 때 약간의 지연 발생
    • 낮은 비용, 낮은 성능의 시스템에서 실행하는 프로그램은 페이지 대체를 지원하는 메모리 관리 장치가 없다.
    • 페이지 교체 알고리즘을 포함하는 메모리 관리가 복잡

2-2 페이지 부재

  • 프로세스가 메모리에 적재되지 않은 페이지에 액세스하려고 한다면 페이지 부재가 발생
  • 요구된 페이지를 메모리에 읽어 들여 원래 메모리에 저장되어 있었던 것처럼 프로세스를 다시 시작하여 적재하지 않은 프로세스를 수행할 수 있음
  • 필요한 모든 페이지를 메모리에 적재할 때 까지 페이지 부재를 발생시킴.

2-3 페이지 대체

  • 페이지 부재가 발생하면, 메인 메모리에 있으면서 사용하지 않는 페이지를 없애 새로운 페이지로 바꾸는 것
  • 페이지 부재 비율은 유효 액세스 시간과 관련이 있기에 중요하나, 지속적으로 중요한 것은 아니다.
  • 페이지 대부분은 처음 참조 시 부재가 발생하지만 이후에는 메모리에 저장되어 있어 페이지 부재 비율이 발생되지 않을 수 있기 때문

3 페이지 대치 알고리즘


3-1 페이지 부재와 프레임 수

  • 페이지 부재 때문에 메인 메모리에서 디스크로 내보낼 페이지를 고르는 방법은 시스템 효율성에 큰 영향을 미치게 됨. 페이지 부재 비율이 가장 낮은 알고리즘을 기본으로 선택하는 것이 중요

3-2 알고리즘 종류

  • 선입선출 대치 알고리즘
  • 최적 페이지 대치 알고리즘
  • 최근 최소 사용 대치 알고리즘
  • 카운터를 이용한 순서 결정
  • 스택을 이용한 순서 결정
  • 참조 비트 알고리즘
  • 시계 알고리즘
  • NUR 알고리즘
  • 최소 사용 빈도수 알고리즘
  • 최대 사용 빈도수 알고리즘
  • 페이지 버퍼링

4 프레임 할당 알고리즘


4-1 프레임 할당 알고리즘의 필요성

  • 페이지 할당을 통해 페이지 부재의 횟수를 줄이는 방법은 매우 중요

4-2 균일 비례 프레임

  • 프레임 M개를 프로세스 N개에 나눠 주는 가장 쉬운 방법은 각 프로세스 똑같이 프레임을 M/N개 씩 할당하는 것으로, 이 방법을 균일 할당이라 한다.
  • 어떤 프로세스는 페이지 프레임을 낭비하고, 또 다른 프로세스에서는 페이지 부재가 빈번하게 일어날 수 있음

4-3 비례 할당 알고리즘

  • 균일 할당 알고리즘을 해결
  • 프로세스에 필요한 메모리양이나 프로세스 크기에 따라 페이지를 할당

5 메모리를 관리하는 프로세스 적재 정책

  • 메인 메모리에 상주하는 프로세스 수가 다중 프로그래밍 수준이므로 메모리에 상주할 프로세스 수를 결저앟는 것은 메모리 관리 측면에서 매우 중요
  • 때문에, 이러한 메모리를 관리하는 프로세스 적재 정책들이 매우 중요하다

5-1 스래싱

  • 페이지 교환이 계속 일어나는 현상
  • 어떤 프로세스가 프로세스 수행에 보낸 시간보다 페이지 교환에 보내는 시간이 더 길면 '스래싱 하고 있다'고 표현

5-2 스래싱의 발생 원인

  • 프로세서가 요구하는 최소한의 수보다 페이지 프레임 수가 적으면 적을수록 페이지 부재 비율이 증가하며, 페이지 부재로 프로세서의 이용률이 감소하면 스래싱이 발생하여 시스템의 처리율은 매우낮고 페이지 부재는 엄청 늘어나게 된다.

5-3 스래싱 예방

  • 낮은 프로세서 이용률과 높은 페이지 부재율이 스래싱의 원인이므로 지역 교환 알고리즘, 우선순위 교환 알고리즘을 이용하여 스래싱 제한이 가능
  • 프로세스에 필요한 많은 프레임을 제공하여 간단하게 스레싱을 방지
    • 작업 집합 모델 : 프로세스가 실제로 얼만큼 프레임을 많이 사용하는지 검사하여 지역모델을 정의
    • 지역 모델 : 프로세스를 실행할 때 프로그램은 보통 지역 몇 개로 중첩해서 구성하므로 한 지역에서 다른 지역으로 이동하는 과정을 의미
  • 가장 확실한 예방은 프로세스에 필요한 만큼 프레임 수를 제공하는 것

5-4 지역성

  • 실행 중인 프로세스에서 나타나는 특성
  • 동일한 값이나 관련 저장 위치를 자주 액세스하는 현상, 한번 참조한 데이터를 짧은 시간 안에 다시 참조 혹은 참조한 데이터의 근처에 있는 데이터를 짧은 시간안에 참조하는 현상을 의미
  • 시간 지역성
    • 특정 자원들을 상대적으로 짧은 시간 안에 재사용한다는 것을 의미
    • 순환, 서브 프로그램, 스택, 계산 변수는 시간 지역성에 적용하는 예
  • 공간 지역성
    • 프로세스가 메모리의 어떤 위치를 참조하면, 그 근처를 이후에도 계속 참조할 가능성이 높다는 것

5-5 작업 집합 모델

  • 프로세스가 메모리에서 페이지 부재를 가장 최소 비율로 유지하도록 가장 최근의 계산으로 필요한 메모리를 구하는 방법으로 제안된 모델.
  • 프로세스가 많이 참조하는 페이지 집합을 메모리 공간에 계속 상주시켜 빈번한 페이지 대치 현상을 감소

0개의 댓글