1. 가상기억장치
보조기억장치의 일부를 주기억장치처럼 사용하는 것이다. 용량이 적은 주기억장치를 마치 큰 용량을 가진 것처럼 사용하는 기법이다.
- 실행을 위해서는 맵핑작업이 필요하다. (주소전환)
2. 기법
1) 페이징 기법
가상 기억장치에 있는 프로그램과 주기억장치의 영역을 동일한 크기로 나눈 후, 프로그램(페이지)를 동일하게 나눠진 주 기억장치의 영역(페이지 프레임)에 적재시켜 실행시키는 기법이다.
프로그램을 일정하게 나눈 단위를 페이지라고 한다.
페이지 크기로 일정하게 나눠진 주기억장치의 단위를 페이지 프레임이라 한다.
외부 단편화가 발생 안한다. - 내부 단편화가 발생할 수 있다.
맵핑 테이블이 필요하다.(주소변환)
2) 세그먼테이션 기법
가상 기억장치에 보관된 프로그램을 다양한 크기의 논리적 단위로 나눈 후, 주기억장치에 적재, 실행 시키는 기법이다.
프로그램을 배열/함수 등과 같은 논리적 크기로 나눈 단위를 세그먼트라고 한다. (고유 이름, 크기를 가진다.)
세그먼트가 주기억장치에 적재될 때 다른 세그먼트에게 할당된 영역을 침법할 수 없다. 이를 위해 기억장치 보호키가 필요하다.
외부 단편화가 발생할 수 있다.
기억 공간을 절약하기 위함이다.
3. 성질
- 지역성(구역성, locality)
프로세스가 실행되는 동안 주기억장치를 참조할 때 일부 페이지만 집중적으로 참조하는 성질이 있다는 이론이다.
시간구역성 : 프로세스가 실행되면서 하나의 페이지를 일정시간동안 집중적으로 액세스하는 현상, loop, stack subroutine, counting, totaling 등이 있다.
공간구역성 : 프로세스 실행 시 일정 위치의 페이지를 집중적으로 액세스 하는 현상, 배열순례, 순차적 코드실행 등이 있다. - 워킹 셋(working set)
프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합
자주 참조되는 워킹셋을 주기억장치에 상주시켜, 페이지 부재 및 교체 현상을 줄인다. - 쓰레싱(thrasing)
너무 자주 페이지 교환이 발생하여 어떤 프로세스가 프로그램 수행에 소요되는 시간보다 페이지 교환에 소요되는 시간이 더 많은 현상이다.
즉, 다중 프로그래밍 정도가 높아짐에 따라 CPU의 이용률은 어느 특정 시점까지 높아지지만, 다중 프로그래밍 정도가 심하면 스래싱이 나타나고, CPU 이용률은 급격히 감소된다.
페이지 부재율이 크면 스래싱이 많이 일어난다.
프로세스들이 워킹셋을 확보하지 못한 결과이다.
쓰레싱 현상 해결방안
- 부족한 자원을 증설, CPU 이용률 높인다.
- 일부 프로세스를 중단한다.
- 워킹 셋 방법을 사용한다.
- 페이지 부재율을 조절하여 대처한다.
728x90
반응형
'Study > EIP' 카테고리의 다른 글
EIP : SQL summary (0) | 2021.09.29 |
---|---|
EIP : Scrum (0) | 2021.09.28 |