• 캠퍼스북
  • LF몰 이벤트
  • 파일시티 이벤트
  • 서울좀비 이벤트
  • 탑툰 이벤트
  • 닥터피엘 이벤트
  • 아이템베이 이벤트
  • 아이템매니아 이벤트

MallocLab impicit 보고서

*상*
개인인증판매자스토어
최초 등록일
2016.02.02
최종 저작일
2015.02
12페이지/한글파일 한컴오피스
가격 3,000원 할인쿠폰받기
다운로드
장바구니

목차

1. 개 요
2. mm_naive
3. mm_implicit

본문내용

1. 개요
Malloc Lab은 동적 저장 공간을 할당하기 위한 코드를 구현하는 것으로 주어진 mm-implicit.c 파일에 각자 방식대로의 동적 할당 코드를 구현하여 완성하는 방식이다. 이번 주의 과제는 implicit방식의 동적 할당으로 장점으로는 단순성이 있고, 단점으로는 블록을 할당할 때 드는 비용이 전체 할당된 블록과 할당되지 않은 블록의 수에 비례하는 것이다.

2. mm_naive
MACRO
ALIGNMENT 8 : 저장 공간을 double word 사이즈 단위로 할당 함으로 8로 선언
ALIGN(size) (((size) + (ALIGNMENT-1)) & ~0x7) : size의 단위를 위에 선언한 단위로 맞추어 줌
SIZE_T_SIZE (ALIGN(sizeof(size_t))) : size_t형 사이즈를 ALIGN을 이용하여 위에 선언한 단위로 맞추어 줌
SIZE_PTR(p) ((size_t*)(((char*)(p)) - SIZE_T_SIZE)) : p에서 SIZE_T_SIZE 즉 8을 빼서 Header로 이동한 다음 해당 형을 size_t로 바꿈에 의해 앞에 4byte만 표현하여 p의 사이즈를 받아 옴

사용 함수
(1) int mm_init(void) : heap을 초기화 해주는 함수 구현이 되어있지 않아 0을 리턴
(2) void *malloc(size_t size) : size바이트의 저장 공간 할당을 해주는 함수,
ALIGN으로 입력받은 size를 SIZE_T_SIZE 즉 8을 더한 후 이 값보다 크거나 같은 8의 배수를 구하여 newsize에 넣어준다. 그리고 해당 newsize 만큼의 저장 공간을 p에 넣어 준다. 만약 p가 0 보다 작으면 즉 저장 공간을 받지 못하였으므로 NULL을 리턴 해주고 그렇지 않으면 p에 SIZE_T_SIZE 즉 8을 더하여 주고, p의 사이즈 값에 입력 받은 size를 넣어 준다. 그리고 p를 리턴 해준다.
(3) free(void *ptr) : 할당 받은 ptr 메모리를 가용 메모리로 바꾸어 주는 함수 구현이 되어있지 않음

참고 자료

없음
*상*
판매자 유형Bronze개인인증

주의사항

저작권 자료의 정보 및 내용의 진실성에 대하여 해피캠퍼스는 보증하지 않으며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
자료 및 게시물 내용의 불법적 이용, 무단 전재∙배포는 금지되어 있습니다.
저작권침해, 명예훼손 등 분쟁 요소 발견 시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.
환불정책

해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우

이런 노하우도 있어요!더보기

최근 본 자료더보기
탑툰 이벤트
MallocLab impicit 보고서
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업