정보보호론/시스템 보안

스래싱 (Thrashing)

retro_blue 2020. 10. 14. 22:30
반응형

■ 스래싱 (Thrashing)

 - 너무 자주 페이지 교체가 일어나는 현상으로 어떤 프로세스에 지속적으로 페이지 부재가 발생하여 프로세스의 처리시간보다 페이지 교체시간이 더 많이 발생하는 현상이다

 - 다중 프로그래밍의 정도가 높아질수록 CPU의 이용률은 증가하지만 너무 높으면 스래싱이 발생할 수 있다. 따라서 스래싱이 발생하면 다중 프로그래밍의 정도를 낮춰준다

 

 ★ 페이지 부재 빈도 (PFF : Page-Fault Frequency)

   - 스래싱(Thrashing)이란 페이지 부재율이 높다는 것을 의미한다

   - 스래싱을 막기 위해 페이지 부재 빈도(PFF)를 사용한다

   - 허용할 수 있는 페이지 부재 빈도(Page Fault Rate) 구간을 설정해서 페이지 부재율이 높으면 프로세스가 더 많은 프레임을 필요로 한다는 의미이고, 페이지 부재율이 너무 낮으면 프로세스가 너무 많은 프레임을 갖고 있다는 의미이다

 

 ★ Working Set (작업 집합)

   - 워킹세트 또는 작업 집합은 하나의 프로세서가 자주 참조하는 페이지들의 집합이다

   - 프로그램이 효율적으로 수행되려면 그 프로그램의 워킹세트가 주기억장치에 유지되어야 한다

 

 

■ 기억장치 관리 기법의 문제점과 해결방법

 ⓐ 단편화

   - 다중 프로그래밍 기법에서 분할된 주기억장치에 프로그램을 할당하고 반납하는 과정을 반복하면서 사용되지 않고 남는 기억장치의 빈 공간들이 발생한다

   - 연속으로 기억장치를 할당하여 사용할 경우 크기가 맞지 않아서 사용되지 못하는 공간이 생길 수 있는데, 이러한 공간을 단편화 공간이라고 한다. 내부 단편화와 외부 단편화가 있다

 ⓑ 내부 단편화 (Internal Fragmentation)

   - 분할된 영역에 프로그램을 사용하고 남은 빈 공간을 말한다. 예를 들어 100크기를 갖는 분할에 80크기를 갖는 프로그램을 배치하였을 경우 20의 공간이 내부 단편화 공간이 된다

 ⓒ 외부 단편화 (External Fragmentation)

   - 동적 분할 기법을 사용할 때 분할된 영역이 할당될 프로그램의 크기보다 작기 때문에 프로그램이 할당될 수 없어 사용되지 않고 빈 공간으로 남게 되는 현상을 외부 단편화라 한다

   - 즉 분할의 크기가 프로그램의 크기보다 작아서 사용되지 못한 것을 말한다

   - 예를 들어 100크기를 갖는 분할이 있을 때 120크기를 갖는 프로그램은 배치되지 못하며 100의 공간이 외부 단편화 공간이 된다

 

 ☆ 단편화 해결방안

   ① 통합 기법 (Coalescing) 기법 : 통합 기법은 주기억장치 내에 인접해 있는 단편화 된 공간을 하나의 공간으로 통합하는 방법이다. 주기억장치에 빈 공간이 발생할 경우, 이 빈 공간이 다른 빈 공간과 인접되어 있는지 점검한 후 결합하여 사용한다

   ② 압축 (Compaction) 기법 : 압축 기법은 주기억장치 내에 분산되어 있는 단편화 된 빈 공간을 결합하여 하나의 큰 공간을 만드는 작업을 의미한다. 여러 위치에 분산된 단편화 된 공간을 주기억장치의 한쪽 끝으로 옮겨서 큰 가용 공간을 만든다

 

■ 집약성 (Locality)

 - 프로그램이 실행 도중 기억장치를 참조하는 패턴이 기억장치의 전 부분에 걸쳐 고루 나타나는 것이 아니라 어느 순간에는 일정한 한두 곳의 기억장치 부분에 집중적으로 접근하는 성질을 말한다

 - 순차적인 명령 수행, 루프, 배열 접근, 스택 등에 관련된 프로그램은 집약성을 잘 나타낸다

 - 이에 비해 포인터 참조, 해시표(Hash Table) 등은 집약성이 잘 나타나지 않는 예이다. 집약성은 가상 기억장치나 캐시 기억장치를 설계하는 데 중요한 역할을 한다

반응형