내 잡다한 노트

챕터7. 물리 메모리 관리 1. 메모리 관리의 개요 본문

운영체제

챕터7. 물리 메모리 관리 1. 메모리 관리의 개요

peanutwalnut 2022. 9. 9. 11:58

현대의 시분할 시스템이 되면서 많은 프로세스들을 관리하게 됐다

그래서 프로세스들에게 어느정도의 메모리를 사용하게끔 하는 지를 고민하게 됨

 

메모리 관리의 이중성

프로세스는 메모리를 많이 차지하려 하고 메모리는 프로세스를 관리를 효율적으로 하고 싶어 한다.

 

컴파일러와 인터프리터

둘 다 소스코드를 목적코드(기계어)로 바꿔준다. 하지만 약간의 차이점이 존재한다. 컴파일러는 한꺼번에 하고

인터프리터는 한줄씩 코드를 읽어나간다.

또, 컴파일러는 변수를 미리 선언해야 한다. 

 

컴파일은 소스코드를 컴퓨터가 읽을 수 있는 목적코드로 바꿔주고 라이브러리를 사용했다면 연결해준다.

컴파일을 통해 오류를 해결하고 최적화를 해준다.

 

메모리 관리자가 하는 일

1. fetch 가져오기

2. placement 배치하기

3. replacement 재배치하기

 

fetch는 프로세스와 데이터를 메모리로 가져오는 작업이다.

placement는 가져온 것들을 메모리 어딘가에 배치하는 작업이다. 배치 작업 전에 메모리를 고정적으로 할 것인지

가변크기로 할 것인지를 결정한다.

replacement는 다 쓴 프로세스와 데이터를 내보내는 작업이다.