● 메모리 관리
메모리는 컴퓨터 시스템에서 정말 중요한 자원 중 하나로, 운영체제는 메모리를 잘 관리해야 합니다. 어떤 프로그램을 실행하려면 프로그램의 실행 코드를 메모리로 적재해야 합니다. 또한, 해당 프로그램이 실행 중 추가 메모리를 요청하면 시스템은 가용할 수 있는 메모리 중 일부를 해당 프로그램에 할당해야 합니다. 운영체제에는 수많은 프로세스가 작동하고 있습니다. 프로세스들이 모두 메모리를 사용하고 있을 테니 운영체제가 메모리를 잘 관리해야 프로그램들이 문제없이 돌아갑니다.
간단하게 설명했지만, 사실 메모리는 이보다 훨씬 더 복잡한 메커니즘으로 관리됩니다. 메모리는 커널이 사용하는 메모리, 하드웨어에 할당된 메모리 등 사용 목적에 따라 구분됩니다. 메모리 주소 체계도 물리 메모리 주소(physical memory address), 가상 메모리 주소(virtual memory address) 등으로 구분해 관리합니다. 가용 메모리가 부족하다면 메모리 영역의 일부를 디스크로 잠시 옮겨놓고 메모리를 사용합니다. 반대로 디스크에 저장된 데이터를 메모리로 복구해 사용합니다. 이를 스와핑(swapping)이라고 하는데, 이것도 메모리 관리에 포함된 일입니다.