• 통큰쿠폰이벤트-통합

[Unix programming] malloc lab 구현

*필*
개인인증판매자스토어
최초 등록일
2012.12.13
최종 저작일
2010.05
11페이지/ 압축파일
가격 3,000원 할인쿠폰받기
다운로드
장바구니

소개글

- malloclab-handout source code
- 보고서

100점짜리이구요, 보고서까지 첨부합니다.
보고서에는 돌아가는 원리를 그림으로 설명되어 있어서 이해하기 쉽습니다.
열공 ~

목차

1. Macro 설명
2. int mm_init(void)
3. void *malloc(size_t size)
4. void *best_find_fit(size_t asize)
5. void free(void *ptr)
6. void *realloc(void *oldptr, size_t size)
7. 결과 화면

본문내용

#define ALIGNMENT 8
내가 만든 malloc 프로그램은 double word방식을 이용한 것이므로 payload를 8단위로 잡는다. 이 매크로는 payload를 8단위로 만들기 위해 ALIGN하는 과정에서 사용된다.
#define ALIGN(size) (((size) + (ALIGNMENT-1)) & ~0x7)
payload를 8단위로 만드는 매크로이다. 할당할 사이즈에 7을 더한 후, 뒤의 세 비트를 제거해 주면 8단위로 올림된 것을 볼 수 있다.
#define SIZE_T_SIZE (ALIGN(sizeof(size_t)))
size_t타입의 크기를 ALIGN한 매크로이다. size_t의 크기가 4byte이므로 8단위로 만들면 8byte가 된다. 이 프로그램에서는 사용되지 않았다.
#define SIZE_PTR(p) ((size_t*)(((char*)(p)) - SIZE_T_SIZE))
본 노드의 사이즈가 포함된 word로 이동하는 것이다. 이 프로그램에서는 사용되지 않았다.
#define WSIZE 1
이 프로그램의 대부분의 변수들은 size_t이다. 따라서 4byte단위로 이동하며 탐색한다. 따라서 size_t 변수에서 +1 은 +4byte와 같다. 만일 변수가 void 또는 char라면 +1은 +1byte를 의미한다.
#define DSIZE 2
위와 같은 이유로 +2는 8byte를 의미한다.
#define CHUNKSIZE (1<<12)
확장 사이즈 4096을 매크로로 정의하였다.
#define OVERHEAD 8
payload외에 헤더(4byte) + 푸터(4byte) = 8byte

#define MAX(x, y) ((x) > (y)? (x) : (y))
최대값을 구하는 매크로로 이 프로그램에서는 사용되지 않았다.
#define PACK(size, alloc) ((size) | (alloc))
말록시에 할당되었다는 것을 표시하기 위해 맨 뒷자리에 1바이트를 넣어주는 것이다. 하지만 PACK만으로 free시킬 수는 없다. OR이므로 오직 1바이트 set만 가능하다.

참고 자료

없음

압축파일 내 파일목록

malloc보고서.hwp
malloclab-handout.zip

자료후기(1)

*필*
판매자 유형Bronze개인인증

주의사항

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

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

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

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

최근 본 자료더보기
유니스터디 이벤트
[Unix programming] malloc lab 구현
  • 아이템매니아 이벤트
  • 유니스터디 이벤트
AI 챗봇
2024년 09월 22일 일요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
6:31 오후
문서 초안을 생성해주는 EasyAI
안녕하세요. 해피캠퍼스의 방대한 자료 중에서 선별하여 당신만의 초안을 만들어주는 EasyAI 입니다.
저는 아래와 같이 작업을 도와드립니다.
- 주제만 입력하면 목차부터 본문내용까지 자동 생성해 드립니다.
- 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
9월 1일에 베타기간 중 사용 가능한 무료 코인 10개를 지급해 드립니다. 지금 바로 체험해 보세요.
이런 주제들을 입력해 보세요.
- 유아에게 적합한 문학작품의 기준과 특성
- 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
- 작별인사 독후감
방송통신대학 관련 적절한 예)
- 국내의 사물인터넷 상용화 사례를 찾아보고, 앞으로 기업에 사물인터넷이 어떤 영향을 미칠지 기술하시오
5글자 이하 주제 부적절한 예)
- 정형외과, 아동학대