CS\OS 2

[OS] Memory Management (2)

Contiguous Memory Allocation연속 메모리 할당은 위와 같이 빈 공간에 연속적으로 메모리를 할당하는 방식이다. 하지만 이 문제는 외부 단편화가 발생하는 문제 점이 있다.외부 단편화란 위와 같이 프로세스가 제거되고 할당되는 과정에서 조금씩 단편화가 발생하여 메모리 공간은 조금씩 남아있으나 연속적으로 할당할 공간이 없어 프로세스를 할당하지 못하는 상황을 말한다. 이런 경우를 해결하기 위해서 두가지의 접근 방법이 있다. Compaction 메모리를 정리하면서 빈 공간을 하나의 큰 블록으로 만드는 방식으로 이 방식은 프로그램이 실행중일 때에도 주소를 변경 할 수 있어야 하며 이 경우 메모리가 해제될때마다 계속해서 이동이 발생하기 때문에 성능저하가 심해 쓰이지 않는다.Paging 페이징이란 불..

CS\OS 2025.05.05

[OS] Memory Management (1)

메모리 관리의 필요성몇몇 프로세스는 physical memory에 동시에 저장되는데 이때 자신에게 할당 된 범위 내의 메모리를 벗어나 다른 메모리를 침범하는 상황이 생길 수 있다.이를 막기위한 Protection mechanism이 제공되어야 한다.한 예시로 base register와 limit register를 사용하는 예시가 있다.base register는 프로세스가 시작하는 메모리 주소를 저장하며, limit register는 해당 프로세스가 저장된 메모리의 크기를 저장한다. 이를 사용하는 Hardware-supported address protection 를 간단하게 알아보도록 하자 Hardware-supported address protection 위 그림의 base 레지스터를 30004, l..

CS\OS 2025.05.05