-
Question : OS : MemoryComputer Science/OS 2021. 4. 6. 17:43728x90
프로세스에 할당되는 메모리의 각각의 영역에 대해 설명해주세요
1.
code 또는 text 영역은 말 그대로 프로그램 source code가 저장된다.
실행 파일을 구성하는 명령어들이 올라가는 메모리 영역이다.
2.
data 영역은 프로그램의 실행과 종료 사이에서 발생하는 전역변수, static 변수, 배열, 구조체 등이 저장된다.
프로그램이 시작될 때 할당되고, 종료될 때 해제된다.
3.
stack 영역은 함수 호출과 관계되는 지역변수 또는 매개변수가 저장된다.
함수가 호출되면 할당되고, 함수가 종료되면 해제된다.
stack의 크기는 각 프로세스마다 할당되지만, 메모리에 적재된 후에는 크기가 고정된다.
4.
heap 영역은 필요에 의해 동적으로 할당되는 영역이다.
stack과 heap은 같은 공간을 공유하고, 서로의 영역을 침범하는 것을 overflow라고 한다.
Paging과 Segmentation에 대해서 설명해주세요
1.
paging은 가상 메모리 영역을 크기가 동일한 page라는 단위로 나누어 처리하는 방법을 말한다.
가상메모리는 page라는 고정 단위로 분할되고, 물리메모리는 page와 같은 크기의 page frame으로 분할된다.
이 둘에 대한 정보는 page table에 쌍으로 정의되고, page table을 참고하여 논리 주소가 물리 주소로 변환된다.
2.
segmentation은 가상 메모리 영역을 가변적인 크기를 가지는 segment라는 단위로 나누어 처리하는 방법이다.
segment 영역에 대한 정보와 얼마만큼의 거리가 떨어져 있는지를 나타내는 offset 정보가 담김 segment table을 참고하여 논리 주소를 물리 주소로 변환한다.
내부 단편화와 외부 단편화는 무엇인가요? 어떠한 환경에서 발생되나요?
1.
내부 단편화는, 프로세스에 메모리를 할당할 때, 필요한 양보다 더 큰 메모리가 할당되어, 메모리 공간 안에 잔여 메모리가 남는 현상이다.
2.
외부 단편화는, 할당된 메모리들 사이사이에 사용할 수 없는 작은 크기의 메모리들이 남는 현상이다.
3.
paging 기법 사용 시, 내부 단편화는 발생하지만, 외부 단편화는 발생하지 않는다.
segmentation 기법 사용 시, 내부 단편화는 발생하지 않지만, 외부 단편화는 발생할 수 있다.
페이지 교체 알고리즘을 몇 가지 소개해주세요
(헷갈리는 것 위주로 작성)
1.
LRU (Least Recently Used) : 가장 오래 사용되지 않은 페이지를 교체하는 알고리즘
2.
LFU (Least Frequently Used) : 참조 횟수가 가장 적은 페이지를 교체하는 알고리즘
728x90'Computer Science > OS' 카테고리의 다른 글
CS : OS : IPC (0) 2021.04.15 Question : OS : Kernel (0) 2021.04.11 Question : OS : Process (0) 2021.04.06 CS : OS : Memory (0) 2021.03.25 CS : OS : Kernel (0) 2021.03.25