Skip to content

Latest commit

 

History

History
110 lines (63 loc) · 5.33 KB

09. 가상 메모리 (2023-01-05).md

File metadata and controls

110 lines (63 loc) · 5.33 KB

질문 리스트


💻 Fragmentation(메모리 단편화)이란 무엇인가요? (소연)


메모리에 프로세스를 빈번하게 할당하고 반납함에 따라 메모리 공간이 여러 개의 작은 공간으로 나뉘게 되어, 사용 가능한 메모리가 충분함에도 불구하고 메모리 할당이 불가능한 상태를 말합니다.




💻 스와핑(Swapping)에 대해 설명해 주세요. (아람)


메모리에 적재된 프로세스 중 현재 실행되지 않는 프로세스를 보조기억장치의 스왑 영역(swap space)로 쫓아내고 만들어진 빈 메모리 공간에 또 다른 프로세스를 적재하여 실행하는 방식의 메모리 관리 기법입니다.

현재 실행되지 않는 프로세스가 메모리에서 스왑 영역으로 옮겨지는 것을 스왑 아웃이라 하고, 스왑 영역에 있던 프로세스를 다시 메모리로 옮겨오는 것을 스왑 인이라고 합니다.




💻 외부 단편화와 내부 단편화에 대해 설명해 주세요. (예지)


외부 단편화란 프로세스를 할당하기 어려울 만큼 적은 메모리 공간들로 인해 메모리가 낭비되는 현상입니다.

페이징을 통해 외부 단편화 문제를 해결할 수 있습니다.

내부 단편화란 하나의 페이지 크기보다 실제 할당되는 메모리의 크기가 작은 경우 발생하는 메모리가 낭비되는 현상입니다.

세그멘테이션을 통해 내부 단편화 문제를 해결할 수 있습니다.




💻 페이지 테이블(Page Table)에 대해 설명해 주세요. (지윤)


페이지 테이블은 논리주소의 페이지를 물리주소의 프레임으로 매핑시켜주는 정보를 담고 있는 테이블입니다.


💻 페이지 테이블 엔트리(PTE)의 유효 비트에 대해 설명해 주세요. (유리)


유효 비트는 현재 페이지가 메모리에 적재되어 있는지 아니면 보조 기억 장치에 있는지 알려주는 비트입니다.

페이지가 메모리에 적재되어 있다면 1, 메모리에 적재되어 있지 않다면 0이 됩니다.




💻 페이징의 장단점에 대해 설명해 주세요. (지윤)


페이징으로 외부 단편화 문제를 해결할 수 있습니다.

단점으로는 내부 단편화 문제가 발생할 수 있습니다. 이는 페이지 단위를 작게하면 해결할 수 있지만, 페이지 매핑 과정이 복잡해져 오히려 비효율적일 수 있습니다.




💻 페이지 폴트(Page fault)에 대해 설명해 주세요. (예지)


페이지 폴트란 CPU가 적재되어 있지 않은 페이지로 접근하려고 할 때 발생하는 예외 상황입니다.

페이지 폴트가 발생하면 CPU는 기존 작업 내역을 백업하고 페이지 폴트 처리 루틴(원하는 페이지를 메모리로 가져온 뒤 유효 비트를 1로 변경)을 실행합니다. 페이지 폴트를 처리했다면 이제 CPU는 해당 페이지에 접근할 수 있습니다.




💻 스레싱이 무엇인지 설명하고 스레싱의 해결방안에 대해 설명해 주세요. (아람)


메모리에 있는 모든 페이지가 활발히 사용되고 있어서 어떤 페이지가 교체된 후 곧바로 반복적인 페이지 폴트가 발생하는 상황입니다. 프로세스의 실행보다 페이징을 위해 더 많은 시간이 소요됩니다.

페이지 폴트가 많이 발생하는 이유는 CPU의 사용률을 높이기 위해 프로세스 수를 증가시켜 프로세스 별 프레임 개수가 감소하기 때문입니다.

이를 해결하기 위해 각 프로세스가 필요로 하는 최소한의 프레임 개수를 보장하거나, 워킹 세트를 유지해야 합니다.




💻 페이징 주소 변환 과정에 대해 간단히 설명해 주세요. (소연)


페이지 테이블에서 해당하는 페이지의 프레임 정보가 있는지 확인합니다.

다면 보조 기억 장치의 프레임 시작 주소로 찾아가고, 변위만큼 떨어진 곳으로 가게 됩니다.




💻 가상 메모리란 무엇인가요? (유리)


물리 메모리보다 큰 프로세스를 수행하기 위해 나온 기술로, 프로세스의 전체가 아닌 필요한 부분 일부만 부분적으로 적재하는 것입니다.

메모리 적재 여부는 페이지테이블에 표시합니다.




💻 페이징과 세그멘테이션의 차이는? (유리)


페이징은 프로세스를 고정 크기로 나누기 때문에 외부 단편화는 발생하지않지만, 내부 단편화가 발생할 수 있습니다.

세그멘테이션은 프로세스를 가변 크기로 나누어 외부 단편화가 발생할 수 있습니다.



페이징은 프로세스의 주소 공간을 고정된 사이즈의 페이지 단위로 나누어 메모리에 불연속적으로 할당하는 방식으로, 내부 단편화 문제가 발생할 수 있습니다.

세그멘테이션은 프로세스가 필요한 메모리 공간만큼 메모리를 할당해주기 때문에 내부 단편화 문제는 발생하지 않지만, 중간에 메모리를 해제하면 생기는 외부 단편화 문제가 발생합니다.