CS
-
가상메모리, 페이징(Paging), 세그먼테이션(Segmentation)CS 2023. 5. 13. 04:55
가상메모리란? : 보조기억장치를 주기억장치처럼 주소지정 가능하게 만든 저장공간 할당체제. 가상 메모리의 특성 - 프로세스의 모든 메모리 참조는 논리 주소(logical address)이며, 이는 동적으로 물리 주소(Physical address)로 변환된다. - 프로세스의 주소공간은 블록(페이지 or 세그먼트)으로 분할되어 그들 간의 순서나 인접관계와 무관하게 주기억장치상에 배치되어 수행될 수 있다. - 프로세스의 주소공간을 구성하는 페이지 중 일부만 주기억장치 상에 적재한 채 수행할 수 있다. - 가상메모리의 크기는 주기억장치의 크기가 아니라 컴퓨터시스템의 주소지정체제와 보조기억장치의 가용크기에 의해 제한된다. * 메모리 접근 오류(memory access fault)란? : 주기억장치에 적재되지 않은..
-
동적 메모리 할당 / malloc, calloc, realloc, freeCS 2023. 5. 8. 13:37
1. 동적(dynamic) 메모리 할당 : 메모리가 언제 할당되고 해제될지, 얼마만큼 할당될지가 실행 시간에 결정된다. * 동적 메모리 특징 - 프로그래머가 원하는 시점에 메모리를 할당하고, 원하는 시점에 해제할 수 있다. - 실행 중에 자유롭게 메모리를 사용할 수 있는 대신, 메모리 관리가 전적으로 프로그래머의 책임이 된다. 2. 정적(static) 메모리 할당 : 지역변수, 전역변수, 일반적인 변수, 포인터, 구조체, 배열 등 데이터를 저장할 변수를 선언해놓고 사용해왔다. 이러한 것들은 정적(static) 메모리 할당 방법이다. 즉 프로그램이 시작하기 전에 사용할 메모리공간을 정해놓고 시작하는 것이다. 지역 변수 - 블록에 들어갈 때 메모리에 할당되고 블록을 빠져나갈 때 자동으로 해제된다. 전역 변수..