2017년 5월 20일 토요일

16 프레임 할당1


1) 쓰레싱(Thrashing)이란?
  * CPU utilization (CPU 이용율)
    : CPU가 쉬지 않고 얼마나 잘 활용되었는가!
  * degree of multiprogramming(number of processes)
    : 멀티 프로그래밍의 정도. 즉,수행중인 프로세스의 수
  * 쓰레싱(hrashing)
    : 프로세스가 1개이거나 수가 적으면 I/O 처리가 있을 때마다 CPU는 대기 상태가되어 이용률이 낮아진다. 그러나 프로세스가 많아 질 수록 CPU 대기 시간이 줄어들고 이용률이 증가하게 된다.
    : 그러나 프로세스의 수가 어느 정도 증가하고 나면 CPU 이용률이 급격하게 감소하는 현상이 발생한다. 이를 쓰레싱(Thrashing)이라고 한다.
    :쓰레싱의 원인은 프로세스가 많아 질 수록 메모리에 빈 프레임이 줄어들게 되고 따라서 페이지 교체의 빈도가 증가하게 되기 때문이다. 페이지 교체로 인한 I/O처리로 인해 CPU의 대기 시간이 증가하는 것이다. (동시에 많은 프로그램을 실행하면 컴퓨터가 늦어지는 이유중의 하나이기도 하다.)


  * 쓰레싱 현상을 최대한 감소 시켜야 시스템의 성능을 높일 수 있다.
  * 쓰레싱을 줄이는 방법은?
    (1) Local Repleacement(지역 교체)를 한다.각 프로세스에 할당된 프레임의 수가 변동이 없게 되며, 다른 프로세스에 의해 영향을 받지 않는다. 즉, 다른 프로세스의 쓰레싱에 영향을 받지 않게 된다.
    (2) 프로세스에게 적당한 수의 프레임을 할당해 준다. 페이지 교체는 결국 프레임의 부족해서 발생하는 것이기 때문이다. 단, 문제는 어느 정도가 적당한가? 이것이 문제이다.

  * 프레임 할당이란?
   : 메모리를 프로세스에게 어떻게 분배할 것인가? 즉, 프레임을 어떻게 할당할 것인가?
   : 프레임은 프로세스의 페이지 크기와 같은 크기로 메인 메모리를 나눈 단위이다.
   : 프로세스에게 너무 적은 프레임이 할당되면 페이지 부재가 빈번하게 발생한다.
   : 프로세스에게 과한 프레임이 할당되면 페이지 부재는 적지만 메모리 낭비를 초래한다.

  * 프레임 할당 알고리즘
   (1) 정적 할당(static allocation)
      1-1) 균등 할당(Equal allocation)
      1-2) 비례 할당(Proportional allocation)
   (2) 동적 할당(dynamic allocation)
      2-1) 작업 집합 모델(Working set model)
       2-2) 페이지 부재 빈도(Page fault frequency)

댓글 없음:

댓글 쓰기