✏️ [OS] 외부 단편화와 내부 단편화란?

박상민·2024년 2월 24일
1

CS Interview

목록 보기
8/16
post-thumbnail

📌 내부 단편화(Internal Fragmentation)

  • 프로세스가 필요한 양보다 더 큰 메모리가 할당되어 메모리 공간 낭비 발생
  • 프로세스는 실제로 사용하지 않는 메모리 영역을 가지고 있게 됨

Ex) 100MB의 메모리에 80MB 크기의 프로세스 적재

다음과 같은 20MB의 내부 단편화 발생 (해당 메모리 사용 불가)

📌 외부 단편화(External Fragmentation)

  • 남아있는 총 메모리 공간이 프로세스가 요청한 메모리 공간보다 크지만, 남아있는 공간이 연속적이지 않아 사용할 수 없는 경우
  • 쪼개진 메모리 공간을 사용할 수 없어 메모리 낭비 발생
  • 프로세스들이 메모리를 할당하고 반납하는 과정에서, 사용할 수 있는 메모리 공간이 쪼개져서 발생

Ex) 100(50+50)MB 남아있는 메모리 공간에 80MB 프로세스 적재

남아있는 메모리 공간은 50MB+50MB =100MB로 요청한 메모리 공간 80MB보다 크지만, 남아있는 공간이 연속적이지 않아 Process C를 할당할 수가 없게됨

외부 단편화에 대한 더 자세한 설명은 ✏️ [OS] 메모리 할당 알고리즘 First fit, Worst fit, Best fit 결과을 확인해주세요.

⭐️ 외부 단편화와 내부 단편화란?

외부 단편화(External Fragmentation) : 작업보다 많은 공간이 있더라도 실제로 그 작업을 받아들일 수 없는 경우 (메모리 배치에 따라 발생하는 문제)

내부 단편화(Internal Fragmentation) : 작업에 필요한 공간보다 많은 공간을 할당받음으로써 발생하는 내부의 사용 불가능한 공간


출처
Tech Interview for developer
혼자 공부하는 컴퓨터 구조 + 운영체제

profile
스프링 백엔드를 공부중인 대학생입니다!

0개의 댓글