본문 바로가기

system

heap tutorial https://github.com/shellphish/how2heap shellphisih 님이 만드신 how to heapHeap 공부 기초를 다지려 올려봅니다 더보기
2. Heap(힙) 1. 힙이란? 80x86 시스템의 메모리 구성중 사용자의 필요에 의해 동적으로 메모리를 할당하는 곳. 프로그램 실행 중 할당해야할 메모리의 크기를 결정해야 하는 경우 사용. 프로그램 실행중 해당 힙이 없어질시 메모리 부족으로 이상 종료함. 2. 스택과의 차이점? 스택 영역에서는 LIFO(후입선출)방식이 사용되지만 힙 영역에서는 대개 포인터 변수를 통해 동적으로 할당하기 때문에 프로그램들이 요구하는 블록 크기나 요구 순서에 따른 일정한 규칙이 없음. 스택 영역에서는 해당 함수 종료시 할당된 메모리가 사라지지만 힙 영역에서는 프로그래머가 free()하거나 쓰레기 수집(GC - Garbage Collector)이 일어나기 전까지는 그대로 유지된다. 3. 동적 메모리 할당/해제 방법 new 또는 malloc().. 더보기
1. Register(레지스터) 1. Register(레지스터)란? 처리 중인 데이터나 처리 결과를 임시 보관하는 CPU 내의 기억 장치.프로그램의 메모지 역할과 같다. 2. 레지스터의 종류 및 역할 1) 범용 레지스터(General Register)EAX(Accmulator Register) - 주로 산술 연산에 사용. 함수의 결과값 저장EBX(Base Register) - 특정 주소 저장ECX(Count Register) - 반복 실행되는 특정 명령 기억 ex)루프 반복 횟수, 오른쪽/왼쪽 쉬프트 비트 수EDX(Data Register) - 일반 자료 저장 2) 포인터 레지스터(Pointer Register) EBP(Base Pointer) - 스택 내의 변수 값을 읽는데 사용. 스택 프레임의 시작 주소 저장. 사용하던 스택 프레임.. 더보기
0. Stack(스택) 1. Stack(스택)이란?80x86 시스템의 메모리 구성중 정보를 관리하는 데이터 구조.스택은 데이터를 삽입(PUSH)하거나 삭제(POP)할때 LIFO(Last-In, First Out)방식을 따른다.한글로 순화하여 후입선출 방식이라 하며, 이는 스택에 데이터를 삽입할 때 스택의 끝부분에 데이터가 위치하게 되고 데이터를 삭제할 때 스택의 끝부터 삭제가 된다. 또한 스택에서 정보를 읽을때 스택의 끝부분에 위치해있는 정보가 반환된다.따라서 스택에서는 가장 나중에 삽입된 정보가 가장 먼저 읽힌다는 특징이 있다. LIFO(Last-In, First Out)출처 https://commons.wikimedia.org/wiki/File:Lifo.png 더보기