블로그 이미지
LanSaid

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Recent Post

Recent Comment

Recent Trackback

Archive

2012. 5. 25. 16:26 Study/운영체제
* 스레싱(Thrashing)
 1. 페이지 교환이 계속 일어나는 현상
  1) 어떤 프로세스가 프로세스 수행에 보내는 시간보다 페이지 교환에 보내는 시간이 더 크면 '스레싱을 하고 있다' 고 말함
 2. 스레싱 발생 원인
  1) 운영체제는 항상 프로세서의 효율성(이용률)을 감시하여 운영
  2) 이용률이 떨어지면 이를 높이기 위해 새로운 프로세스를 도입, 다중 프로그래밍의 정도를 높임
   (1) 새로운 프로세스가 수행 중인 프로세스의 페이지를 빼앗아서 수행을 시작할 경우 더 많은 페이지 부재 발생
   (2) 프로세서가 요구하는 최소한의 수보다 페이지 프레임 수가 적으면 적을수록 페이지 부재율이 증가
   (3) 페이지 부재가 많이 일어날수록 프로세스가 페이징 처리장치를 기다리는 시간이 길어지므로 프로세스의 효율성은 떨어짐
% 페이지 부재로 프로세서의 이용률 감소 시 스레싱이 발생하여 시스템의 처리율은 낮아지고 페이지 부재는 늘어나 유효 메모리 엑세스 시간이 증가,
   페이지 교체시간이 낭비됨

 3.
  1) 프로세서의 이용률과 

 4. 스레싱 예방
  1) 지역교환 알고리즘이나 우선순위 교환 알고리즘을 사용하여 제한할 수 있음.
   (1) 지역 교환 알고리즘 사용 시 프로세스 하나에 스레싱이 발생하더라도 다른 프로세서에서 프레임을 가지고 올수 없어 다른 프로세스는
       다른 프로세스는 스레싱 현상에 빠지지 않음.
   (2) 여러 프로세스에서 스레싱이 발생할 경우 프로세스들은 대부분의 시간을 페이징 처리장치를 기다리는 큐에서 대기
   (3)


* 지역성(국부성)
 1. 실행 중인 프로세스에 의해 나타나는 특성
  1) 프로세스들은 실행기간 동안 메모리 내의 정보를 균일하게 엑세스하는 것이 아닌 페이지 중 일부를 선호하여 지역적인 부분만을 집중적으로 참조하는 현상
  2) 프로그램들의 순환이나 부 프로그램, 스택, 변수들의 계산과 합계, 배열 순례, 순차적 코드의 실행등으로 발생
  3) 프로그래머들이 관련 있는 변수들을 서로 근처에 배치시키기 때문에 발생함

 2. 지역성의 종류
  1) 시간 지역상
  2) 공간 지역성
  3) 스레싱 현상 방지를 위해 각 프로세스가 필요로 하는 프레임을 제공할 수 있어야 함
  4) 지역성을 이용하여 현재의 지역 크기보다 적은 페이지 프레임 할당 시 페이지 부재 발생의 원인이 될 수 있음.


* 작업설정 모델(Working Set Model)
 1. 프로그램의 수행과정을 지역성 개념으로 설명하기 위해 데닝이 개발
  1) 프로세스가 많이 참조하는 페이지 집합을 메모리 공간에 계속 상주시켜 빈번한 페이지 대치 현상을 줄이는 방법
  2) 프로세스의 작업모델 구성을 위해 작업설정의 크기를 알아야 하며, 작업설정의 크기는 작업설정 창을 이용하여 구함
  3) 최근에 참조된 페이지들을 메인 메모리에 유지시켜 프로세스가 빠르게 실행될 수 있음
  4) 새로운 프로세스들은 메인 메모리에 그들의 작업설정들이 적재할 수 있는 공간이 있을 때만 시작될 수 있음

 2. 작업 설정의 가장 중요한 성질은 작업설정의 크기
 
 3. 작업설정 모델 사용법
  1) 운영체제는 각 프로세스의 작업설정을 감시, 각 프로세스에 작업설정의 크기에 맞는 충분한 프레임 할당.
  2) 여분의 페이지 프레임이 있을 때는 준비상태에 있는 다른 프로세스를 불러들인 후 프레임을 할당하여 다중 프로그래밍의 정도를 증가시킴
  3) 모든 프로세스가 갖는 작업설정 크기의 합이 전체 유효 프레임의 수보다 커지게 되면 잠시 중지 시킬 프로세스를 선정하여 페이지를 회수
% 가능한 다중 프로그래밍의 정도를 높이면서 스레싱을 방지하는 효과를 제공, 프로세서의 효율성을 최적화 시킴

 4. 작업설정 모델에서 해결해야할 문제점
  1) 우선 작업설정이 갖는 과거의 참조가 미래의 참조를 항상 보장하지는 않음
  2) 작업설정의 크기와 구성 페이지들은 시간 경과에 따라 변함
  3) 각 프로세스에 대한 작업설정을 모두 측정한다는 것은 현실적으로 불가능함
  4) 작업설정은 프로세스가 실행됨에 따라 삭제, 추가되기도 하므로 변화가 심함
  5) 각 프로세스가 참조한 페이지 시간과 시간 순서로 된 페이지 큐를 유지해야 하므로 작업설정에 의한 메모리 관리는 복잡함
  6) 작업설정 창의 크기를 나타내는 매개 변수인 Δ

 5. 그림8-36 작업설정 크기에 따른 페이지 프레임 수와 페이지 부재율과의 관계 


