728x90 반응형 malloc lab4 정글에서 살아남기 | WEEK06 | 시스템 콜, 데이터 세그먼트, sbrk, 메모리 단편화? 태초마을로 돌아가자(컴퓨터 시스템 기초 이해 필수) 정글 6주 차!! week06의 키워드 WEEK06: 시스템 콜, 데이터 세그먼트, sbrk, 메모리 단편화 week05주 때 RBTREE를 구현하면서 malloc을 사용했었다. 그리고 이번 주 차에는 내가 사용했던 malloc함수를 내가 만드는 것이 목표! 1. Malloc Lab 구현 저번 주에는 실사용에 사용되는 효율적인 자료구조를 통해 C언어 문법에 대해서 익혔다면, 이번 주는 C언어에서 메모리 할당에 사용되는 malloc함수를 직접 구현하면서 데이터가 메모리에 어떤 방법으로 할당되는지 등 메모리에 대한 개념을 이해하는 것이 과제의 목표였다. 말롭랩 과제에 대한 자세한 설명은 아래 링크로! 2021.09.14 - [개발자 도전기/[SW사관학교 정글] 개발일지] - Malloc Lab | 동적 메모.. 2021. 9. 19. Malloc Lab | 동적 메모리 할당(3) - Implicit - first fit, next fit 코드 구현 Malloc Lab | 동적 메모리 할당(1) - 개념 정리 Malloc Lab | 동적 메모리 할당(2) - 묵시적 가용 리스트(Implicit free list) 더보기 그 외 explicit 방법 구현 등 코드도 보고 싶다면? https://github.com/dapsu/week06-malloclab.git Implicit - First fit /* * mm-naive.c - The fastest, least memory-efficient malloc package. * * In this naive approach, a block is allocated by simply incrementing * the brk pointer. A block is pure payload. There are no he.. 2021. 9. 15. Malloc Lab | 동적 메모리 할당(2) - 묵시적 가용 리스트(Implicit free list) Malloc Lab | 동적 메모리 할당(1) - 개념 정리 Malloc Lab | 동적 메모리 할당(1) - 개념 정리 동적 메모리 할당? C언어를 공부하면서 배열을 정할 때 배열의 크기도 명확하게 설정해야 하는 것이 파이썬과 달라 조금 낯설었다. 예를 들어 A대학교 B학과의 학년 별로 코로나 백신 접종을 얼 dapsu-startup.tistory.com 이전 포스팅에서 동적 메모리에 대한 간단한 개념 소개와 명시적 할당기 중 묵시적 가용 리스트, 명시적 가용 리스트 두 가지 방법에 대해서 짧게 설명했었다. 이번에는 묵시적 가용리스트(Implicit free list, 줄여서 Implicit라고 부르겠음)에 대해 정리해보려고 한다. 묵시적 가용 리스트(Implicit free list) 실용적인 할당기.. 2021. 9. 14. Malloc Lab | 동적 메모리 할당(1) - 개념 정리 동적 메모리 할당? C언어를 공부하면서 배열을 정할 때 배열의 크기도 명확하게 설정해야 하는 것이 파이썬과 달라 조금 낯설었다. 예를 들어 A대학교 B학과의 학년 별로 코로나 백신 접종을 얼마나 했는지 결과를 출력하는 프로그램을 만든다고 생각해보자. 각 학년 별로 학생 수가 모두 다르기 때문에 배열을 일일히 정하는 것은 효율적이지 않다고 느껴진다(물론 학생 수 정도야 귀찮아도 가능하겠지만, 다뤄야 하는 데이터가 방대해진다면 어질어질해진다). 그렇다고 크기를 '충분히 크게' 잡게 된다면 메모리가 낭비되는 경우가 발생할 것이다. 이런 낭비를 막기 위해 '학년 별 학생 수'를 입력 받고 그 학생 수 만큼 배열의 크기를 정할 수 있다면 효율적일 것이고, 이를 가능하도록 하는 방법이 바로 동적 메모리 할당이다. .. 2021. 9. 14. 이전 1 다음 728x90 반응형