深入理解计算机系统
YoungC_
这个作者很懒,什么都没留下…
展开
-
深入理解计算机系统家庭作业答案
不知为何 原作者从第七章开始不再更新家庭作业的答案,只好自己开始写答案~悲催~~该系列答案chapter2~chapter6可以参考http://blog.csdn.net/yang_f_k/article/list/1,博主名称yang_f_k转载 2013-11-25 20:58:02 · 3877 阅读 · 0 评论 -
hw 9.17
区别就是在全局变量中保存一个char* last_bp;在每次malloc后,动态记录last_bp的值,然后写下如下代码static void* find_nextFit(size_t asize){ char* bp = NEXTBLCK(last_listp); while(GETSIZE(HDRP(bp))!=0){ if(GETSIZE(bp原创 2013-11-27 20:11:53 · 650 阅读 · 0 评论 -
hw 9.19
1. 对 错 错 错2. 错 错 错 对3. 错 对 错 错原创 2013-11-27 21:14:16 · 731 阅读 · 0 评论 -
hw9.20 分离适配式 malloc free 实现 思想猜测
首先,先了解下书中所介绍的采用隐式空闲链表的简单适配器实现贴出来供大家参考,在Ubandu下编译成功。#include #include #define WSIZE 4#define DSIZE 8#define CHUNKSIZE (1<<12)#define MAX(x,y) ((x)>(y)?(x):(y))#define PACK(size,alloc) (原创 2013-11-27 20:54:08 · 2005 阅读 · 0 评论 -
hw 9.14
#include #include #include #include #include int main(int argc,char** argv){ int fd = open("hello.txt",O_RDWR,0); char * fistChar = (char*)mmap(NULL,1,PROT_WRITE,MAP_SHARED,fd,0); *fistChar原创 2013-11-26 19:47:19 · 686 阅读 · 0 评论 -
hw 9.16
显示空闲链表要求在空闲块中存放两个指针,一个pred指针,一个succ指针,再加上头部和脚部,最少需要16字节。最小块大小16161616疑惑,在网上查的显示空闲链表的解释下所理解的答案,如果不对,烦请指正!原创 2013-11-26 21:16:29 · 813 阅读 · 0 评论 -
hw 9.11
虚拟地址格式0 0010 0111 1011地址翻译VPN 0x9tlb索引 0x1tlb标记 0x2否否0x17物理地址格式101 1111 1011物理地址引用0x30xE0x17否-----原创 2013-11-26 15:29:25 · 740 阅读 · 0 评论 -
hw 9.15
块大小 十进制 块头部 十六进制8 0x916 0x1124 0x1932 0x21原创 2013-11-26 20:59:47 · 761 阅读 · 0 评论 -
hw 9.12
虚拟地址格式0 0011 1010 1001地址翻译VPN 0xEtlb索引 0x2tlb标记 0x3否否0X11物理地址格式100 0110 1001物理地址引用0x10xa0x11否------原创 2013-11-26 15:39:15 · 602 阅读 · 0 评论 -
hw 9.13
虚拟地址格式0 0000 0100 0000地址翻译VPN 0x1tlb索引 0x1tlb标记 0x0否是--------原创 2013-11-26 15:34:03 · 664 阅读 · 0 评论 -
hw 9.18
已分配块之需要头部,不需要脚部,带来的改变是合并时候,无法轻易的判断prevBlock 是否是一个空闲块,需要从heap_listp开始往后开始寻找到 当前块bp的上一个,判断其头部(因为你无法知道上一个到底是空闲的还是已分配的),来决定是否合并它。代码思想如下:static void* newCoaleace(void *bp){ //对于下一个块的合并与原来一样,不再赘述。只原创 2013-11-27 20:22:52 · 881 阅读 · 0 评论