* 페이지 부재 빈도(PPF, Page Fault Frequency)
 1. 스레싱 예방을 위한 직접적인 엑세스 방법
 
* 대치 범위
 1. 여러 프로세스가 제한된 수의 프레임 사용을 위해 할당 기준이 필요함
  1) 전역대치
   (1) 페이지 대치 범위를 모든 프로세스에 적용(리눅스의 대치전략)
   (2) 프로세스가 교체할 프레임을 다른 프로세스로부터 획득
   (3) 성능분석이 쉬움
  2) 지역대치
   (1) 프로세스를 개별적으로 제한(윈도우 XP의 대치전략)
   (2) 각 프로세스에 할당된 프레임들 중에서만 교체할 희생자를 선택가능
   (3) 구현이 쉽고 부담이 적음
% 두가지 모두 사용한 가능한 빈 프레임이 없을때 페이지 부재를 해결하기 위해 사용됨

 2. 전역 대치
  1) 특정 페이지를 점유하고 있는 프로세스에 관계없이 메인 메모리에 있는 모든 페이지는 대치 대상이 됨
   (1) 프로세스가 교환할 프레임이 현재 다른 프로세스에게 할당되어 있어도 개별 프로세스의 동작(연산)과 상관없이 전체 프레임 중에서
        하나를 선택해 프레임을 대치 가능
   (2) 다른 프로세스는 교환을 위해 그 프레임을 선택하지 않는다는 가정하에 가능함
  2) 프로세스에 할당하는 프레임의 수는 증가하며 똑같은 프로그램도 외부적 환경에 따라서 전혀 다르게 수행 될 수 있음
  3) 문제점
   (1) 한 프로세스의 페이지 부재 처리를 위해 다른 프로세스의 페이지가 제거될 수 있어 각 프로세스의 페이지 부재비율을 조절 불가능
   (2) 다른 프로세스의 영향을 받기 때문에 프로세스의 실행이 늦어지거나 빨라질 수 있음
% 개별 프로세스의 동작보다는 시스템 전반에 중점을 두므로 대형 시스템에 이용됨

 3. 지역 대치
  1) 부재를 일으킨 프로세스의 상주 페이지에서 대치할 페이지를 선택
%각 프로세스에 대한 메모리 내의 페이지 집합은 각 프로세스의 페이지 기법에만 영향을 받고 지역대치의 할당 과정은 특정 프로세스로 지역화 된다


* 프리 페이징(Prepaging)
 1. 처음에 발생하는 많은 페이지 부재를 방지하기 위한 기법
  1) 예상되는 모든 페이지를 사전에 한꺼번에 메모리 내로 가져옴
  2) 프리 페이징에 할당된 메인 메모리 크기와 한번에 미리 가져올 수 있는 페이지 수 그리고 어떤 페이지를 미리 가져올 지 결정할 수 있는
     경험적(공간적, 시간적 지역성에 따라 예상하는)알고리즘이 중요함
  3) 입출력 인터럽트를 위해 연속된 페이지를 한 번에 메모리로 가져와 입출력을 여러 번 수행하는 요구 페이징 보다 좋은 성능을 보여줌

 2. 문제점
  1) 프리 페이징 비용이 그에 상당하는 페이지 부재를 해결하는 데 드는 비용보다 적은지 확인이 필요
  2) 페이징에 의해 메모리로 돌아온 페이지 중에서 상당 수는 사용되지 않을 수 있음


* 페이지 크기
 1. 최적 페이지 크기에 관해 결정
  1) 일반적인 페이지 크기는 2의 거듭제곱, 256(2^8)에서 4,096(2^12)byte나 word.
  2) 페이지 크기 결정 시 페이지 테이블의 크기를 고려해야 함
   (1) 가상 메모리 공간이 주어졌을 때, 페이지 크기를 감소시키면 페이지의 수가 증가, 페이지 테이블의 크기도 증가함
   (2) 활동 중인 각 프로세스는 페이지 테이블의 사본을 가져야 하므로 페이지 크기가 큰 것이 좋음

  3) 메모리는 크기가 작은 페이지가 이용하기 좋음
   (1) 프로세스가 필요한 만큼 연속적으로 할당되면 프로세스는 정확히 페이지 경계에서 끝나지 않음.
   (2) 마지막 페이지의 어떤 부분은 할다오디나 사용되지 않는 내부 단편화가 발생
   (3)
  4)
  5) 프로세서 속도, 메모리 용량 증가 및 디스크 속도의 증가로 인해 오늘날 페이지 크기는 커짐
  6) 페이지 크기 결정의 어려움
   (1) 내부 단편화, 지역성 - 크기가 작은 페이지가 유리
   (2) 테이블 크기, 입출력 시간 - 크기가 큰 페이지가 유리

posted by LanSaid