SSAFY-CSStudy / OS

SSAFY CS 운영체제 스터디입니다.
11 stars 0 forks source link

[8. 메모리관리1] memory allocation #40

Open KwanwooKo opened 8 months ago

KwanwooKo commented 8 months ago

1Depth

Question

contiguous allocation을 사용했을 때 장점과 단점

Answer 장점: 구현이 간단함(+메타데이터가 적어서 오버헤드도 작음), 데이터가 연속적으로 저장되어 있어서 디스크를 활용할 때 빠르게 접근 가능(물론 요즘은 ssd를 많이 쓰기 때문에 이 효과는 미미함)
단점: hole (메모리를 충분히 다 활용하지 못함)

2Depth

Question

External Fragmentation 과 Internal Fragmentation에 대해서 설명

Answer External fragmentation: 프로세스에 할당된 메모리가 실제 프로세스가 사용하는 메모리보다 많은 경우에 발생(프로세스에 할당은 됐는데, 실제로 사용하지 않는 경우)
Internal fragmentation: 실행이 안돼서 메모리에 남아있는 공간 (주로 이전 프로세스가 공간을 차지했다가 나간 뒤에 다음 프로세스가 hole을 완벽하게 메꾸지 못해서 발생)

3Depth

Question

Internal Fragmentation을 해결하기 위해 운영체제가 사용하는 기법에 대해 설명하고 그게 왜 contiguous allocation보다 좋은지 설명

Answer paging 을 통해서 해결
hole이 생기면 지속적으로 메모리를 사용하지 못하는 공간이 생기고 hole을 완벽하게 채우는 것이 어려워 지속적으로 공간이 남는다
이 때 hole을 최대한 메꾸는 best-fit 방법을 채택할 수 있지만, 이 방법은 제일 적합한 hole을 찾는데 시간이 오래 걸려 문제가 있다
그래서 프로세스의 주소와 물리적 메모리를 동일한 크기로 분할해서 프로세스의 한 칸이 물리적 메모리의 칸에 딱 맞게 할당되도록 만든다
다만 이렇게 할 경우 프로세스의 마지막 page에 external fragmentation이 존재한다.

Additional Explain