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
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
深入理解计算机系统
| 存储器山
存储器山概念:读吞吐量(readthroughout):程序从存储系统读数据的速率成为读吞吐量或者读带宽;单位MB/s空间局部性:Spatiallocalityreferstotheuseofdataelementswithinrelativelyclosestoragelocations.时间局部性:Temporallocalityreferstothereuseofspecificdata,a
零的平方
·
2020-09-10 15:08
内功修炼
GPUView摘录
GPUView.htmlWindowsVistaDisplayDriverModelMicrosoftredesigneditsgraphicsdrivermodelwithWindowsVistaandbeyondtobettersupportmultiplegraphi
csapp
lica
JettHuang
·
2020-09-10 14:06
图形学
计算机的异常控制:中断、陷阱、故障、终止、进程上下文切换、信号
总结《
深入理解计算机系统
》:异常控制流1,计算机中的异常处理机制:处理器设计人员(如被零除、缺页,存储器访问违例等)以及操作系统开发人员(如系统调用以及来自外部的IO设备信号等)为每种类型的异常分配了一个唯一的非负整数异常号
clearriver
·
2020-09-10 13:29
c编译
链接和库
深入理解计算机系统
大作业 From Program to Process hello的一生
计算机系统大作业题目程序人生-Hello’sP2P专业计算机科学与工程学号1181910504班级1803010学生倪煜昕指导教师史先俊计算机科学与技术学院2019年12月摘要本文介绍了hello在计算机系统中灿烂的一生,借助Linux环境下开发工具,从源文件hello.c经预处理、编译、汇编及链接成为可执行文件hello,再通过shell的动态链接执行hello进程的故事。在shell执行进程的
MMPSNR
·
2020-09-10 11:58
笔记
hello的一生
深入理解计算机系统
深入理解计算机系统
(兰德尔)
编译系统如何工作预处理器|编译器|汇编阶段|链接器预编译:根据字符#开头的命令编译阶段:生成汇编语言汇编阶段:翻译成机器码指令,可重定位目标程序,将结果保存在二进制文件链接阶段:合并乘可执行目标文件(单独预编译好的printf.o文件)了解编译系统如何工作:①知道怎么写代码会得到更优的性能②理解链接时的错误③避免一些安全的漏洞计算机硬件入门总线:携带信息字节并负责在各个部件之间的传递,设计出传送定
Life Recoder
·
2020-09-10 11:57
笔记
进程
内容整理自《
深入理解计算机系统
第三版第八章》1系统中每个程序都运行在某个进程的上下文中,由pid标示;2应用程序在进程中包含两个重要的抽象:一个独立的逻辑控制流,它提供一个假象,即程序独占cpu一个私有的地址空间
黄橙蓝
·
2020-09-10 11:13
计算机基础
博客统计 (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
随笔
程序人生
深入理解计算机系统
|期末整理与复习
文章目录前言第一章:概述知识点编译系统硬件组成系统之间的网络通信操作系统的抽象表示操作系统的几个基本抽象概念Admahl定律练习题例1.1第二章:信息的表示和处理知识点进制转换字数据的大小字节顺序移位运算位级运算整数表示编码方式整数数据类型编码无符号数编码反码编码补码编码有符号数和无符号数之间的转换扩展数字的位表示截断数字整数运算无符号加法补码加法无符号乘法补码乘法无符号和补码的乘法的位级等价性乘
陰丹士林藍
·
2020-09-06 02:59
深入理解计算机系统
程序员赚钱知识和项目汇总(20190507更新)
ESBI四象限置顶程序员财富自由全剖析(待完成)程序员赚赚知识星球(待完成)目录知识计算机知识其他学科知识渠道和方式变现平台文章推荐工具有用的书有用的网站知识计算机知识
深入理解计算机系统
-必修课,NB学校的
花腔书生
·
2020-08-25 17:29
深入理解计算机系统
(第3版) 第八章 异常控制流
1.控制流从给处理器加电开始,直到你断电为止,程序计数器假设一个值的序列a0,a1,...an-1其中,每个ak是某个应用的指令ik的地址。每次从ak到ak+1的过渡称为控制转移(controltransfer)。这样的控制转移序列叫做处理器的控制流(flowofcontrol或controlflow)。2.异常异常是异常控制流的一种形式,它一部分由硬件实现,一部分由操作系统实现。异常就是控制流中
zjd873721519
·
2020-08-25 17:02
system
深入理解计算机系统
(第3版) 第六章 存储器层次结构
1.存储器系统存储器系统(memorysystem)是一个具有不同容量、成本和访问时间的存储设备的层次结构。CPU寄存器保存着最常用的数据。靠近CPU的小的、快速的高速缓存寄存器(cachememory)作为一部分存储在相对慢速的主存储器(mainmemory)中数据和指令的缓冲区域。主存储器存储在容量较大的、慢速磁盘上的数据,而这些磁盘常常又作为存储在通过网络连接的其他机器的磁盘或磁带上的数据的
zjd873721519
·
2020-08-25 17:02
system
深入理解计算机系统
chapter 9 学习笔记
该书源代码可在该网站找到http://
csapp
.cs.cmu.edu/public/code.htmlAddressSpaceAnaddressspaceisanorderedsetofnonnegativeintegeraddresses
zhanglei0107
·
2020-08-25 17:29
深入理解计算机系统
(1)-----计算机系统漫游
思维导图:引言:
深入理解计算机系统
系列是我看>的读书总结.本章既为开篇的第一章-计算机系统漫游.其主要内容是从整体上介绍什么是计算机系统.例如:计算机系统由那些部分构成计算机系统是如何管理硬件的计算机系统是如何执行程序代码的一
zh328271057
·
2020-08-25 17:28
深入理解计算机系统
深入理解计算机系统
计算机系统漫游
计算机组成
程序执行
存储器层次结构
深入理解计算机系统
第九章 虚拟存储器
虚拟存储器定义:对主存的抽象机制,是硬件异常、硬件地址翻译、主存、磁盘文件和内核软件的完美交互。功能:1.将主存看成是一个存储在磁盘上的地址空间的高速缓存,在内存中只保存活动区域,并根据需要在磁盘和内存之间来回传送数据。2.为进程提供了一致的地址空间,从而简化了存储器管理。3.保护了每个进程的地址空间不被其他进程所破坏。9.1物理和虚拟地址CPU通过生成一个虚拟地址(Virtualaddress,
weixin_34060741
·
2020-08-25 17:06
深入理解计算机系统
第9章 虚拟存储器
第9章虚拟存储器虚拟存储器是现代操作系统提供的一种对主存的抽象概念。9.1物理和虚拟寻址物理地址:计算机系统的主存被组织成一个由M个连续的字节大小的单元组成的数组。每个字节都有一个唯一的物理地址,第一个字节地址为0,接下来为1,再下一个为2.虚拟地址:CPU通过生成一个虚拟地址来访问内存,虚拟地址在被传送到存储器之前转换成物理地址。将虚拟地址转换成物理地址叫地址翻译。9.2地址空间虚拟地址空间:{
EverlightGe
·
2020-08-25 16:56
CSAPP
虚拟存储器
操作系统
深入理解计算机系统
----第九章虚拟内存
原文链接https://www.jianshu.com/p/e1b82b230917虚拟存储器又叫做虚拟内存,我们现在的操作系统普遍都支持了虚拟内存,这样做是因为我们同时运行着太多的程序了,就目前我电脑的状态来看,我既要打开浏览器,又要听歌,可能同时还登陆的有QQ,如果不使用虚拟内存4G的内存空间很快就会被耗尽,而一旦没有了内存空间,其他程序就无法加载了。虚拟内存的出现就是为了解决这个问题,当一个
成分sjz
·
2020-08-25 16:43
计算机原理
深入理解计算机系统
之异常控制流----fork打印问题
异常是允许操作系统提供进程的概念所需要的基本构造块,进程是计算机科学中最深刻最成功的概念之一。进程的经典定义就是一个执行中的程序的实例。系统中的每个程序都是运行在某个进行上下文中的。上下文是由程序正确运行所需的状态组成的。这个状态包括存放在存储器中的程序的代码和数据,它的栈,通用目的寄存器的内容,程序计数器,环境变量以及打开文件描述符的集合。每次用户通过向外壳输入一个可执行目标文件的名字,并运行一
五山小新新
·
2020-08-25 16:13
深入理解计算机系统
深入理解计算机系统
(第3版) 第九章 虚拟内存
1.虚拟内存为了更加有效地管理内存并且少出错,现代系统提供了一种对主存的抽象概念,叫做虚拟内存(VM)。虚拟内存是硬件异常、硬件地址翻译、主存、磁盘文件和内核软件的完美交互,它为每个进程提供了一个大的、一致的和私有的地址空间。通过一个很清晰的机制,虚拟内存提供了三个重要的能力:1)它将内存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动区域,并根据需要在磁盘和主存之间来回传送数据,通
zjd873721519
·
2020-08-25 16:12
system
CSAPP
关于数据对齐
强制对齐的对于大多数IA32指令来说,保持数据对齐能够提高效率,但是它不会影响程序的行为。另一方面,如果数据未对齐,有些实现多媒体操作的SSE指令就无法正确地工作。这些指令对16字节数据块进行操作,在SSE单元和存储器之间传送数据的指令要求存储器地址必须是16的倍数。任何试图以不满足对齐要求的地址来访问存储器都会导致异常(exception),默认的行为是终止程序。因此IA32的一个惯例是,确保每
caipengxiang
·
2020-08-25 16:31
CSAPP
深入理解计算机系统
第九章 虚拟内存
为了更加有效地管理内存并且少出错,现代系统提供了一种对主存的抽象概念,叫做虚拟内存(VM)。虚拟内存提供了三个重要的能力:(1)它将主存看成是一个存储在磁盘上的地址空间的告诉缓存,在主存中只保存活动区域,并根据需要在磁盘和主存之间来回传送数据,通过这种方式,它高效地使用了主存(2)它为每个进程提供了一致的地址空间,从而简化了内存管理(3)它保护了每个进程的地址空间不被其它进程破坏虚拟内存在工作中,
weixin_30732487
·
2020-08-25 14:33
深入理解计算机系统
(
CSAPP
)第三版--系列导航篇
CSAPP
作为计算机领域的好书,已经推出第三版了。书中不仅有精彩纷呈的内容,还有着高质量的homework和富有挑战性的lab。
张少锋的博客
·
2020-08-25 14:41
推荐大家一本书《
深入理解计算机系统
》
我第一次看到这本书的第一版时,好像是03年,记得当时就被震撼了,一个大学本科大二的教材可以到这个水平,而很多内容我也第一次接触,非常汗颜,后来我花了一些时间进行了仔细的学习,遗憾的是,很多要点并没有具体的实验,当时的感觉这本书已经非常接近实践性了,但遗憾的是,有些要点还是没有告诉读者如何实践,这本书第一版在scholar.google.com上可以下载的,有兴趣的读者还可以看看这一个版本。也就是从
pennyliang
·
2020-08-25 14:39
杂项
[第三章]
深入理解计算机系统
第三版 家庭作业参考答案
人非圣贤孰能无过,欢迎大家提问与纠错3.58longdecode2(longx,longy,longz){y-=z;x*=y;return((y>63)^x;}3.59∵x=2^64*xh+xl;y=2^64*yh+yl;∴x*y=2^128*xh*yh+2^64*xh*yl+2^64*yh*xl+xl*yl因为是128位,所以(x*y)mod2^128才是正解∴x*y=2^64*xh*yl+2^
CHOOOU
·
2020-08-25 14:39
CSAPP
读书笔记:《
深入理解计算机系统
》第九章 虚拟内存
第一次作业:认识页表概念。第二次作业:认识内存映射,分配和回收概念。虚拟是计算机系统中很重要的一个概念。虚拟内存是对主存的一种抽象概念,它是硬件异常,硬件地址翻译,主存,磁盘文件和内核软件的交互。虚拟内存系统将虚拟内存分割为虚拟页,分为三种类型,未分配的,已经缓存在物理内存中的已分配页,未缓存在物理内存中的已分配页。为了判断这些虚拟页的情况,就需要要加字段来判断,所以又出现了一个叫页表的数据结构来
王新港
·
2020-08-25 14:16
计算机系统
读书笔记
ERP词汇
2AOApplicationOutsourcing应用程序外包3APICSAmericanProductionandInventoryControlSociety,Inc美国生产与库存管理协会4API
CSApp
liedManufacturingEducationSeries
iteye_18991
·
2020-08-25 14:33
ERP
无符号数 有符号数 与 补码
无符号数有符号数与补码本文是
深入理解计算机系统
这本书里面关于补码有符号数无符号数章节的一个摘要和读书报告,我个人认为这本书关于这一段的表述,要比绝大多数网上的博客甚至是国内教材要深入浅出的多.同时由于markdown
bapijun
·
2020-08-25 09:24
C与C++
编程语言
CSAPP
第八章-异常控制流
本章的重要性在于你将开始学习应用是如何与操作系统交互的。从异常开始,异常位于操作系统和硬件交界的部分。继续讨论系统调用,它们是为应用程序提供到操作系统的统一入口点的异常。然后提升抽象的层次,描述进程和信号,最后讨论非本地跳转。异常:异常是异常控制流的一种形式,一部分硬件,一部分操作系统。表现形式为控制流中的突变,用来响应处理器状态中的某些变化。当处理器发生一个重要变化时,状态码会被编码为不同的位和
二胖瘦了
·
2020-08-25 05:31
深入理解计算机系统
学习(1)
源文件:0,1组成每行以一个看不见的’\n’结尾,执行一个源文件分四个阶段:预处理,编译,汇编,连接.i文件:.c文件预处理后生成.ii文件:.cpp文件预处理后生成预处理阶段:预处理器(cpp)根据以#开头的命令修改源程序,(如把一些头文件的内容,直接插入到程序文本中)编译阶段。编译器(ccl)将.i文本翻译成.s文本,他包含了一个汇编程序,汇编语言程序中没仪表语句都以一种标准的额问题本格式确切
LeeBooL
·
2020-08-24 23:17
计算机系统计算机系统
深入理解计算机系统
之整型与浮点型
在看简单地看了
深入理解计算机系统
的第二章后,有了稍微深刻但是有非常浅显的理解,然后又看了阮师兄的一篇博文,所以做了一点笔记。
zyhmz
·
2020-08-24 19:51
深入理解计算机系统
CSAPP
——实验二 拆炸弹
《Hardware/SoftwareInterface》实验二是拆炸弹,也是实验里面比较有意思的一个实验,实验能帮助我们加深理解函数的调用过程,提升用GDB调试代码的能力,话不多说,把实验内容附上。附实验环境:64位Linux操作系统拆炸弹实验总共有六个阶段,难度也是在逐步加大,每个阶段都要求你输入一些信息,只有提供恰当合适的正确信息,才会拆炸弹成功进入下一个阶段,那么如何获得正确的信息,就需要用
zhaoyunfullmetal
·
2020-08-24 18:48
CSAPP
《
深入理解计算机系统
》AT&T x86汇编学习
前言:文章采用AT&T格式的汇编(也叫做ATT汇编,AT&T是运行贝尔实验室多年的公司),是GCC,OBJDUM等工具默认的汇编格式。ATT汇编与INTEL汇编的不同在于:1.Intel省略了大小指示2.源操作数在目的操作数之前。1数据格式C语言中有多重数据格式,包括char,short,int,longlongint,char*,float,doule,longdouble,不同字长的数据在AT
姥姥教我学编程
·
2020-08-24 18:59
读书笔记
小护士读书笔记系列之《
深入理解计算机系统
》第一章计算机系统漫游(一)
小护士读书笔记系列之《
深入理解计算机系统
》第一章计算机系统漫游(一)欢迎来到小护士读书笔记系列之《
深入理解计算机系统
》第一章计算机系统漫游(一)。
广州-小护士
·
2020-08-24 18:19
深入理解计算机系统
读书笔记
深入理解计算机系统
小护士
漫游
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
深入理解计算机系统
_第三章_程序的机器级表示
深入,并且广泛-沉默犀牛文章目录文章导读历史观点程序编码机器级代码代码示例关于格式的注解数据格式访问信息操作数指示符数据传送指令数据传送示例压入和弹出栈数据算术和逻辑操作加载有效地址一元和二元操作移位操作讨论特殊的算术操作控制条形码访问条件码跳转指令跳转指令的编码用条件控制来实现条件分支用条件传送来实现条件分支循环switch语句过程运行时栈转移控制数据传送栈上的局部存储寄存器中的局部存储空间递归
真的姜立明
·
2020-08-24 15:13
计算机系统
用c++开发一个简版http服务器
初衷在阅读了TLPI和
深入理解计算机系统
之后,学会了如何使用linux系统api,想在写代码的过程中来加深自己对知识的理解,更想用这些知识来去做一个更酷的东西,而不仅仅是教课书上的简单服务器。
Lmagic16
·
2020-08-24 14:50
后端
c++
linux
webserver
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
二进制炸弹
计算机科学与技术书单整理与推荐
人文与创业:《腾讯传》《创新者》《浪潮之巅》《人月神话》《黑客与画家》《硅谷钢铁侠》《史蒂夫·乔布斯传》《网络是怎样连接的》《程序是怎样跑起来的》《你想活出怎样的人生》《
深入理解计算机系统
》《计算机是怎样跑起来的
誓约胜利之舰
·
2020-08-24 12:46
天刃-腾蛟起凤
【
深入理解计算机系统
】程序是如何运行的
程序是如何运行的现代计算机存储和处理的信息以二值信号表示,程序对于计算机而言就是一串二进制数据流,以流水线的方式进入CPU进行运算。主要在;CPU与内存之间进行数据传递。本文将从程序源码的结构与表现形式开始,到编译生成可执行文件,再到执行文件的加载,最终到执行文件的运行整个过程进行梳理。1程序的结构与表现形式大多数计算使用8位的块,即字节(byte),作为最小的可寻址的内存单元。程序对象,即程序数
Evan_Gu
·
2020-08-24 08:31
软件系统架构与开发环境
六星经典
CSAPP
-笔记(7)加载与链接(上)
六星经典
CSAPP
-笔记(7)加载与链接1.对象文件(ObjectFile)1.1文件类型对象文件有三种形式:可重定位对象文件(Relocatableobjectfile):包含二进制代码和数据,能与其他可重定位对象文件在编译时合并创建出一个可执行文件
weixin_30412577
·
2020-08-24 06:40
上一页
13
14
15
16
17
18
19
20
下一页
按字母分类:
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
其他