ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 10-2. Virtual Memory Management_SW components
    OS/os 공부 2022. 1. 12. 00:47

    가상 메모리의 성능 향상을 위한 sw측면의 관리 기법들을 살펴보자

    Allocation stratagies

    메모리를 얼마만큼 할당할지에 대한 전략으로 

    Fixed allocation(고정 할당)

    Variable allocation(가변 할당)

    이 있다.

     

    고정 할당은 프로세스의 실행동안 고정된 크기의 메모리 할당을 말하며 가변할당은 프로세스의 실행동안 할당하는 메모리의 크기가 유동적인것을 말한다.

     

    너무큰 메모리를 할당하면 메모리가 낭비되고, 너무 적은 메모리를 할당하면 Page fault rate가 증가해 시스템 성능 저하를 일으키기 때문에 적절한 사이즈의 메모리를 할당해 주어야 하는데 이를 위해서는 프로세스의 실행에 필요한 메모리 양을 예측해 주어야 한다.

     

    Fetch stratagies

    메모리를 언제 가져올지(적재할지)에 대한 전략을 세우는 것으로 

    Demand fetch(demend paging) : 프로세스가 참조하는(필요로 하는) 페이지만 적재 하는 방법이다.

    Anticipatory fetch(pre-paging): 가까운 미래 참조될 가능성이 높으면 page를 미리 적재하는 방법이다.

     

    프리 페이징 방법은 예측을 성공한다면 page fault 오버헤드가 없지만 예측 실패시 overhead가 더 클 수 있고 예측의 Hit rtio에 민감하다.

     

    실제 대부분의 시스템은 Demand fetch기법을 사용한다.

     

    Placemnet Strategies

    Page/segment를 어디에 적재할 것인가? 에 대한전략을 세우는 것으로

    크기가 고정되어있는 Paging system에는 불필요하다.

     

    Segmentation system에서의 배치기법으로는 Firtst-fit, Best-fit, Worst-fit, Next-fit 등이 있다.

     

    Replacement Strategies

    page frame이 꽉 찬 경우 새로운 page를 어떤 page 와 교체할 것인가에 대한 전략을 세우는 것으로

     

    Fixed allocation을 위한 교체기법에는

    • MIN(OPT, B0) algorithm

    • Random algorithm

    • FIFO(First In First Out) algorithm

    • LRU(Least Recently Used) algorithm

    • LFU(Least Frequently Used) algorithm

    • NUR(Not Used Recently) algorithm

    • Clock algorithm

    • Second chance algorithm

     

    Variable allocation 을 위한 교체기법으로는 

    • VMIN(Variable MIN) algorithm

    • WS(Working Set) algorithm

    • PFF(Page Fault Frequency) algorithm

     

    등이 있다.

     

    Cleaning Strategies

    Update bit(dirty bit)를 언제 write-back하여 0으로 만들어 줄지에 대한 전략으로 

    변경된 내용을 언제 swap device에 반영하는지에 대한 전략이다.

     

    Demand cleaning 방법과  Anticipactory cleaning(pre cleaning) 방법이 있으며 

    디맨딩은 해당 page에서 메모리를 내놓을때 반영하는 것이고

    Anticipactory 방법은 더이상 변경 가능성이 없다고 판단될떄 미리 예측하여 write-back해주는 방버이다.

     

    역시 두번쨰 방법은 예측에 성공하면 page 교체 시 발생하는 write-back시간이 절약되지만 write-back이후 내용이 수정되면 overhead가 발생하는 단점이 있다.

     

    실제 대부분의 시스템은 Demand cleaning 기법을 사용한다.

     

    Load Control Strategies

    시스템 부하를 컨트롤 하는 전략으로 

    시스템의 multi-programming degree를 조절하는 전략을 말한다.

     

    시스템의 부하가 너무 적으면(under-loaded) 자원을 낭비하는것으로 성능의 저하를 말하고 부하가 과하면(Over-loaded) 자원에 대한 경쟁이 심화되고 과도한 page fault가 발생하는 thrashing 현상이 발생 하여 성능이 급격히 저하된다.

    따라서 적정수준의 multi-programming degree를 유지해야 한다.

    댓글

Designed by Tistory.