메모리 관리란 소프트웨어가 실행될 때 컴퓨터 메모리 자원을 할당하고 사용하는 기술을 말합니다. 주요 목적은 효율적이고 빠르게 할당하고, 적절한 시간에 메모리 자원을 해제하고 회수하는 것입니다.
개인용 컴퓨터의 웹 브라우저나 튜링 머신과 같은 실행 프로그램은 프로세스를 위해 현실 세계와 컴퓨터 메모리 사이의 데이터를 변환한 다음 해당 데이터를 컴퓨터 메모리에 저장합니다(컴퓨터 과학에서는 프로그램). 명령의 모음이고 프로세스는 컴퓨터에서 실행되는 프로그램입니다. 메모리는 테이프나 디스크, 어레이 용량이 작은 마이크로칩 등 다양한 방식으로 물리적으로 구성될 수 있습니다. 1950년대부터 컴퓨터는 더욱 복잡해졌고 다양한 종류의 메모리와 연결되었습니다. 메모리 관리 작업도 복잡해졌으며 여러 프로세스가 동일한 시스템에서 동시에 실행되어야 합니다.
메모리에서 프로그램(운영 체제)은 각 데이터 블록에서 엔터티의 위치를 지속적으로 추적하고 엔터티의 데이터를 이동하여 성능을 향상하고 안정성을 보장합니다. 각 사용자 수준 프로그램에 대해 운영 체제는 프로세스가 시작되면 데이터를 물리적 장치로 이동할 필요가 없습니다. 데이터는 디스크의 가상 메모리 공간에 저장되며 프로세스를 위한 주 메모리 공간을 구성할 필요가 없습니다. 사용자는 필요할 때 메인 메모리에 자유롭게 로드됩니다.
큰 프로그램이 실행되면 프로세스가 되며, 대부분의 메모리 공간은 디스크의 가상 메모리 주소에 저장되며 필요한 부분만 메모리에 로드되어 서비스를 제공합니다.
주 메모리 사용량
프로그램 구조는 다음 두 부분으로 구성됩니다.
명령 저장소인 "텍스트 블록"은 CPU 사용 및 작동을 제공합니다.
"데이터 블록", 저장소 데이터 상수 문자열, GUI 인터페이스 내의 일부 텍스트 메시지 또는 프로그램 설계 중에 배치된 메시지 데이터와 같이 프로그램 자체 내에 설정된 데이터는 프로그램이 실행될 때 입력에 의해 추가되거나 프로그램을 통해 실행되는 프로세스에서 제거될 수 있습니다.
프로그램이 실행되면 운영 체제는 프로그램의 데이터 블록과 텍스트 블록을 가상 메모리 공간에 매핑한 다음 프로그램의 명령을 메모리에 실행합니다. 어떤 경우에도 프로그램이 실행될 때 임시 데이터를 저장해야 합니다. 데이터, 또는 더 중요하게는 일부 함수나 서브루틴을 호출하고 현재 함수의 상태를 저장합니다. 가장 좋은 데이터 구조 방법은 이 함수에서 데이터가 스택 형식으로 저장된다는 것입니다. 스택의 팝 메소드에 의해 데이터가 제거됩니다. 스택은 함수의 수명 주기 동안 동적으로 증가합니다. 운영 체제는 텍스트 블록과 데이터 블록을 구분하며, 스택 블록은 프로세스의 맨 위에 있습니다. . 이 방법을 세그먼트 또는 "세그먼트"라고 합니다.