본문 바로가기
면접 질문/운영체제

[OS/운영체제] 페이징과 세그먼트 면접 질문 및 답변 정리

by 그적 2024. 2. 7.

 

  • 메모리 할당 방식에 대해 설명해주세요.
더보기

메모리 할당 방식은 페이징 기법과 세그먼트 기법이 있습니다. 프로세스를 일정한 단위로 분할한 것을 페이지, 메모리를 일정한 단위로 분할한 것을 프레임이라고 합니다. 페이지와 프레임이 동일한 단위로 분할한 것이 페이징 기법이고, 프로세스의 크기에 따라 메모리의 크기를 할당받는 것이 세그먼트 기법입니다.

 

  • 페이지는 어떤 기준으로 분할되나요?
더보기

페이지는 고정된 크기, 혹은 가변적인 크기를 CPU가 결정하는 것으로 알고 있습니다.

 

  • 세그먼트는 어떤 기준으로 분할되나요?
더보기

세그먼트는 프로세스 내 동일한 작업을 수행하는 데이터 혹은 코드를 기준으로 분할합니다. 일반적으로 메모리 내 코드, 데이터, 힙, 스택 영역을 기준으로 페이지가 분할되고, 페이지 크기에 맞게 프레임이 할당됩니다.

 

  • 페이징과 세그먼트를 비교해 설명해주세요.
더보기

페이징은 프로세스의 크기에 상관없이 페이지와 프레임이 동일한 크기를 갖고 있습니다. 이에 반해 세그먼트는 프로세스의 크기에 따라 메모리 크기가 결정됩니다. 따라서 페이지는 세그먼트에 비해 구현과 메모리 관리가 쉽습니다. 세그먼트는 메모리를 관리하기 위해 특별한 기법을 필요로 하며, 페이지에서 발생하는 외부 단편화를 해결했습니다.

 

  • 페이징의 장점과 단점은 무엇인가요?
더보기

페이징의 장점은 메모리 관리가 쉽고, 메모리에 대한 할당과 해제가 빠르다는 장점을 가집니다. 하지만 할당된 메모리보다 크기가 작은 프로세스가 들어가 프레임 내 빈 공간이 생기는 내부 단편화가 발생한다는 단점을 가집니다.

 

  • 페이징 단점은 어떻게 해결하나요?
더보기

내부 단편화는 세그먼트 기법을 통해 해결할 수 있습니다. 프로세스의 크기에 따라 메모리가 할당되기 때문에 프레임 내부에 빈 공간이 생기지 않습니다.

 

  • 세그먼트의 장점과 단점은 무엇인가요?
더보기

세그먼트의 장점은 페이지에서 발생하는 내부 단편화가 발생하지 않으며, 동일한 역할을 기준으로 분할되기 때문에 각 페이지 별로 read-only와 같은 보호 기법을 적용시킬 수 있다는 장점을 가집니다. 하지만 메모리 관리가 어렵고, 아주 작은 크기의 메모리 공간은 점점 쓸모 없어지는 외부 단편화가 발생합니다.

 

  • 세그먼트 단점은 어떻게 해결하나요?
더보기

외부 단편화를 해결하는 방법은 페이징 기법을 사용하는 것입니다. 페이지와 프레임을 모두 같은 단위로 분할하기 때문에, 메모리에 프로세스가 로드되었다가 빠져나가도 다시 동일한 단위의 페이지가 할당됩니다.

 

  • 현대 컴퓨터는 페이징 기법을 사용하나요, 혹은 세그먼트 기법을 사용하나요?
더보기

둘 다 혼용해서 사용하는 것으로 알고 있습니다.

 

댓글