7.1 메모리 관리가 만족시켜야 하는 요구 사항은 무엇인가?
재배치(Relocation), 보호(Protection), 공유(Sharing), 논리적 구성(Logical organization), 물리적 구성(Physical organization)
7.2 프로그램의 재배치란 무엇인가?
프로그램이 디스크로 스왑아웃되면, 다음에 다시 스왑인 되었을 때 메모리의 다른 공간으로 프로세스를 재배치 하는 것.
7.3 프로그램과 데이터를 모듈화 시킴으로써 발생되는 장점은 무엇인가?
1. 각 모듈의 작성과 컴파일은 독립적으로 이루어질 수 있으며, 서로 다른 모듈 간에 이루어지는 참조는 수행시간에 시스템에 의해 해결된다.
2. 비교적 적은 추가 비용(overhead)으로 각 모듈마다 서로 다른 보호 등급(읽기전용, 수행전용)을 적용할 수 있다.
3. 프로세스들 간에 모듈을 공유할 수 있는 기법을 제공할 수 있다. 모듈 레벨의 공유를 제공함으로써 얻을 수 있는 장점은 사용자가 문제를 보는 관점과 부합된다는 것이며, 그 결과 사용자가 자신이 원하는 대로 공유를 명시할 수 있다.
7.4 두 개 이상의 프로세스 모두가 메모리의 특정 영역을 접근할 수 있도록 허용하는 이유는 무엇인가?
어떤 업무에 있어서 협력하는 프로세스들은 물리 메모리의 같은 페이지(pages)를 접근하는 것이 필요하다. 그러므로 메모리 관리 시스템은 필수적인 보호 기능을 침해하지 않는 범위에서 제한된 접근을 통하여 메모리의 일부분을 공유할 수 있도록 허용해야 한다.
7.5 고정 분할 기법에서 비균등 크기의 파티션들을 이용할 때의 이점은 무엇인가?
프로세스 크기에 따른 융통성을 가질 수 있고 비교적 간단하고 운영체제 소프트웨어의 기능을 최소로 하고 처리 오버헤드 역시 최소로 할 수 있다.
7.6 내부 단편화와 외부 단편화는 무엇이 다른가?
내부 단편화는 균등분할에서 적재되는 데이터가 파티션보다 작을 때 파티션 내부 공간의 낭비가 발생하는 현상을 말하고 외부 단편화는 동적 분할에서 모든 파티션 영역 이외의 메모리가 점차 사용할 수 없는 조각으로 변하는 현상을 말한다.
7.7 논리주소 및 상대주소, 물리주소의 차이점은 무엇인가?
논리주소란 현재 데이터가 적재된 메모리와는 독립적인 메모리 위치에 대한 참조이다. 이 주소는 실제 메모리 접근을 위해서 반드시 그 전에 물리주소로 변환되어야 한다. 상대주소란 논리주소의 특별한 예인데, 어떤 알려진 지점, 주로 처리기의 한 레지스터의 값으로부터 상대적인 위치를 의미하는 주소이다. 물리주소 또는 절대주소란 주기억장치 안에서의 실제 위치를 말한다.
7.8 페이지와 프레임의 차이점은 무엇인가?
프레임과 페이지는 메모리를 일정한 크기의 공간으로 나누어 관리하는 단위이다.
프레임은 물리 메모리를 일정한 크기로 나눈 블록이고, 페이지는 가상 메모리를 일정한 크기로 나눈 블록이다.
페이지 | 프레임 | |
1 | 페이징 시스템에서 페이지는 크기가 고정된 가상 메모리 블록이다. | 페이징 시스템에서 프레임은 크기가 고정된 메인 메모리 블록이다. |
2 | 페이지는 가상 주소를 가지고 있고 그것은 주기억장치와 보조 기억장치 사이에 하나의 단위로 전송된다. | 프레임은 가상 주소에서 하나의 페이지를 가진다. |
3 | 페이지 주소는 보조기억장치의 주소를 나타내는 가상 주소이다. | 프레임 주소는 주기억장치의 물리적 위치 주소이다. |
7.9 페이지와 세그먼트의 차이점은 무엇인가?
페이지는 고정 크기의 블록이며, 시스템에 의해서 할당받는 메모리이다.
세그먼트는 서로 다른 크기의 블록으로 나누는 개념이며, 사용자의 필요에 의한 메모리이다.(malloc, calloc...)