1)가상메모리가 무엇이며, 어떻게 구현되는 기술인지 설명하세요.
가상 메모리
- 가상 메모리는 메모리를 관리하는 또 다른 형태로, 각 프로그램에 실제 주소가 아닌 가상 메모리 주소를 주는 방법이다.
- 프로그램 전체를 동시에 실행하지 않으므로 요구한 메모리 전체가 아닌 일부만 적재해도 실행이 가능하다.
- 가상 메모리는 다중프로그래밍 환경을 구축했고 메인 메모리의 단점이었던 제한된 용량과 중첩 사용 문제를 해결했다.
어떻게 구현되는지?
- 페이징 방식으로 구현된다.
1) 활동 영역을 메인 메모리에 유지하면서 필요할 때는 디스크와 메모리 사이에 프로세스 코드와 데이터를 저장한다.
2) 자동으로 전송하는 – 스왑 인, 스왑 아웃 – 과정을 거쳐 프로세스를 재할당한다.
3) 디스크에 저장된 주요 공간은 캐시로 처리하여 메인 메모리를 효율적으로 사용할 수 있게 한다.
2)스래싱이 무엇인지 설명한 후, 그에 대한 대책인 작업 집합 모델에 대하여 충분히 설명하세요.
스래싱 – 페이지 교환이 계속 일어나는 현상
- 어떤 프로세스가 프로세스 수행에 보내는 시간보다 페이지 교환에 보내는 시간이 더 길면 ‘스래싱을 하고 있다’고 표현한다.
작업 집합 모델 – 가장 최근의 페이지 참조에 있는 페이지 집합
- 프로세스의 작업 집합 모델 내의 페이지들, 즉 최근에 참조된 페이지들을 메인 메모리에 유지시켜 프로세스를 빠르게 실행한다. 그리고 새로운 프로세스들은 메인 메모리에 자신들의 작업 집합을 적재할 수 있는 공간이 있을 때만 시작할 수 있다.
- 프로세스가 많이 참조하는 페이지 집합을 메모리 공간에 계속 상주시켜 빈번한 페이지 대치 현상을 줄인다.
- 프로세스들을 메모리에 저장해야 프로세스를 효율적으로 실행할 수 있다. 그렇지 않으면 빈번한 페이지 대치 작업으로 스래싱이 발생한다.
- 프로세스의 작업 집합 모델을 구성하려면 작업 집합의 크기를 알아야 하는데, 작업 집합 크기는 작업 집합 창을 이용하여 구한다.
- 작업 집합 창은 매개변수를 이용하여 정리하며, ‘현재 시간(t)에서 최근의 일정 시간 단위( )’를 정하여 결정한다.
- 따라서 작업 집합 창의 크기는 매개 변수인 시간 단위 ( )에 따라 다르다.
3) 다음 페이지 참조열에서 다음 각 페이지 대치 알고리즘에 페이지 부재가 몇 번 발생하나요? (단 페이지 프레임은 4개로 가정하고, 현재 기억장치는 모두 비어 있다고 가정한다) 페이지 참조열 : 0, 6, 5, 1, 4, 5, 0, 5, 3, 6, 5, 5, 2, 3, 2, 3, 5, 2, 2, 6
1) LRU 2) 선입선출FIFO 3) 최적OPT 4) 시계
1) LRU - 9회
0 |
6 |
5 |
1 |
4 |
5 |
0 |
5 |
3 |
6 |
5 |
5 |
2 |
3 |
2 |
3 |
5 |
2 |
2 |
6 |
0 |
0 |
0 |
0 |
4 |
4 |
4 |
4 |
4 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
|
6 |
6 |
6 |
5 |
6 |
0 |
0 |
0 |
0 |
0 |
0 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
|
|
5 |
5 |
6 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
|
|
|
1 |
1 |
1 |
1 |
1 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
2) 선입선출FIFO - 10회
0 |
6 |
5 |
1 |
4 |
5 |
0 |
5 |
3 |
6 |
5 |
5 |
2 |
3 |
2 |
3 |
5 |
2 |
2 |
6 |
0 |
0 |
0 |
0 |
4 |
4 |
4 |
4 |
4 |
4 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
|
6 |
6 |
6 |
6 |
6 |
0 |
0 |
0 |
0 |
0 |
0 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
|
|
5 |
5 |
5 |
5 |
5 |
5 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
|
|
|
1 |
1 |
1 |
1 |
1 |
1 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
3) 최적OPT - 7회
0 |
6 |
5 |
1 |
4 |
5 |
0 |
5 |
3 |
6 |
5 |
5 |
2 |
3 |
2 |
3 |
5 |
2 |
2 |
6 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
|
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
|
|
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
|
|
|
1 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
4) 시계 – 9회
0 |
6 |
5 |
1 |
4 |
5 |
0 |
5 |
3 |
6 |
5 |
5 |
2 |
3 |
2 |
3 |
5 |
2 |
2 |
6 |
0 |
0 |
0 |
0 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
|
6 |
6 |
6 |
5 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
|
|
5 |
5 |
6 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
5 |
|
|
|
1 |
1 |
1 |
0 |
0 |
3 |
3 |
3 |
3 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |