본문 바로가기

메모리

(2)
메모리 정렬 방식 개발자가 될 때 까지.. Memory Alignment 컴퓨터는 데이터를 메모리에 저장할 때 바이트 단위로 데이터를 나누어 저장한다.데이터를 저장하는 순서는 '빅-엔디안', '리틀-엔디안' 두가지 방식으로 나뉜다.이는 CPU 아키텍처에 따라 달라지며, 어떤 CPU에서는 이 두 가지 방식을 모두 지원하도록 구성( '미들-엔디안' )할 수도 있다고 한다.따라서, 데이터를 다른 시스템에 전송 할 때 서로 다른 데이터 저장 방식의 시스템끼리 통신을 하게 되면 엉뚱한 값을 주고 받을 수 있다. 좀 더 자세히 알아 보도록 하자. 엔디안Endianness 은 컴퓨터의 메모리와 같은 1차원 공간에 여러개의 연속된 대상을 배열하는 방법을 뜻하며, 바이트를 배열하는 방법을 Bytes Otder( 바이트 순서 )라 한다. ..
메모리 관리, 동적할당 개발자가 될 때 까지.. Memory management, dynamic allocation 프로그램을 실행하면 변수, 함수 등 동작 되는 모든 아이들은 운영체제에 의해서 메모리 공간이 생긴다.메모리 공간이 생기면 변수, 함수 등은 주소값을 부여받게 되고 그들을 사용할 수 있다. 이 메모리 공간은 "코드 / 데이터 / 힙 / 스택" 4개의 영역으로 구분되어있는데, 어떤 메모리 공간에 할당되는 가에 따라서 주소값이 얼마나 유지되는지, 쓰이는 범위 등이 결정된다. 메모리 공간을 나누는 이유는 효율성 떄문이라고 한다. 관리가 용이해지고 메모리의 접근속도가 좋아진다는.. 그런.. 코드 영역실행할 프로그램의 코드가 저장되는 메모리 공간, CPU는 저장된 명령문들을 하나씩 가져가 실행한다.데이터 영역전역 변수, s..