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
作为计算机专业学生,最应该学习的课程前五位是什么?
推荐书籍:《
深入理解计算机系统
》这本书是从程
程序员吴师兄
·
2021-06-10 16:42
算法
数据结构
计算机基础
算法
数据结构
编程语言
计算机网络
操作系统
0和1
数据存储:在《
深入理解计算机系统
》(
CSAPP
)中有一句话,信息=位+上下文。这句话可谓是精辟。
littletim
·
2021-06-10 15:41
2019-02-12——Java 的书籍
《Java编程思想第4版》《Java核心技术第10版》《深入理解Java虚拟机第2版》《Java并发编程实战》《算法》《算法导论》《
深入理解计算机系统
》《操作系统》《编译原理》《计算机组成原理》《计算机网络
烟雨乱平生
·
2021-06-08 03:09
BIS, BIC位运算与逻辑运算的关系
今天读
CSAPP
,看到一道题,蛮有意思的.题中提到.在上世纪后期非常流行的DigitalEquipment的VAX计算机.它没有布尔运算AND和OR,只有bis(位设置)和bic(位清除)两种指令.这两种指令都接受两个参数
Gascognya
·
2021-06-04 13:53
《
深入理解计算机系统
》阅读笔记三——位运算 逻辑运算 移位运算
位级运算二进制位的布尔运算,这里查了网上的一个例子:用位级的异或运算来做两个变量的数值交换:inta=3,b=5;a=a^b;b=b^a;a=a^b;代码执行后:a为5,b为3这是为什么呢?异或是如何交换的呢?首先,我们看一下异或的原理:a=3^5;3的二进制是0011,5的二进制是0101。异或发现两者的不同之处,所以a最终为0110。了解了异或的基本原理后,接下来看上述的代码。a=a^b;这一
体胖勤跑步
·
2021-05-17 01:04
学弟学妹们,如果你想吃透 Java字节码的话,看这篇就好了!(超级硬核,建议收藏)
不知道大家有没有这种感觉,就是一开始学习编程的时候,真心不想看底层的东西,就想直接上来撸代码,但时间久了以后,总感觉缺点啥~~~~于是我开始阅读《
深入理解计算机系统
》、《图解TCP/IP》、《深入理解Java
沉默王二
·
2021-05-12 15:08
趣学Java
反编译
编程语言
java
jvm
jdk
浅谈CPU,内存,硬盘,指令以及他们的关系
结合
深入理解计算机系统
中的插图,图2一种典型系统的硬件组成可见,计算机系统是由总线、I/O设备、内存、处理器组成。总线贯穿整个系统,携带字节信息,并负责在各个部件间传递。
JayZJU
·
2021-05-12 12:36
2019-01-27
CSAPP
第十一章
所有网络应用都基于相同的基本编程模型,有着相似的整体逻辑结构,并且依赖相同的编程接口。11.1TheClientServerModel:每个网络应用都是基于该模型的。采用这个模型,一个应用是由一个服务器进程和一或多个客户端进程组成。服务器管理某种资源,通过操作这种资源来为它的客户端提供某种服务。该模型中的基本操作是transaction,一个transaction组成:1)当一个客户端需要服务时,
ShawnPanCn
·
2021-05-08 20:54
CSAPP
: 内存映射
内存映射单独拿出来说,因为很有趣,不仅关系到共享库,还有fork等什么叫内存映射?linux通过将一个虚拟内存区域与一个磁盘上的对象关联起来,也就是一个文件到一块内存的映射。共享对象我们已经知道,进程这一抽象能够为每个进程提供自己私有的虚拟地址空间,但是如果许多进程有同样的只读代码区域呢?比如相同的库函数,如果每个进程拥有一份副本,那太浪费空间了,所以内存映射提供了机制来控制多个进程共享对象。共享
leon4ever
·
2021-05-05 05:45
《
深入理解计算机系统
》并发编程
目录我们在上一章节中讲到的TinyWeb服务器只能为单个客服端提供访问,这一章里,我们将通过进程、多路复用和线程技术研究并发的服务器。1.1使用进程实现并发我们实现过一个echo服务器,但是遗憾的是只能为一个客服端服务,这不是我们的初衷,现在我们来更新上一个版本,使得服务器在接收到连接请求的时候,创建子进程为该客户端提供服务,主进程会关闭已连接的描述符,继续监听下一个客服端,这一个过程我画了一个简
唐鱼的学习探索
·
2021-05-04 05:50
深入理解计算机系统
1、程序运行分析(1)通常我们在Linux端编译程序时输入的gcc会将我们所写的.c程序翻译成一个可执行目标文件,这个翻译的阶段可以分为4个阶段,执行这4个阶段的程序(预处理器、编译器、汇编器和链接器)一起构成了编译系统。我们以hello.c程序为例来进行分析:hello.c的编译系统分析预处理阶段:1.展开所有的宏定义,消除#define2.处理所有的条件编译指令3.处理以字符“#include
橙小汁
·
2021-04-25 21:29
如何不用循环与任何控制语句得到一个二进制数中1的个数
如何不用循环与任何控制语句得到一个二进制数中1的个数在做
CSAPP
的Datalab的过程中,有一道题目让你在不用循环与任何控制语句的情况下得到一个二进制数中1的个数。
AsianDuckKing
·
2021-04-25 11:38
三月week4文献阅读4:Biological Databases for Hematology Research
BiologicalDatabasesforHematologyResearch血液学研究生物数据库AbstractWiththeadvancesofgenome-widesequencingtechnologiesandbioinformati
csapp
roaches
米妮爱分享
·
2021-04-19 16:13
深入理解计算机系统
第七章:链接
链接(static&dynamic)具体实现方法见《
深入理解计算机系统
第三版》仅仅整理一些思路静态连接连接器的任务符号解析重定位:汇编器生成的代码和数据节都是从地址0开始,需要将每个符号定义与一个内存位置管理
大狮子嗷呜呜
·
2021-04-19 13:10
经验分享
这本年发文超1000篇的SCI期刊今年4分,明年将突破5分
今天,我们来看看这本SCI期刊:A
CSApp
liedEnergyMaterials。
WOSCI沃斯编辑
·
2021-04-19 02:09
利用系统基因组学方法进行多基因组学数据复合与分析:在动物生产,健康和增益中的方法和应用
文章来源:Multi-omicdataintegrationandanalysisusingsystemsgenomi
csapp
roaches:methodsandapplicationsinanimalproduction
虾里巴人
·
2021-04-18 00:11
C++面试题
60道30K+C++工程师面试必问面试题在C++程序中调用被C语言修饰的函数,为什么要加extern“C”C/C++中static关键字详解(
深入理解计算机系统
)bss段,data段、text段、堆(heap
菜鸟瞎编
·
2021-03-17 10:28
pwn----做题记录_get_started_3dsctf_2016
emmm最近一直埋头于
csapp
,做一道题回忆回忆以前做的。这道题太大了,在main函数上方有个get_flag函数。
·
2021-03-14 06:48
安全ctf
作为计算机专业学生,最应该学习的课程前五位是什么?(2021 年更新)
推荐书籍:《
深入理解计算机系统
》下载地址:链
程序员吴师兄
·
2021-03-13 14:23
算法
网络
大数据
编程语言
python
多线程 & 高并发 学习笔记(持续更新ing)
学习资料:《
深入理解计算机系统
》,《Java高并发程序设计》,《Java并发编程实战》,《Java并发编程的艺术》,《Java核心技术卷1》多线程一章,极客时间王宝令的Java并发编程实战课程…以下大部分阐述来自上述书籍与课程中个人认为很重要的部分
九幽孤翎
·
2021-03-13 11:31
多线程
学习笔记
并发编程
CS:APP Bomb Lab
实验材料在http://
csapp
.cs.cmu.edu/3e/labs.htmlbomb准备BombLabhandout一开始我们手上的材料,README文件里面没有内容,.c文件中是炸弹的源代码和一些补充说明
dyume
·
2021-02-24 17:38
CSAPP
(一)信息的表示与处理
文章目录信息的表示与处理1信息存储1.1寻址与字节顺序1.2字数据大小1.3位运算、逻辑运算与移位运算2整数表示与计算2.1无符号整型2.2有符号整型2.3整型计算3浮点数表示与计算3.1浮点型的编码规则3.2浮点数的分类表示3.3浮点数的舍入3.4浮点数的计算信息的表示与处理众所周知,计算机采用二进制,因此一切计算机中的信息本质上都是01串,只是它们的编码与解码协议不同。同样的01串,经过不同的
lqf还是只废物qwq
·
2021-02-20 00:36
笔记
操作系统
CSAPP
实验四——cache lab实验(一)
在学完《
深入理解计算机系统
(
CSAPP
)》第六章有关存储器层次结构方面的知识后,就可以着手做cachelab的实验了。实验分为两个部分,这篇博客只聊聊自己在做第一部分的一点心得。
路遥知马力2020
·
2021-02-18 22:46
深入理解计算机系统
c语言
《
深入理解计算机系统
》CMU15213-BombLab学习笔记
前言在皓哥的鼓励下,磕磕绊绊断断续续终于做完了BombLab,这个实验确实很有趣而且对我帮助很大,做完也非常的有成就感(HGNB),因此决定写一篇博客记录一下学习的过程首先作几点说明1、由于每个学生的Bomb是随机的,而我是从网上其他人的github下载的lab,所以有可能你的Bomb与我并不一样,导致每个阶段的答案可能是不一样的,但是方法应该还是可以参考的2、这个实验对提升汇编语言的理解能力以及
mikucyy
·
2021-02-15 02:33
CSAPP读书笔记
CS:APP Data Lab
实验材料在http://
csapp
.cs.cmu.edu/3e/labs.html可以找到。总结bitXor送分题,有数字逻辑基础轻松解决。
dyume
·
2021-02-14 19:32
csapp
attack lab
csapp
attacklevel1简单的跳转过去就行了,payload:payload1=b'a'*0x28+p64(0x04017C0)level2传个参,可以发现程序开了个rwx的段给我们用,那就是
Kr0ne
·
2021-02-06 16:12
CSAPP
第六章家庭作业(原书第二版)
6.32A:地址格式因为地址宽13位且题目所给地址为0x0718,转换成二进制表示为0011100011000,填下表:B:存储器引用由题S=8,E=4,B=4,m=13所以s=3,b=2,t=m-(s+b)=8,0-1位是块偏移,2-4位是组索引,5-12是标记位,故根据题A中二进制地址表示可知,CO为00,CI为110,CT为00111000,由题中所给高速缓存表查看索引为0x6、标记位为0x
呱呱乐编程
·
2021-01-14 20:08
CSAPP
经验分享
【存储技术】局部性(时间局部性、空间局部性)
《
CSAPP
》6.2局部性文章目录1、局部性分类1)时间局部性2)空间局部性3)局部性原理举例2、对程序数据引用的局部性3、评价局部性提出问题:为什么有良好局部性的程序通常比局部性差的程序运行得更快?
Kaimar
·
2021-01-10 19:30
深入理解计算机系统
操作系统
【存储技术】RAM、磁盘存储、固态硬盘
《
CSAPP
》6.1存储技术文章目录1、随机访问存储器1)RAM分类2)内存模块3)读事务和写事务2、磁盘存储1)逻辑磁盘块2)访问磁盘3、固态硬盘1)固态硬盘浅析2)固态盘为什么快小知识参考1、随机访问存储器
Kaimar
·
2021-01-09 16:50
深入理解计算机系统
操作系统
计算机专业丨月薪3万的C++程序员,在大学必须掌握的课程有哪些?
看完《计算机组成原理》可以看《
深入理解计算机系统
》,这本书对理解程序在计算机中运行特别有帮助。
毛橘puls
·
2021-01-09 14:07
干货/经验分享
c++
程序员
大学毕业
必备课程
计算机专业
2.深入一点理解C源程序的编译过程
也可阅读《
深入理解计算机系统
》。本文章中所有图片均来自互联网,如有侵权,劳请联系。另外,转载请标明出处哦,语雀:https://www.yuque.com/yifeideshijie1.直接点
菲拉拉
·
2021-01-03 01:48
C/C++学习漫谈
程序人生
经验分享
c++
c语言
《
深入理解计算机系统
》(
CSAPP
)读书笔记 —— 第六章 存储器层次结构
在计算机系统模型中,CPU执行指令,而存储器系统为CPU存放指令和数据。实际上,存储器系统是一个具有不同容量、成本和访问时间的存储设备的层次结构。 如果你的程序需要的数据是存储在CPU寄存器中,那么在指令的执行期间,在0个周期内就能访问到它们。如果存储在高速缓存中,需要4~75个周期。如果存储在主存中,需要上百个周期。而如果存储在磁盘上,需要大约几千万个周期! 计算机程序的一个基本属性称为
Carlos0321
·
2021-01-01 18:40
c
《
深入理解计算机系统
》(
CSAPP
)实验四 —— Attack Lab
这是
CSAPP
的第四个实验,这个实验比较有意思,也比较难。通过这个实验我们可以更加熟悉GDB的使用和机器代码的栈和参数传递机制。
Carlos0321
·
2021-01-01 18:34
c
《
深入理解计算机系统
》(
CSAPP
)读书笔记 —— 第五章 优化程序性能
写程序最主要的目标就是使它在所有可能的情况下都正确工作。一个运行得很快但是给出错误结果的程序没有任何用处。程序员必须写出清晰简洁的代码,这样做不仅是为了自己能够看懂代码,也是为了在检査代码和今后需要修改代码时,其他人能够读懂和理解代码。另一方面,在很多情况下,让程序运行得快也是一个重要的考虑因素。本章主要介绍了循环展开,减小过程调用,消除不必要的内存引用等优化代码的方法,有助于我们写出高效的代码,
Carlos0321
·
2021-01-01 18:34
c
《
深入理解计算机系统
》实验五 —— Perfom Lab
本次实验是
CSAPP
的第5个实验,这次实验主要是让我们熟悉如何优化程序,如何写出更具有效率的代码。通过这次实验,我们可以更好的理解计算机的工作原理,在以后编写代码时,具有能结合软硬件思考的能力。
Carlos0321
·
2021-01-01 18:34
c
《
深入理解计算机系统
》(
CSAPP
)读书笔记 —— 第六章 存储器层次结构
在计算机系统模型中,CPU执行指令,而存储器系统为CPU存放指令和数据。实际上,存储器系统是一个具有不同容量、成本和访问时间的存储设备的层次结构。 如果你的程序需要的数据是存储在CPU寄存器中,那么在指令的执行期间,在0个周期内就能访问到它们。如果存储在高速缓存中,需要4~75个周期。如果存储在主存中,需要上百个周期。而如果存储在磁盘上,需要大约几千万个周期! 计算机程序的一个基本属性称为
Carlos0321
·
2021-01-01 18:56
c
《
深入理解计算机系统
》(
CSAPP
)实验四 —— Attack Lab
这是
CSAPP
的第四个实验,这个实验比较有意思,也比较难。通过这个实验我们可以更加熟悉GDB的使用和机器代码的栈和参数传递机制。
Carlos0321
·
2020-12-31 15:53
c
《
深入理解计算机系统
》(
CSAPP
)读书笔记 —— 第五章 优化程序性能
写程序最主要的目标就是使它在所有可能的情况下都正确工作。一个运行得很快但是给出错误结果的程序没有任何用处。程序员必须写出清晰简洁的代码,这样做不仅是为了自己能够看懂代码,也是为了在检査代码和今后需要修改代码时,其他人能够读懂和理解代码。另一方面,在很多情况下,让程序运行得快也是一个重要的考虑因素。本章主要介绍了循环展开,减小过程调用,消除不必要的内存引用等优化代码的方法,有助于我们写出高效的代码,
Carlos0321
·
2020-12-31 15:53
c
《
深入理解计算机系统
》实验五 —— Perfom Lab
本次实验是
CSAPP
的第5个实验,这次实验主要是让我们熟悉如何优化程序,如何写出更具有效率的代码。通过这次实验,我们可以更好的理解计算机的工作原理,在以后编写代码时,具有能结合软硬件思考的能力。
Carlos0321
·
2020-12-31 15:53
c
非科班CS实践自学法
2.计算机组成原理+操作系统这一块比较底层,难度比较大,CMU
深入理解计算机系统
,MIT6.824,哈工大,南大课程实验。
wwxy261
·
2020-12-31 00:25
算法
CSAPP
Lab2: binary bomb 二进制炸弹
实验技能拆弹准备:☞熟练使用gdb调试器和objdump;☞单步跟踪调试每一阶段的机器代码;☞理解汇编语言代码的行为或作用;☞“推断”拆除炸弹所需的目标字符串。☞在各阶段的开始代码前和引爆炸弹函数前设置断点,便于调试。实验语言:C语言,AT&T汇编语言实验环境:32位linux实验介绍:逆向工程拆除“二进制炸弹”程序增强对程序机器级表示、汇编语言、调试器和逆向工程等理解。一个“BinaryBomb
David_Morgan
·
2020-12-30 19:24
笔记
Leetcode 二叉树前序 中序 后序遍历的补充(DAY 13)
博客链接二叉树后序遍历二叉树前序遍历二叉树中序遍历闲聊可能最近刷题会刷的少一点了毕竟要准备期末考试了然后高数线代开始学习()不然到时候挂科要被我们班级踢出去就不好了hhh最近在看汇编因为之前买了
csapp
错不在我
·
2020-12-30 11:03
从c开始的进步之路
c语言
复旦大学961-计算机系统基础-第四章-链接、进程及并发编程
全部内容链接文章目录编译系统的过程静态链接目标文件符号和符号表重定位和加载动态链接库异常和进程异常的相关概念进程的相关概念进程控制和信号1.进程的创建2.进程的终止信号进程间的通信进程间信号量的控制信号量各种并发编程模式共享变量和线程同步其他并行(发)问题编译系统的过程《
CSAPP
蜗牛____
·
2020-12-27 22:36
961
复旦大学961-计算机系统基础-第三章-存储器结构及虚拟存储器
全部内容链接文章目录局部性存储器层级结构计算机高速缓存原理计算高速缓存对性能的影响地址空间虚拟存储器虚拟内存的管理、翻译和映射TLB(快表)动态存储器分配和垃圾收集垃圾收集器(GC)的基本概念局部性《
CSAPP
蜗牛____
·
2020-12-27 22:23
961
复旦大学961-计算机系统基础-第二章-优化程序性能
961全部内容链接文章目录优化程序性能优化编译器的能力编译器优化的局限性表示程序性能特定体系结构或应用特性的性能优化限制因素确认和消除性能瓶颈确定性能瓶颈消除性能瓶颈优化程序性能《
CSAPP
》P341选择合适的算法和数据结构编写出编译器能够有效优化以转换成高效可执行代码的源代码消除不必要的功能
蜗牛____
·
2020-12-27 22:10
961
《
深入理解计算机系统
》读书笔记 —— 第三章 程序的机器级表示
本章主要介绍了计算机中的机器代码——汇编语言。当我们使用高级语言(C、Java等)编程时,代码会屏蔽机器级的细节,我们无法了解到机器级的代码实现。既然有了高级语言,我们为什么还需要学习汇编语言呢?学习程序的机器级实现,可以帮助我们理解编译器的优化能力,可以让我们了解程序是如何运行的,哪些部分是可以优化的;当程序受到攻击(漏洞)时,都会涉及到程序运行时控制信息的细节,很多程序都会利用系统程序中的漏洞
Carlos0321
·
2020-12-26 21:13
c
《
深入理解计算机系统
》实验三 —— Buf Lab
这是
CSAPP
的第三个实验,主要让我们熟悉GDB的使用,理解程序栈帧的结构和缓冲区溢出的原理。实验目的 本实验的目的在于加深对IA-32函数调用规则和栈结构的具体理解。
Carlos0321
·
2020-12-26 21:13
c
《
深入理解计算机系统
》读书笔记 —— 第三章 程序的机器级表示
本章主要介绍了计算机中的机器代码——汇编语言。当我们使用高级语言(C、Java等)编程时,代码会屏蔽机器级的细节,我们无法了解到机器级的代码实现。既然有了高级语言,我们为什么还需要学习汇编语言呢?学习程序的机器级实现,可以帮助我们理解编译器的优化能力,可以让我们了解程序是如何运行的,哪些部分是可以优化的;当程序受到攻击(漏洞)时,都会涉及到程序运行时控制信息的细节,很多程序都会利用系统程序中的漏洞
Carlos0321
·
2020-12-09 15:45
c
哈工大数据结构期末_21哈工大计算机考研 | 备考重点与参考书目推荐!
文彦考研让|梦想|有迹可循老师简介逐勋师兄,2015年以专业课分数117的成绩考入哈尔滨工业大学计算机学院,连续3年从事哈工大计算机专业课考研辅导工作,精通计算机系统基础(
csapp
),计算机网络和数据结构
weixin_39817122
·
2020-12-09 14:39
哈工大数据结构期末
csapp
:bomb-lab 解题笔记
这是一个非常有趣的lab。你可以用gdb,和反编译破解作者设置的密码。当然,作者提供了不带实现的c源码和(估计使用0g优化级别)。降低难度。phase1code:0000000000400ee0:400ee0:4883ec08sub$0x8,%rsp400ee4:be00244000mov$0x402400,%esi#关键代码400ee9:e84a040000callq401338400eee:8
深刻而荒诞
·
2020-12-09 03:56
csapp
asm
反编译
上一页
10
11
12
13
14
15
16
17
下一页
按字母分类:
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
其他