⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme

📁 ICS 课程的Lab7
💻
字号:
###################################################################### CS:APP Malloc Lab# Traces## Copyright (c) 2002, R. Bryant and D. O'Hallaron, All rights reserved.# May not be used, modified, or copied without permission.#######################################################################This directory contains traces of allocate and free requests that areused by the test harness to evaluate the student malloc packages.*********1. Files**********.rep		Original traces*-bal.rep	Balanced versions of the original tracesgen_XXX.pl	Perl script that generates *.rep	checktrace.pl	Checks trace for consistency and outputs a balanced versionMakefile	Generates tracesNote: A "balanced" trace has a matching free request for each allocaterequest.**********************2. Building the traces**********************To rebuild the traces from scratch, type 	unix> make********************3. Trace file format********************A trace file is an ASCII file. It begins with a 4-line header:<sugg_heapsize>   /* suggested heap size (unused) */<num_ids>         /* number of request id's */<num_ops>         /* number of requests (operations) */<weight>          /* weight for this trace (unused) */The header is followed by num_ops text lines. Each line denotes eitheran allocate [a], reallocate [r], or free [f] request. The <alloc_id>is an integer that uniquely identifies an allocate or reallocaterequest.a <id> <bytes>  /* ptr_<id> = malloc(<bytes>) */r <id> <bytes>  /* realloc(ptr_<id>, <bytes>) */ f <id>          /* free(ptr_<id>) */For example, the following trace file:<beginning of file>20000381a 0 512a 1 128r 0 640a 2 128f 1r 0 768f 0f 2<end of file>is balanced. It has a recommended heap size of 20000 bytes (ignored),three distinct request ids (0, 1, and 2), eight different requests(one per line), and a weight of 1 (ignored).************************4. Description of traces************************* short{1,2}-bal.repTiny synthetic tracefiles for debugging* {amptjp,cccp,cp-decl,expr}-bal.repTraces generated from real programs.* {binary,binary2}-bal.repThe allocation pattern is to alternatively allocate a small-sizedchunk of memory and a large-sized chunk. The small-sized chunks(either 16 or 64 ) are deliberately set to be power of 2 while thelarge-size chunks (either 112 or 448) are not a power of 2. Defeatsbuddy algorithms. However, a simple-minded algorithm might prevail inthis scenario because a first-fit scheme will be good enough.* coalescing-bal.repRepeatedly allocate two equal-sized chunks (4095 in size) and releasethem, and then immediately allocate and free a chunk twice as big(8190). This tests if the students' algorithm ever really releasesmemory and does coalescing. The size is chosen to give advantage totree-based or segrated fits algorithms where there is no header orfooter overhead.* {random,random2}-bal.rep	Random allocate and free requesets that simply test the correctnessand robustness of the algorithm.* {realloc,realloc2}-bal.rep	Reallocate previously allocated blocks interleaved by other allocationrequest. The purpose is to test whether a certain amount of internalfragments are allocated or not. Naive realloc implementations thatalways realloc a brand new block will suffer.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -