E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Csapp
##
CSAPP
读书日记-第六章-存储器层次结构
首先贴个图,展示存储器的层次结构:之所以这样设计存储器,就算为了以更低的成本达到接近于全部高级配备的才能达到的性能。(其中有个核心的思想:局部性原理)局部性原理有2种表现形式:1.时间局部性(被引用过一次的内存位置会在不久继续被引用)2.空间局部性(一个内存被引用了一次,在不久会引用其附近的)那么数据是如何被利用的呢?再来看个总线设计图:虽然不同的厂商有着不同的总线设计,但是上面的图是一个经典的抽
张竣翔
·
2020-09-11 18:48
学习日志
CSAPP
第六章家庭作业参考答案
(
CSAPP
第三版系列)导航篇传送门6.24这个文件由4000个逻辑块组成,并且对于磁盘,Tavgseek=4ms,Tmaxrotation=4ms,而Tavgrotatioin=2ms。
张少锋的博客
·
2020-09-11 15:13
[
CSAPP
笔记][第六章存储器层次结构]
第六章存储器层次结构在简单模型中,存储器系统是一个线性的字节数组,CPU能够在一个常数访问每个存储器位置。虽然是一个行之有效的模型,但没有反应现代系统实际工作方式。实际上,存储器系统(memorysystem)是一个具有不同容量,成本和访问时间的存储设备的层次结构。CPU寄存器保存着最常用的数据。(0周期)靠近CPU的小的,快速的高速缓存存储器(cachememory)作为一部分存储在相对慢速的主
zy691357966
·
2020-09-11 13:47
csapp
STDIN_FILENO 与stdin的区别
例:(一次一个字节地从标准输入拷贝到标准输出)#include"
csapp
.h"in
zhumawinnner
·
2020-09-11 07:58
系统
程序编码(机器级代码+汇编代码+C代码+反汇编)
【-1】相关声明本文总结于
csapp
;了解详情,或有兴趣,建议看原版书籍;【0】程序编码GCC调用了一系列程序,将源代码转化成可执行代码的流程如下:(1)C预处理器扩展源代码,插入所有用#include
weixin_30622181
·
2020-09-10 19:02
(计算机系统Lab_4-final实验指导)Linux删除多余空白行
/查询^$空白行ddelete后续更新
csapp
实验报告第一阶段较为简单。
德林恩宝
·
2020-09-10 17:42
计算机系统
csapp
第8章 异常控制流 阅读笔记
第8章异常控制流为什么要理解ECF理解ECF将帮助你理解重要的系统概念理解ECF及那个帮助您理解应用程序是如何与操作系统交互的。理解ECF将帮助你编写有趣的新应用程序。理解ECF将帮助你理解并发。理解ECF将帮助你理解软件异常如何工作。异常进程系统调用错误处理进程控制调用一次并发执行相同但是独立的地址空间共享文件信号非本地跳转操作进程的工具
大黄老鼠
·
2020-09-10 16:53
csapp
csapp
ch8.6 练习题
比较麻烦的是获取环境变量的个数最后的实现代码#include"
csapp
.h"intmain(intargc,char*argv[],char*envp[]){printf("Command-linearguments
大黄老鼠
·
2020-09-10 16:53
csapp
ch8.8 练习题 需要重做
这一道从头看到尾,完全不知道说什么的题目代码#include#include#include#include#include#include"
csapp
.h"/*$beginsignalprob0*/volatilelongcounter
大黄老鼠
·
2020-09-10 16:53
csapp
第9章 虚拟内存 阅读笔记
第9章虚拟内存虚拟内存是硬件异常、硬件地址翻译、主存、磁盘文件和内核软件的完美交互将主存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动区域,并根据需要在磁盘和主存之间来回传送数据,并通过这种方式,高效地使用了主存为每个进程提供了一致的地址空间,从而简化了内存管理保护了每个进程的地址空间不被其他进程破坏为什么要理解虚拟内存?虚拟内存是核心的虚拟内存是强大的虚拟内存是危险的物理和虚拟寻
大黄老鼠
·
2020-09-10 16:53
csapp
ch8.7 练习题
代码#include"
csapp
.h"voidsigint_handler(intsig){printf("CTRL+C\n");}unsignedintsnooze(unsignedintsecs);
大黄老鼠
·
2020-09-10 16:53
csapp
csapp
ch8.5 练习题
代码#include"
csapp
.h"unsignedintsnooze(unsignedintsecs);intmain(){snooze(5);exit(0);}unsignedintsnooze(
大黄老鼠
·
2020-09-10 16:22
csapp
ch8.3 练习题
代码#include"
csapp
.h"intmain(){if(Fork()==0){printf("a");fflush(stdout);}else{printf("b");fflush(stdout
大黄老鼠
·
2020-09-10 16:22
csapp
ch11.8 家庭作业
子进程有哪些资源需要关闭以adder为例,代码/**adder.c-aminimalCGIprogramthataddstwonumberstogether*//*$beginadder*/#include"
csapp
.h"intmain
大黄老鼠
·
2020-09-10 16:21
csapp
ch8.2 练习题
开始猜一个0,一个2,1,但是执行结果却是不确定的但是我试了这么多次从来没有先输出p1:x=2的答案代码#include"
csapp
.h"intmain(){intx=1;if(Fork()==0){printf
大黄老鼠
·
2020-09-10 16:21
csapp
csapp
ch11.7 家庭作业
*/#include"
csapp
.h"voiddoit(intfd);voidread_requesthdrs(rio_
大黄老鼠
·
2020-09-10 16:21
csapp
csapp
ch11.5 练习题
这个时候是单向的这个答案给的是我这完成打歪了呀cgi的代码/**adder.c-aminimalCGIprogramthataddstwonumberstogether*//*$beginadder*/#include"
csapp
.h"intmain
大黄老鼠
·
2020-09-10 16:21
csapp
tinyweb 运行记录
*/#include"
csapp
.h"voiddoit(intfd);voidread_requesthdrs(rio_t*rp);intparse_uri(char*
大黄老鼠
·
2020-09-10 16:50
csapp
第7章 链接 阅读笔记
第7章链接为什么学习关于链接的知识?理解链接器将帮助你构造大型程序理解链接器将帮助你避免一些危险的编程错误理解链接将帮助你理解语言的作用域规则是如何实现的理解链接将帮助你理解其他重要的系统概念。理解链接将使你能够利用共享库。编译器驱动程序静态链接链接器任务符号解析重定位目标文件目标文件三种形式:可重定位目标文件可执行目标文件共享目标文件可重定位目标文件符号和符号表符号解析重定位重定位由两步组成重定
大黄老鼠
·
2020-09-10 16:50
csapp
csapp
ch11.6.B 家庭作业
把同样的内容再输出到文件一次最后的结果核心代码voidserve_static(intfd,char*filename,intfilesize){intsrcfd;char*srcp,filetype[MAXLINE],buf[MAXBUF];intfd2=open("out",O_WRONLY|O_CREAT);printf("out:%d\n",fd2);/*Sendresponseheade
大黄老鼠
·
2020-09-10 16:50
csapp
csapp
ch11.6.A 家庭作业
想法是把header数据收集起来,然后输出搜集voidread_requesthdrs(rio_t*rp,char*header){charbuf[MAXLINE];Rio_readlineb(rp,buf,MAXLINE);printf("read_requesthdrs:%s",buf);sprintf(header,"%s%s",header,buf);strcat(header,buf);
大黄老鼠
·
2020-09-10 16:50
csapp
csapp
ch11.3 练习题
代码#include"
csapp
.h"#includevoidpton(constchar*src){structin_addrdst;inet_pton(AF_INET,src,(void*)&dst
大黄老鼠
·
2020-09-10 16:49
csapp
ch11.1 练习题
当我把代码写完的时候,发现不对啊我的代码#include"
csapp
.h"#includevoidpton(constchar*src){structin_addrdst;inet_pton(AF_INET
大黄老鼠
·
2020-09-10 16:49
csapp
csapp
ch10.8 家庭作业
刚开始的时候,还在想这个该怎么做,读了源代码,并运行后,开始疑惑怎么传文件描述符,最后在笔记里发现了fstat函数可以解决问题例子代码#include"
csapp
.h"intmain(intargc,char
大黄老鼠
·
2020-09-10 16:49
csapp
csapp
ch11.2 练习题
由于第1题完美解决了,这个问题就是变成了如何将十六进制字符串转换为整数代码#include"
csapp
.h"#includevoidpton(constchar*src){structin_addrdst
大黄老鼠
·
2020-09-10 16:49
csapp
csapp
ch11.04 练习题
uint16_t:%ld\n",sizeof(uint16_t));printf("in_addr:%ld\n",sizeof(structin_addr));2+4+8恰好14例子代码#include"
csapp
.h"intmain
大黄老鼠
·
2020-09-10 16:49
csapp
csapp
ch10.10 家庭作业
看到不能修改循环代码,只允许插入,猜测是需要重定向,剩下的问题是怎么处理infile参数,大致思路是判断argc是不是有这个参数,如果有打开文件得到fd,重定向0到fd代码#include"
csapp
.h"intmain
大黄老鼠
·
2020-09-10 16:49
csapp
ch10.9 家庭作业
中运行报错不一样目前感觉这个问题的流程应该是打开foo.txt,它的fd是3,然后3再作为fstatcheck的参数执行但是重定向不知道原始的文件名这个实验结果,我觉得现在只差把0重定向到3就完成这个作业了最后的代码#include"
csapp
.h"intmain
大黄老鼠
·
2020-09-10 16:49
csapp
ch10.7 家庭作业
而且这两个值是一样的修改后的代码#include"
csapp
.h"intmain(){intn;rio_trio;charbuf[MAXBUF];Rio_readinitb(&rio,STDIN_FILENO
大黄老鼠
·
2020-09-10 16:49
csapp
ch10.6 家庭作业
猜测是4第一个fd1是3,第一个fd2是4,关闭后4应该释放,再打开,又是4实验代码#include#include#include#include#includeintmain(){intfd1,fd2;fd1=open("foo.txt",O_RDONLY,0);printf("fd1=%d\n",fd1);fd2=open("bar.txt",O_RDONLY,0);printf("fd2=
大黄老鼠
·
2020-09-10 16:18
csapp
csapp
ch10.5 练习题
猜测是o,因为dup2后,是同一个文件表项书上实验代码#include#include#include#include#includeintmain(){intfd1,fd2;charc;fd1=open("foobar.txt",O_RDONLY,0);fd2=open("foobar.txt",O_RDONLY,0);read(fd2,&c,1);dup2(fd2,fd1);read(fd1,
大黄老鼠
·
2020-09-10 16:18
csapp
ch10.4 练习题
刚开始想的是dup2(0,5),比方说1>a.txt,书上的一个例子dup2(4,1)是把标准输出的数据写到文件B,所以是1>4答案书上
大黄老鼠
·
2020-09-10 16:18
GPUView摘录
GPUView.htmlWindowsVistaDisplayDriverModelMicrosoftredesigneditsgraphicsdrivermodelwithWindowsVistaandbeyondtobettersupportmultiplegraphi
csapp
lica
JettHuang
·
2020-09-10 14:06
图形学
博客统计 (2019年02月15日 - 2019年02月22日)
博客统计(2019年02月15日-2019年02月22日)总共发布博客46篇周阅读量:653周评论量:-1知识图谱相关的博客有7篇
csapp
相关的博客有28篇本周阅读量最大的博客是知识图谱构建技术综述阅读笔记
大黄老鼠
·
2020-09-10 10:33
大三了#我的两年编程生活
在大二暑假那段时间,我看了很多的学习经历和学习路线,这给了我巨大的打击,相比之下我发现自己过去学的东西不过冰山一角,于是我开始反思,并且在那段时间规划了自己的学习路线,一口气读完了《
CSAPP
》《Algorithm
泽不是我
·
2020-09-09 22:05
随笔
程序人生
深入理解计算机系统 chapter 9 学习笔记
该书源代码可在该网站找到http://
csapp
.cs.cmu.edu/public/code.htmlAddressSpaceAnaddressspaceisanorderedsetofnonnegativeintegeraddresses
zhanglei0107
·
2020-08-25 17:29
CSAPP
关于数据对齐
强制对齐的对于大多数IA32指令来说,保持数据对齐能够提高效率,但是它不会影响程序的行为。另一方面,如果数据未对齐,有些实现多媒体操作的SSE指令就无法正确地工作。这些指令对16字节数据块进行操作,在SSE单元和存储器之间传送数据的指令要求存储器地址必须是16的倍数。任何试图以不满足对齐要求的地址来访问存储器都会导致异常(exception),默认的行为是终止程序。因此IA32的一个惯例是,确保每
caipengxiang
·
2020-08-25 16:31
CSAPP
深入理解计算机系统(
CSAPP
)第三版--系列导航篇
CSAPP
作为计算机领域的好书,已经推出第三版了。书中不仅有精彩纷呈的内容,还有着高质量的homework和富有挑战性的lab。
张少锋的博客
·
2020-08-25 14:41
ERP词汇
2AOApplicationOutsourcing应用程序外包3APICSAmericanProductionandInventoryControlSociety,Inc美国生产与库存管理协会4API
CSApp
liedManufacturingEducationSeries
iteye_18991
·
2020-08-25 14:33
ERP
CSAPP
第八章-异常控制流
本章的重要性在于你将开始学习应用是如何与操作系统交互的。从异常开始,异常位于操作系统和硬件交界的部分。继续讨论系统调用,它们是为应用程序提供到操作系统的统一入口点的异常。然后提升抽象的层次,描述进程和信号,最后讨论非本地跳转。异常:异常是异常控制流的一种形式,一部分硬件,一部分操作系统。表现形式为控制流中的突变,用来响应处理器状态中的某些变化。当处理器发生一个重要变化时,状态码会被编码为不同的位和
二胖瘦了
·
2020-08-25 05:31
CSAPP
——实验二 拆炸弹
《Hardware/SoftwareInterface》实验二是拆炸弹,也是实验里面比较有意思的一个实验,实验能帮助我们加深理解函数的调用过程,提升用GDB调试代码的能力,话不多说,把实验内容附上。附实验环境:64位Linux操作系统拆炸弹实验总共有六个阶段,难度也是在逐步加大,每个阶段都要求你输入一些信息,只有提供恰当合适的正确信息,才会拆炸弹成功进入下一个阶段,那么如何获得正确的信息,就需要用
zhaoyunfullmetal
·
2020-08-24 18:48
CSAPP
CSAPP
课程实验 bomb实验 拆炸弹实验 (2)
关卡1-3phase1-3正式进入关卡1,phase_1首先是关卡1的汇编代码为:可以看到前3句是非常熟悉的栈开辟代码,下面一起来看一下基本的栈调用过程的汇编代码:在gcc下是AT&T格式的,源操作数,目的操作数Push%ebp保存ebp原有的值,防止被新调用的函数覆盖修改,在退出函数时通过popebp恢。ebp每次调用新的函数,都要开辟新的栈,ebp将会到新的堆栈中作为寻址的基址,所以每次要先p
shiyuqing1207
·
2020-08-24 16:31
CSAPP
深入理解计算机系统
汇编
linux
CSAPP
Lab2: bomblab拆炸弹实验(汇编代码的理解)
参考文章:实验准备知识http://blog.csdn.net/shiyuqing1207/article/details/45849413http://blog.csdn.net/shiyuqing1207/article/details/45849541http://blog.csdn.net/shiyuqing1207/article/details/45872429隐藏关卡http://b
话歪之地
·
2020-08-24 12:29
课程
汇编语言
CSAPP
二进制炸弹
六星经典
CSAPP
-笔记(7)加载与链接(上)
六星经典
CSAPP
-笔记(7)加载与链接1.对象文件(ObjectFile)1.1文件类型对象文件有三种形式:可重定位对象文件(Relocatableobjectfile):包含二进制代码和数据,能与其他可重定位对象文件在编译时合并创建出一个可执行文件
weixin_30412577
·
2020-08-24 06:40
为什么补码是按位取反再加1
最近看
csapp
中发现其中补码的定义对向量x→=[xw−1,xw−2,...,x0]\stackrel{\rightarrow}{x}=[x_{w-1},x_{w-2},...,x_0]x→=[xw−1
不羁之路
·
2020-08-23 23:56
计算机基础
Working Together -
CSAPP
C7
罗马并非一日建成,然鹅也不是一天天堆土堆出来的,需要一个优雅的设计和执行。程序亦是,在现实中那些支撑着世界运转的程序无不是一个复杂的集合。从高层的架构设计到一个个基础功能到操作系统的调用,我们之前的聚焦的是一段代码如何运行起来,但是这离构建一个现实的系统还有一个鸿沟,就是把架构到基础功能到操作系统接口连接起来的能力,称之为链接。当然理论上我们也可以不要这个过程,每个程序都事无巨细完全实现。最早的系
Doye
·
2020-08-23 09:00
个人知识地图
一、编程语言:1、c/c++《c++primer》《STL源码剖析》《effecivec++》2、python《廖雪峰python》二、linux:《APUE》《UNE》v1、v2《
CSAPP
》《linux
Gonewithmyself
·
2020-08-22 17:47
多维数组作为函数参数的形式
多维数组作为函数参数的形式今天在看
CSAPP
的时候,直接敲入了书中的代码片段(P582),没有多加思考,却出现了段错误coredump,然后再纠结:被调用函数是否可以访问到主函数中的数据,函数中的自动变量存在栈中
vonzhou
·
2020-08-22 11:02
Linux环境编程
CSAPP
第七章 链接
基本环境Linux32本文主要介绍编译流程中的链接流程以及链接相关的一些文件,同时会涉及到一部分加载的内容。一、编译流程文本sample.c文件--|预编译|-->文本sample.i文件文本sample.i文件--|编译|-->文本sample.s文件文本sample.s文件--|汇编|-->二进制sample.o文件二进制sample.o文件--|链接|-->二进制sample文件二、链接流程
tangyikejun
·
2020-08-22 11:48
链接
csapp
推荐一些系统方面的书
书名涉及范围
csapp
数据表示、汇编、处理器、cache、虚拟地址、链接、进程、信号、线程、底层IO、套接字apue进程、信号、线程、底层IO、文件系统、套接字linuxc一站式学习c语言、数据结构、数据表示
飞龙
·
2020-08-22 09:07
书单
操作系统
组成原理
网络
上一页
7
8
9
10
11
12
13
14
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他