메모리 단편화 (Memory Fragmentation)
2024. 2. 18. 18:34
컴퓨터 과학/개념정리
메모리를 공부하면서 메모리 단편화에 대해서 알게 되었다. 그래서 추가적으로 메모리 단편화가 무엇인지 정리해보려고 한다. 메모리 단편화가 무엇인가 RAM 에서 메모리의 공간이 작은 조각으로 나누어져 사용가능한 메모리가 충분히 존재하지만 할당이 불가능한 상태를 메모리 단편화라고 한다. 메모리 단편화는 2가지로 구분할 수 있다. 내부 단편화 (Internal Fragmentation) 외부 단편화 (External Fragmentation) 내부 단편화 (Internal Fragmentation) 내부 단편화란 메모리를 할당할 때 OS 에서 할당한 메모리 공간보다 프로세스가 더 적은 공간을 사용해서 낭비되는 상태를 말한다. 예를 들어, 10MB 의 메모리 크기가 주어졌는데 실제 프로세스는 5MB 만 사용하는 ..
메모리 구조 (Memory Structure)
2024. 2. 18. 17:27
컴퓨터 과학/개념정리
디스크에 저장되어있는 프로그램을 실행하게 되면 프로그램에 대하 정보를 읽어와 메모리에 로드하게 된다. 그럼 메모리에 어떻게 적재되고 어디에 적재되는가에 대해서 정리해보자. 먼저 메모리는 다음과 같이 4개의 영역으로 구분된다. 그럼 각 영역이 어떤 역할을 하는지 알아보자. 코드(Code) 영역 코드 영역에는 우리가 작성한 코드가 저장된다. 이때 컴파일이 완료된 상태의 코드(0과 1로 이루어진 기계어)가 할당된다. 예를 들어, 코드 내에 있는 함수나 조건문, 상수 와 같은 코드들이 컴파일되어 메모리에 할당된다. 따라서 CPU 가 작업을 수행할 때 코드 영역에 있는 명령어들을 가져가 실행하게 된다. 데이터(Data) 영역 데이터 영역에는 전역 변수(global) 와 정적 변수(static) 가 할당된다. ma..