. '프로그래밍 공부/CSPP' 카테고리의 글 목록 (2 Page)
본문 바로가기

프로그래밍 공부/CSPP17

9.9.0 동적메모리 할당 서문 가상 메모리의 영역을 저수준의 mmap과 munmap의 함수를 사용하여 생성하고 삭제할 수 있다. /* mmap과 munmap은 어떤 함수인가? 기본적이고 간단한 가상메모리 함수인가? mmap은 사용자 수준에서 커널 내부 주소 접근시 사용하고 munmap은 해제할 때 사용한다고 한다. */ 하지만 대개 추가적인 가상메모리를 런타임에 획득할 필요가 있을 때, 동적 메모리 할당기를 사용하는 것이 더 선호된다고 한다. 동적 메모리는 힙heap 이라고 하는 프로세스의 가상메모리 영역을 관리한다. /* 동적 메모리에 들어가기에 앞서 간단히 메모리의 영역을 공부하고 넘어가겠다. 메모리 구조를 알아보자 (velog.io) 메모리 구조를 알아보자 프로그램이 운영체제로부터 할당받는 대표적인 메모리 공간(RAM)은 다음과.. 2021. 1. 15.
9.1 물리 및 가상주소 방식 메인 메모리는 M개의 연속적인 바이트 크기의 셀의 배열로 구성된다. * 셀이라는 것은 메모리의 공간 기본단위인가? 각 바이트는 0, 1, 2, 3 ... 등의 물리주소(Physical Address)를 가지고, CPU는 이런 주소를 통해 메모리에 접근가능하다. 이런 방식을 물리 주소 방식이라고 부른다. 현재의 프로세스들은 다음과 같은 가상주소 방식을 사용한다. 초기의 컴퓨터들은 직접 물리주소 방식을 사용했다고 하는데, 왜 가상 주소 방식을 사용하는 것인가? 이것이 가상메모리와 연관이 있는 것일까? ( 가상 메모리 - 나무위키 (namu.wiki) ) 「현대의 CPU는 전부 MMU라는 메모리 관리 유닛을 별도로 내장하고 있다. 각 프로세스가 동립된 가상주소를가지면, A 프로세스에서 0x1000 라는 주소를.. 2021. 1. 15.
9.0 가상메모리 개략 가상 메모리는 세가지의 중요한 기능을 제공한다. 1. 메인 메모리를 디스크에 저장된 주소공간에 대한 캐시로 취급하여, 메인 메모리를 효율적으로 사용한다. 2. 각 프로세스에 통일된 주소공간을 제공함으로써 메모리 관리를 단순화한다. 3. 각 프로세스의 주소공간을 다른 프로세스에 의한 손상으로부터 보호한다. CS의 지식이 전무한 나로서는 이 세가지가 어떤 것인지 잘 모르겠다. 그렇기에 일단 추측을 해보기로 한다. 1의 경우 : 캐시는 CPU와 메인 메모리 사이에서 다시 사용할 가능성이 높은 데이터들을 임시로 보관하는 역할을 한다. 그런데 메인 메모리를 디스크에 저장된 주소 공간에 대한 캐시로 취급한다는 것은 어떠한 의미일까? 메인 메모리가 연산할 때 필요한 디스크의 데이터 중에서 많이 쓰이는 (혹은 많이 쓰.. 2021. 1. 15.