[운영체제] 고정 분할 방식과 가변 분할 방식의 메모리 관리
CS/운영체제2022. 7. 7. 16:47[운영체제] 고정 분할 방식과 가변 분할 방식의 메모리 관리

OS는 할껀데 핵심만 합니다. 13편 가변 분할 메모리와 고정 분할 메모리, 단편화 과거에는 메모리가 정말 작았다. 요즘은 메모리가 차고 넘치지만, 프로그램도 그만큼 무거워지고 용량이 커졌다. 가령 스타2라는 게임을 플레이한다고 하자. 스타2 프로그램이 총 20GB인데, 메모 velog.io 페이징과 세그멘테이션에 대해 공부하던 중 고정 분할 방식과 가변 분할 방식의 차이점에 대해 잘 설명된 글을 찾았다. 연속 메모리 관리 프로그램 전체가 메모리에 연속적으로 할당되어야 하는 관리 기법 고정 분할 기법 : 메모리가 고정된 파티션으로 분할 → 내부 단편화 발생 동적(=가변) 분할 기법 : 파티션들이 동적 생성, 프로세스는 자신의 크기와 같은 파티션에 적재 → 외부 단편화 발생 가변 분할 방식 vs 고정 분할..

[운영체제] 내부 단편화 vs 외부 단편화
CS/운영체제2022. 7. 7. 14:08[운영체제] 내부 단편화 vs 외부 단편화

고정 분할 기법을 사용하면 내부 단편화가 발생하고 동적 분할 기법을 사용하면 외부 단편화가 발생하는 이유는 무엇일까 ? 내부 단편화와 외부 단편화의 원인 프로세스가 수행되기 위해서는 프로세스가 주기억장치, 즉 메인 메모리에 적재되어야 하는데 이 과정에서 프로세스는 일정 크기의 메모리를 요청한다. 이 때 요청한 크기보다 큰 메인 메모리의 파티션을 할당해 주었을 때 내부 단편화가 발생한다. 일반적으로 고정 분할 기법은 한 파티션에 하나의 프로세스만 적재될 수 있는데 위와 같은 상황에서는 프로세스보다 큰 파티션을 할당해 주었기 때문에 남는 메모리가 생긴다. 남는 메모리라 하더라도 한 파티션에는 하나의 프로세스만 들어갈 수 있기 때문에 그 남은 메모리는 사용할 수가 없다. 이 내부 단편화를 보완하기 위해 나온 ..

[운영체제] 페이징과 세그멘테이션
CS/운영체제2022. 7. 7. 12:17[운영체제] 페이징과 세그멘테이션

메모리 개념 메인 메모리(Main Memory, Physical Memory, 주기억장치) 메인 메모리란 CPU가 직접 접근할 수 있는 기억 장치로, 프로세스가 실행되려면 프로그램 코드를 메인 메모리에 적재해두어야 한다. 이때, 프로그램 용량이 메인 메모리보다 크다면 어떻게 될까 ? 가상 메모리(Virtual Memory) 실제 물리 메모리 개념과 사용자의 논리 메모리 개념을 분리한 것이다. Memory 공간은 한정적이므로 사용자에게 더 많은 Memory를 제공하기 위해 가상 주소를 사용한다. MMU를 통해 논리 주소, 물리 주소를 나누어 사용하며 CPU의 메모리를 관리한다. MMU란 ? Memory Management Unit로 가상 주소를 실제 메모리 주소로 변환해주는 장치 가상 주소 공간 - 하나의..

image