본문 바로가기
컴퓨터공학/운영체제

[운영체제] 페이징과 외부 단편화, 내부 단편화

by 독서왕뼝아리 2023. 5. 2.
스와핑

메모리에 적재된 프로세스가 잠시 저장공간(SSD, HDD)에 물러났다가 다시 메모리로 적재되는 작업

가상 메모리를 이해하기 위한 약간의 지식

 


 

 

초기 메모리 관리법 

MMU(Memory Management Unit)라는 논리 주소를 물리 주소로 변환하는 CPU 안의 장치를 이용해 메모리에 접근했다.

(논리주소/물리주소에 자세히 알고 싶으면 아래 링크 참조)

 

[운영체제 OS]Address Binding 주소 할당, 주소 바인딩, 논리적 주소(logical) vs 물리적 주소(physical), 컴

[운영체제 목차] 안녕하세요~!! ㅎㅎㅎ 메모리 관련 문의글이 많아, 가장 기초적인 주소 할당부터, 그 종류, 페이징, 캐시메모리...쪽을 한번 먼저 쭉 다뤄볼까해요 ㅎㅎ 요새 기다려주시는 사람

jhnyang.tistory.com

 

 

[운영체제 OS]Address binding 로드타임 바인딩(load time binding), 실행타임(execution time) 바인딩 (run time bi

안녕하세요 여러분 오랜만에 들고 온 운영체제 관련 글입니다. ㅎㅎ [운영체제 OS 완전정복 목차] 저번 시간에는, 1. 물리적 주소란 (physical address) 2. 주소 바인딩이란 (Address binding) 3. 절대 코드란

jhnyang.tistory.com

 

연속 메모리 할당(Contiguous Allocation) : 논리 주소가 연속이면 물리 주소도 연속이다.

연속 할당의 단점 !

외부 단편화를 야기한다!!!!!!!!!

 

  • 외부 단편화

프로세스보다 메모리 빈 공간이 크게 남았음에도 불구하고 조각조각 분리돼 있어서 프로세스를 (연속적으로) 할당할 수 없는 문제

 

메모리에 5MB 공간이 있음에도 4MB 프로세스를 할당하지 못함

그래서 외부 단편화 문제를 해결하기 위해 방법을 고안했다.

바로 Compaction이라는 자투리 공간을 모아 연속적인 빈 공간을 만드는 작업이다.

물론 프로세스를 넣다 뺐다하니까 굉~~~~~~장히 비효율적이다.  그래서 다음 고안된 기술이 Paging이다!!!

 

결론 : 페이징은 외부 단편화를 해결하기 위함

 

 


현대 메모리 관리법

페이징

메모리 공간을 일정한 크기로 분리하여 관리하는 방법

논리 주소를 동일한 크기로 나눈 것이 page, 물리 주소를 동일한 크기로 나눈 것을 frame이라고 한다.

 

 

  • 내부 단편화

컴퓨터 메모리 page 크기로 프로세스가 딱 맞게 떨어지지 않아서 발생하는 문제이다.

 

page 크기가 3이라면 프로세스 크기가 10이라고 하면 3, 3, 3, 1(!) 해서 2만큼의 공간이 낭비된다.

 

그렇다면 중구난방으로 저장된 메모리들을 어떻게 참조하는 걸까?

 

 

는 다음 포스팅에서 ∠( ᐛ 」∠)_

 

 

 

 

reference

 

What is Fragmentation and what are its types?

In this blog, we will learn about the fragmentation problem that occurs during memory allocation. We will also study the types of fragmentation i.e. internal fragmentation and external fragmentation.

afteracademy.com

 

[운영체제 OS] 메모리 관리기법 - 페이징 (paging)이란? 내부 단편화(Internal Fragmentatoin)에 대해 알아

[운영체제 완전정복 링크 모음] 안녕하세요 양햄찌 블로그 입니당. 오늘은 드디어 운영체제에서 중요한 한 섹션을 차지하고 있는 페이징(paging)에 대해 살펴보려고 해요. 오늘 진행하려는 포스팅

jhnyang.tistory.com