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
深入理解计算机系统--3.程序的机器级表示
深入理解计算机系统原文地址:http://www.code-farmer.tech/archives/
csapp
3GitHub地址:https://github.com/You-Hmily/note-blog
做一只快乐的码农1990
·
2020-02-05 05:32
csapp
bombLab
BombLab在这里插入代码片phase_10000000000001254:1254:4883ec08sub$0x8,%rsp1258:488d3531180000lea0x1831(%rip),%rsi#2a90125f:e8ed040000callq17511264:85c0test%eax,%eax1266:7505jne126d1268:4883c408add$0x8,%rsp126c:
甘木甘木
·
2020-01-30 13:48
其他
CSAPP
--第九章:虚拟内存
CSAPP
:虚拟内存虚拟内存介绍说明:为了更加有效地管理内存,并且少出错。
月明星稀_8184
·
2020-01-16 22:42
2020.1.6 ~ 2020.1.12 阅读小结
一周阅读总结(1.6-1.12)本周主要在看OperationSystem:3EasyPieces,看了5章,不知为何虽然序言里推荐要先读完
CSAPP
,但是感觉本书比
CSAPP
简单OSTEP:cpu-intro
filozofio
·
2020-01-13 10:00
csapp
炸弹实验
这是2016版的bomb下载得到bomb.tar文件,解压后只有bomb二进制文件,以及一个bomb.c文件,bomb.c没有对应的头文件。所有思路只有是反汇编bomb,分析汇编代码。这里用到两个非常强大的工具objdump,gdbobjdump用来反汇编的,-d参数得到x86汇编,-M参数还可以选择不同的汇编形式,比如-M8086得到8086汇编,详细内容可以manobjdump.gdb是强大的
mbinary
·
2020-01-06 20:39
CSAPP
--第五章:优化程序性能
写出高效程序的三个重点:1:选择一组适当算法和数据结构。2:编写出编译器能够有效优化,以转化成高效可执行代码的源代码。3:运算量特别大时,将任务分成多个部分,在多核处理器的某种组合上并行计算。//代码必须清晰、简洁。步骤:①:消除不必要的工作。让代码有效执行所需任务,消除不必要的函数调用、条件测试和内存引用。(这些优化不依赖于实现机器的硬件)②:利用处理器提供的指令级并行(Instruction-
月明星稀_8184
·
2020-01-06 13:53
Privacy Policy
PrivacyPolicybuilttheCartoonmathemati
csapp
asaFreeapp.ThisSERVICEisprovidedbyatnocostandisintendedforuseasis.Thispageisusedtoinformvisitorsregardingmypolicieswiththecollection
Shui_灰灰
·
2020-01-04 17:55
C语言-预处理器
宏替换可以预定义代码块什么的,还可以传递参数#include"
csapp
.h"#defineNAME(A)"hello"#A#defineFOR(i,start,end)for(inti=start;i
富贵山庄王动
·
2020-01-01 05:12
CSAPP
Bomb Lab
特种部队拆炸弹1拆炸弹2我们看了很多关于特种兵在危机关头拆炸弹的场景,觉得很酷吧!所以现在就让我们来拆一个“炸弹”。BombLab这个实验是相当有趣的,比起之前耗脑的DataLab,这个Lab主要是学习反汇编以及阅读反汇编出来的汇编代码。通过对一个二进制可执行文件的反汇编,找出正确的(那根线),然后“剪短“,否则的话就会”Boom!“,不过不会立即伤及生命,如果你在CMU上课,你会丢掉0.5分,如
saygoodbyetoyou
·
2019-12-29 00:43
《汇编语言》_计算机运行的奥秘
关于我读这本书的原因是在看
CSAPP
时发现很多汇编指令都不明白是什
卧看垂柳一青叶
·
2019-12-27 00:13
《
CSAPP
》实验三:缓冲区溢出攻击
缓冲区溢出攻击也是第三章的配套实验,实验提供了两个有缓冲区溢出漏洞的x86-64程序(
CSAPP
3e:AttackLab),要求我们设计“恶意输入”,利用程序漏洞,实现指令注入,执行未授权代码。
my-tiga
·
2019-12-25 22:00
CSAPP
:bomblab
http://
csapp
.cs.cmu.edu/3e/labs.html刚开始下载完程序之后,我们并不知道自己该干些什么事情,看看文档writeup,不过反正看起来人家说得挺清楚
Gavinjou大笨象
·
2019-12-24 17:51
HIT
CSAPP
大作业
摘要本文以hello的整个生命周期为线索,对这个过程中所涉及到的各种问题与操作进行研究与探讨。通过合理运用这个学期在计算机系统课程上所学习的知识,分析研究hello程序在Linux系统下的P2P和020过程。并在各种分析工具的帮助下,探究Linux框架下整个程序的生命历程,从而使对计算机系统知识的学习更加深入。关键词:hello;编译;汇编;进程;计算机系统;(摘要0分,缺失-1分,根据内容精彩称
吃饱了的阴谋家
·
2019-12-23 16:10
《
CSAPP
》实验二:二进制炸弹
二进制炸弹是第三章《程序的机器级表示》的配套实验,这章主要介绍了x64汇编,包括:操作数的表示方式,数据传送指令,算术和逻辑指令,控制流跳转指令,过程(procedure)的实现与运行时栈帧,C语言中的数组,struct,union以及浮点数的汇编表示等。通过这章的学习,对C有了更深的理解,可以看出,C与汇编代码的相似度很高,称之为高级汇编也不为过。这个实验提供了一个Linux/x86-64二进制
my-tiga
·
2019-12-22 11:00
《
CSAPP
》实验一:位操作
《
CSAPP
》号称程序员圣经,虽然中文译名为《深入理解计算机系统》,但其实没那么“深”,只是覆盖面很广,一般用作计算机专业大一导论课的教科书。
my-tiga
·
2019-12-21 12:00
iOS性能优化篇 —— 耗电优化总结
手机App耗电的主要来源有以下四个因素:CPU处理,Processing网络,Networking定位,Location图像,Graphi
csAPP
耗电四大天王.png耗电优化最终目的:通过尽可能降低CPU
RephontilZhou
·
2019-12-21 03:57
进程和内存的桥梁——页表技术(x86-64Linux下)
下面是x86-64Linux操作系统给我们提供的,进程(逻辑)地址空间:图片发自
CSAPP
这个图很经典,刚入坑的朋友可
一瓶AD钙谢谢
·
2019-12-20 02:44
第十四天
今日
CSAPP
第一章结束,很多不理解,不过就这样吧,多读两遍吧。软件设计这件事情,关键的地方还是在设计,一开始的架构什么的,都很重要。不然之后很难拓展啊
观察者_王动
·
2019-12-16 10:12
CSAPP
第三章
一、概述计算机执行机器代码,用字节序列编码低级的操作,包括处理数据,管理内存,读写存储设备上的数据,以及网络通信。编译器基于编程语言的规则,目标机器的指令集和操作系遵循的惯例,经过一系列生成机器代码。本章中我们近距离观察机器代码,以及人类可以阅读的表示方式「汇编代码」。二、高级语言和汇编当我们使用高级语言的时候,机器屏蔽了细节,即机器级的实现。高级语言提供的抽象级别比较高,大多数时候这种抽象级别的
二胖瘦了
·
2019-12-13 02:59
打卡日(6)
-03-181.嗨(四声),觉得还是要从基础学起深入了解计算机系统答案:http://blog.csdn.net/zhanyu1990https://dreamanddead.gitbooks.io/
csapp
sherryLIUj
·
2019-12-12 13:54
《深入理解计算机系统/
CSAPP
》Attack Lab
任务目标使用两种攻击方式:缓冲区溢出(bufferoverflow)ROP(return-oriented-programming)攻击文件说明:ctarget:缓冲区溢出攻击rtarget:ROP攻击hex2raw:将16进制代码转化为字符串farm.c:ROP攻击需要用到的源码使用ctarget和rtarget需要参数-q取消链接服务器(注意),参数-i用于输入文件第一关根据提示ctarget
Coc0
·
2019-12-12 11:06
CSAPP
: Shell Lab
实验介绍完成一个简单的shell程序,总体的框架和辅助代码都已经提供好了,我们需要完成的函数主要以下几个:eval:主要功能是解析cmdline,并且运行.[70lines]builtincmd:辨识和解析出bulidin命令:quit,fg,bg,andjobs.[25lines]dobgfg:实现bg和fg命令.[50lines]waitfg:实现等待前台程序运行结束.[20lines]sig
leon4ever
·
2019-12-02 08:58
CSAPP
:Attack lab
本文介绍的是
CSAPP
书籍中的第三个lab:Attacklab。
金际一线天
·
2019-12-01 22:15
CSAPP
: Bomb Lab 实验解析
这是
CSAPP
课本配套的第二个实验,主要任务是“拆炸弹”。所谓炸弹,其实就是一个二进制的可执行文件,要求输入六个字符串,每个字符串对应一个phase。如果字符串输入错误,系统就会提示BOOM!!!。
StarSinger
·
2019-12-01 12:42
CSAPP
: Bomb Lab Phase1- Phase3
Gettoknowthere're6phasefrombomb.candgettoknowthebombwillbetriggedviaexplode_bomb.Phase1rundebugger:gdbbombsetbreakpoints:bexplode_bombdisassmblephase_1:disasphase_1Dumpofassemblercodeforfunctionphase_
oo上海
·
2019-11-28 08:07
Csapp
- Shelllab
shelllab在尝试完成这个shelllab之前,先看看官方给了什么代码吧,一个是书上有的shllex.c另外还发现了神仙代码shell.c,这个shell.c在官方给的code页面中completeset中能找到,感觉这个很靠近我们要实现的结果。Hereisatarfilethatcontainsthecompletesetofsourcefiles,headerfiles,andMakefi
oo上海
·
2019-11-28 04:54
Csapp
- MallocLab
先看文档malloc.pdf需要实现四个函数:intmm_init(void)void*mm_malloc(size_tsize);voidmm_free(void*ptr);void*mm_realloc(void*ptr,size_tsize)建议写一个heapchecker,随时检查基本上要求是和书上一样,双字对齐。不允许更改mm.c中的interface(也就是函数定义),不允许直接使用m
oo上海
·
2019-11-27 22:21
第八周测试课下补交
基于socket使用教材的
csapp
.h
csapp
.c,实现daytime(13)服务器(端口我们使用13+后三位学号)和客户端服务器响应消息格式是客户端IP:XXXX服务器实现者学号:XXXXXXXX
20175206李得琛
·
2019-11-27 17:00
整数的表示与编码
补一下
CSAPP
的笔记计算机中整数的表示与编码计算机中的整数主要包括两种:有符号数与无符号数。无符号数的编码其中有符号数的表示方法与传统二进制一致。假设有一个整数数据类型有w位。
smile_zyk
·
2019-11-19 17:00
CSAPP
第二章show_bytes函数的探究
CSAPP
第二章中给出了一个帮助我们观察数据的位模式的函数--show_bytes函数,具体实现如下:#includetypedefunsignedchar*byte_pointer;voidshow_bytes
smile_zyk
·
2019-11-19 16:00
关于补码的由来和作用
最近在读《深入理解计算机系统》(
CSAPP
),第二章中关于补码的描述很有意思,在书中并没有详细叙述补码的由来和为什么要使用补码来表示有符号数,而不是用原码和反码。
smile_zyk
·
2019-11-05 19:00
CSAPP
:代码优化【矩阵运算】
编程除了使程序在所有可能的情况下都正确工作,还需要考虑程序的运行效率,上一节主要介绍了关于读写的优化,本节将对运算的优化进行分析。读写优化编写高效程序需要做到以下两点:选择一组合适的算法和数据结构编写编译器能够有效优化以转换成高效可执行代码的源代码第一点合适的算法和数据结构往往是大家写程序时会首先考虑到的,而第二点常被忽略。这里我们就代码优化而言,主要讨论如何编写能够被编译器有效优化的源代码,其中
东寻
·
2019-11-05 10:00
闲谈学习
于是会有人给他列出不同阶段的书单,从《C++Primer》《算法导论》《APUE》《
CSAPP
》到《人月神话》,从「黑书」「白书」到「龙书」。
靖难at简书
·
2019-11-04 22:25
CSAPP
:代码优化【矩阵读写】
写程序最主要的目标就是使它在所有可能的情况下都正确工作,另一方面,在很多情况下,让程序运行得很快也是一个重要的考虑因素。运算优化编写高效程序需要做到以下两点:选择一组合适的算法和数据结构编写编译器能够有效优化以转换成高效可执行代码的源代码第一点合适的算法和数据结构往往是大家写程序时会首先考虑到的,而第二点常被忽略。这里我们就代码优化而言,主要讨论如何编写能够被编译器有效优化的源代码,其中理解优化编
东寻
·
2019-11-04 08:00
CSAPP
——第九章 虚拟内存
几个概念程序存储在磁盘上的文件,在执行的时候加载如内存内存分为DRAM,和SRAMDRAM:可以就看成我们买的内存条SRAM:可以就看是CPU中的一二三级缓存虚拟内存好处:将主存(DRAM)进行抽象,通过分页机制,实现:主存中保存活动的区域,并根据需要(缺页异常和正常存取)在主存之间传送数据。高效的使用了主存为进城提供一直的地址空间,简化内存管理,和程序的链接保护每个进城的地址空间不被其他进程破坏
Myth52125
·
2019-11-04 04:08
[
CSAPP
]Virtual Memory
**Reference:**Logicaladdress:Includedinthemachinelanguageinstructionstospecifytheaddressofanoperandorofaninstruction.Thistypeofaddressembodiesthewell-knownIntelsegmentedarchitecturethatforcesMS-DOSand
酒桶九筒
·
2019-11-03 15:14
推荐一本非常好的书
csapp
版权声明:本文为cdeveloper原创文章,可以随意转载,但必须在明确位置注明出处!
程序小歌
·
2019-11-02 09:44
CSAPP
: 位操作实现基本运算
目录实验要求实现代码1、pow2plus12、pow2plus43、bitXor4、tmin5、isTmax6、allOddBits7、negate8、isAsciiDigit9、conditional10、isLessOrEqual11、logicalNeg12、howManyBits13、floatScale214、floatFloat2Int15、floatPower2@(位操作实现简单函数
东寻
·
2019-10-25 19:00
CSAPP
:逆向工程【二进制炸弹】
二进制炸弹任务描述"二进制炸弹包含若干个阶段,每个阶段需要输入特定的字符串,所有输入正确则炸弹被排除,否则….."拆弹的任务也就是找出这些字符串将字符串记录到solution.txt文件中,用换行区别不同阶段的字符串,Linux环境下可按下列方式验证拆弹结果:主要方法objdump反汇编与gdb调试。分析流程已知数据有编译好的二进制可执行文件bomb,也就是反汇编目标文件,以及bomb.c文件,用
东寻
·
2019-10-20 19:00
编码-隐匿在计算机软硬件背后的语言(第二次学习)
加上同时学的mooc上的数字逻辑电路以及汇编语言,
csapp
还有各种的知识可以串在一起。不说了,看自己还记得多少:第五章绕过拐角的通信。
世界を変える御宅族
·
2019-10-19 12:00
编码-隐匿在计算机软硬件背后的语言(第二次学习)
加上同时学的mooc上的数字逻辑电路以及汇编语言,
csapp
还有各种的知识可以串在一起。不说了,看自己还记得多少:第五章绕过拐角的通信。
世界を変える御宅族
·
2019-10-19 12:00
《计算机系统》加分项目
目录《计算机系统》加分项目《
CSAPP
:深入理解计算机系统》数据实验二进制炸弹实验缓冲区溢出实验体系结构实验性能实验cache实验shell实验malloc实验代理实验《计算机系统》加分项目过去,凡是计算机专业人员都对计算机的工作原理和工作方式了如指掌
娄老师
·
2019-10-16 10:00
CS APP ex2 bomb
目录
CSAPP
的实验2,拆解bomb进入gdb调试模式查看主函数phase_1函数phase_2函数phase_3函数phase_4函数phase_5phase_6
CSAPP
的实验2,拆解bomb这里是在
万有引力丶
·
2019-10-14 12:00
CSAPP
-1:计算机系统漫游
本周开始了
CSAPP
的读书计划,规划已久,终于要开动了。之前自己也零散看过,不得不说这本书有难度都没坚持下去,这次跟着码农翻身小伙伴们一起打卡这本书。
万福金安
·
2019-10-13 16:36
CSAPP-1:
这本书推荐给想变得更加优秀的你
最开始是在图书馆借的,后来粗略看了第一遍之后,果断入手了,中文版原价是139元,这本书就是大名鼎鼎的
CSAPP
(ComputerSystems:AProgrammer'sPerspective),中文版被翻
守望之名
·
2019-10-11 22:19
书籍推荐
FFmpeg+OpenGL ES+OpenSL ES打造Android视频播放器课程总结
在这段时间,我简略地查阅了R语言的深度学习和
CSAPP
等知识点。
duxingzhe103
·
2019-09-25 20:08
CSAPP
3-1 程序的机器级表示
1本章总述1)通过让编译器产生机器级程序的汇编表示,学习了编译器及其优化能力,以及机器、数据类型和指令集;2)学习了程序如何将数据存储在不同的内存区域中——程序开发人员需要知道一个变量是存储在运行时栈中,亦或是在某个动态分配的数据结构中,还是全局程序数据的一部分;3)程序是以指令序列来表示的,每条指令都完成一个单独的操作;部分程序状态,比如寄存器和运行时栈,对程序开发人员来说是直接可见的;4)编译
瘦风
·
2019-09-22 22:00
CSAPP
DataLab
断断续续做了两天可算做的差不多,,注意不同版本的题目可能会有所不同,搜了很多他们的题目和现在官网给的实验题都不一样,自己独立思考完整做一遍顺便记录一下。PS:刚开始这些难度为1的题有的说实话我都做了挺久的,不过到后面虽然难度上升了,但是确越做越有感觉了,另外完整做一遍感觉很有意思,这些题总体感觉就是让你自己把那些运算符?什么的自己使用位级运算手动实现一遍,知道底层是怎样运作的。一,bitXor:/
_Ennio
·
2019-09-17 21:00
CSAPP
-----虚拟内存
本节目录1、物理和虚拟寻址2、地址空间3、虚拟内存作为缓存的工具4、虚拟内存作为内存管理的工具5、虚拟内存作为内存保护的工具6、地址翻译7、案例研究8、内存映射9、动态内存分配10、垃圾收集11、C程序中常见的与内存有关的错误12、小结本系列文章的观点和图片均来自《深入理解计算机系统第3版》仅作为学习使用虚拟内存(VM)是对主存的抽象概念。虚拟内存提供了三个重要的能力:1)它将追村看成一个存储在磁
吾之求索
·
2019-09-16 16:23
CSAPP
2-2 整数的表示和运算
目录1整数表示1整数表示编码整数有2种方式:一种只能表示非负数(大于0的数),另一种能够表示负数、零和正数.(1)整型数据类型:C和C++都支持有符号(默认)和无符号数,Java只支持有符号数.(2)无符号数的编码:无符号数的二进制表示又一个很重要的属性:每个介于0~2^w-1之间的数都有唯一一个w位的值编码,反之亦然.(3)补码编码:最常见的有符号数的计算机表示方式就是补码(two's-comp
瘦风
·
2019-09-15 22:00
上一页
14
15
16
17
18
19
20
21
下一页
按字母分类:
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
其他