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
【深入理解计算机系统】
JavaScript 和服务器端方向推荐书单(附简评)
计算机科学《
深入理解计算机系统
》这本书从一个程序员角度描述了计算机底层的工作原理,例如信息的储存、算数计算、汇编和链接、处理器、编译优化、存储器、输入输出、并发编程等话题。
LeanCloud_通讯
·
2018-02-09 00:00
系统级程序设计笔记(unit0——C语言特性)
这个专题的所有学习笔记来自于对武汉大学计算机学院软件工程专业大三上学期的专业必修课《系统级程序设计》的学习(教材为
深入理解计算机系统
CSAPP),涉及的编程语言全部为C语言和C++语言。
浮生未歇x
·
2018-01-29 00:00
系统级程序设计
《
深入理解计算机系统
》读书总结一
计算机组成总线;I/O设备;主存;处理器;我的理解:总线,我们平时遇到的如mido总线I2C总线还有虚拟的platform总线处理器我们都是用的arm系列的比如arm9主存都是DDR大小在64M或者128M嵌入式需要flash为8G或16G(扩展)高速缓存针对处理器和主存之间的差异(主要说它们读取速度比处理器访问寄存器的速度),系统设计者采用高速缓存作为暂时的集结区域,存放处理器近期可能会用的信息
生而有用
·
2018-01-22 14:19
基础知识
ava程序员必看基础书籍
1计算机基础1、《
深入理解计算机系统
》著名的CSAPP,从c语言到汇编语言到硬件再到操作系统,写得非常好.是一本能帮助
深入理解计算机系统
的书.基本上把这本书吃透面试操作系统的大部分问题都不是问题。
AJIAAAFF
·
2018-01-11 14:43
java
学习
ava程序员必看基础书籍
1计算机基础1、《
深入理解计算机系统
》著名的CSAPP,从c语言到汇编语言到硬件再到操作系统,写得非常好.是一本能帮助
深入理解计算机系统
的书.基本上把这本书吃透面试操作系统的大部分问题都不是问题。
AJIAAAFF
·
2018-01-11 14:43
java
学习
浮点数的二级制表示
1、《
深入理解计算机系统
》(第三版)第78页2、CMU--IntrotoComputerSystems,Fall2017--04FloatingPoint课程重点:符号位+指数阶码位段+小数位段非规格化值
Werther_wei
·
2017-12-29 15:09
计算机基础知识
深入理解计算机系统
计算机系统漫游代码从文本到可执行文件的过程(c语言示例):预处理阶段,处理#inlcude,#defineMAX100编译阶段:将文本编译成汇编程序,hello.s汇编阶段:汇编器将上一步的程序翻译成机器指令。hello.o链接阶段就:hello中调用的printf函数,而函数存在一个printf.o单独的编译完成文件,需要以某种方式合并到hello.o中。系统的硬件组成总线I/O设备主存处理器,
wildimgine
·
2017-12-25 13:43
CSAPP实验2:Bomb Lab
这是《
深入理解计算机系统
(第3版)》的配套实验,实验相关的代码和说明可以从官网下载。选择BombLab作为开始,是因为做PWN的时候屡屡因为GDB使用不熟练而无从下手(对,哪怕有WP还是搞不定)。
ch_fu
·
2017-12-24 21:10
CSAPP实验
陈浩技术领导力
开发抽象可重用组建-高于社会主流的标准和要求发现问题-现有方案问题-提供解决问题的方案,比较方案的优缺点-优雅、简单、重用-越有价值的需求-越少的成本基础技术吃透:系统:CPU、内存、SSD、GPU、虚拟内存、并发《
深入理解计算机系统
halleycomett
·
2017-12-19 10:54
学习
《
深入理解计算机系统
》——信息的表示和处理
一、信息存储系统将8位的块作为最小的可寻址存储器单位,机器级程序系统看成一个大的数组,然后通过地址来获得存储器中的这些块的内容。数据在计算机中的存储都是用二进制,不过二进制不易表示,一般我们用十六进制来表示。如八位的十六进制范围为00~FF。计算机的字长代表其整数数据的大小,同时也是系统絮凝地址空间最大大小。C语言中对布尔代数的操作有提供几种方式,比如&(与),|(或),~(取反),^(异或)。二
20179203李鹏举
·
2017-12-17 22:00
2017-2018-1 20179226 《
深入理解计算机系统
》第2周学习总结
教材学习知识点总结本章研究三种重要数字表示。无符号基于二进制,表示大于或等于零的数字。补码表示有符号整数(可正可负)最常见的方式。浮点数表示实数的科学记数法的以2为基数的版本。2.1信息存储1.大多数计算机使用8位的块,或者字节。作为最小的可寻址的内存单位,而不是访问内存中单独的位。2.内存的每个字节都由一个唯一的数字来标识,称为虚拟内存的地址,所有可能地址的合集称为虚拟地址空间。3.进制间转换1
20179226任逸飞
·
2017-12-17 19:00
《
深入理解计算机系统
》第二章学习笔记
本章我们来研究三种重要的数字表示无符号是基于传统二进制表示法,表示大于或等于0的数字补码是表示有符号整数的最常见方式,有符号整数可以是正或者为负浮点数是表示实数的科学计数法的以2为基数的版本计算机的表示法是用有限的数量的位表示的数字编码,所以,结果太大的时候,某些运算就会溢出。浮点运算溢出会产生特殊的值+∞,但是一组正数的乘积总是正的,这点和整数不同。但是由于表示的精度有限,浮点运算是不可结合的。
20179223刘霄
·
2017-12-16 20:00
《
深入理解计算机系统
(第三版)》第二章
一、信息存储1.机器级程序将存储器视为一个非常大的字节数组,称为虚拟存储器,每个字节都有一个唯一的数字来标识,称为地址,所有可能地址的集合称为虚拟地址空间。2.每台计算机都有一个字长,指明指针数据的标称大小。32位程序和64位程序区别在于该程序如何编译,而不是其运行的机器类型。C语言各种数据类型分配的字节数如下:int32_t和int64_t分别为4个字节和8个字节,数据大小固定,不随编译器和机器
20179202杨晓桐
·
2017-12-16 15:00
深入理解计算机系统
-笔记
计算机系统漫游程序程序的生命周期从一个源程序(源文件)开始,即程序员利用编辑器创建并保存的文本文件,如文件名为hello.c的c语言程序。源程序是由0和1组成的位序列,8个位被组织成一组,称为字节。每个字节表示程序中的某个文本字符。这种形式能够被人读懂。基本思想:系统中的所有的信息-包括磁盘文件、存储器中的程序、存储器中存放的用户数据以及网络上传送的数据,都是由一串位表示的。区分不同数据对象的唯一
matYoung
·
2017-12-14 13:43
其他
CS:APP3e
深入理解计算机系统
_3e CacheLab实验
详细的题目要求和资源可以到http://csapp.cs.cmu.edu/3e/labs.html或者http://www.cs.cmu.edu/~./213/schedule.html获取。本次实验难点在PartB的64*64部分,主要介绍这一部分。PartA:编写缓存模拟器前期准备:getopt和fscanf系列库函数对于这次实验很重要,不太明白的可以man一下,或者参考这两篇文章:Linux
AnbyLizh
·
2017-12-11 20:07
深入理解计算机系统
第二章信息的表示浮点数表示浮点类似于科学计数法,在相应范围内,精度是会发生变化的,不同的结合运算可能会导致计算的结果不一致。浮点数的表示只是近似的。image.pngimage.png简单理解:整数部分换算成二进制,小数部分,每一位1/(2^n)做累加到23位近似来表示这个小数部分,两部分的二进制值形成尾数,将小数点向左移动形成阶码(+127),第一位是符号位。第三章程序的机器级表示
3cbba3c8e19b
·
2017-11-28 16:19
《
深入理解计算机系统
》第一章学习笔记
信息就是位+上下文源程序:就是一个由0和1组合的位(bit)序列,8位组成一字(byte),每个字节表示某个文本字符。系统中所有的信息——包括磁盘文件、存储器中的程序、存储器中存放的用户数据以及网络上传送的数据,都是由一串位表示的。区分不同数据对象的唯一方法是我们读到这些数据对象时的上下文。C语言的起源:由DennisRitchie在1969年~1973年创建的。美国国家标准学会(American
20179223刘霄
·
2017-11-26 22:00
《
深入理解计算机系统
》
一、计算机系统漫游学习笔记//实例代码:#includeintmain(){printf("hello,world!\n");}/*大多数的现代系统都使用ASCII标准来表示文本字符,自重方式实际上就是*用一个唯一的单字节大小的整数值来表示每个字符.表示如下:*//*#include命令告诉预处理器,将系统头文件stdio.h中的内容插入到程序文本中,得到以".i"为后缀扩展名结尾的另一个c程序.
20179203李鹏举
·
2017-11-26 20:00
2017-2018-1 20179226 《
深入理解计算机系统
》第1周学习总结
教材学习知识点总结1.1信息就是位+上下文1.源程序实际上就是一个由值0和1组成的位序列,8个位为1字节。2.程序是以字节序列的方式储存在文件中。3.只由ASCII字符构成的文件称为文本文件,其他文件都称为二进制文件。1.2程序被其他程序翻译成不同的格式1.编译系统四个阶段:预处理器、编译器、汇编器、连接器。1.3了解编译系统如何工作是大有益处的1.好处:优化程序性能,理解链接时出现的错误,避免安
20179226任逸飞
·
2017-11-26 16:00
《
深入理解计算机系统
(第三版)》第一章
1.知识总结(主要对新知识)(1)计算机提供不同层次的抽象表示,来隐藏实际实现的复杂性文件是对I/O设备的抽象表示虚拟存储器是对主存和磁盘I/O设备的抽象表示进程是对处理器、主存和I/O设备的抽象表示(2)程序员必须知道编译系统是如何工作的原因:优化程序性能:知其原理,才可优化。理解连接时出现的错误避免安全漏洞:缓冲区溢出错误。(3)运行hello程序shell上输入”./hello”后,回车,s
20179202杨晓桐
·
2017-11-26 14:00
从问题到程序、文献管理与信息分析、构建之法、
深入理解计算机系统
《从问题到程序》第一章1.这个部分的机器指令看不明白,将寄存器1的数据加到寄存器0原有数据上,这个原有数据是指第一行的数据还是第三行运算过的数据?2.return0到底是什么?它和return1有什么区别?return0代表程序正常退出,return1代表程序异常退出!使用return语句可以返回一个变量内的值或一个指针,也可用return0,表示返回为空。return代表调到函数外,return
20179226任逸飞
·
2017-11-19 16:00
《
深入理解计算机系统
》速读提问
一、计算机系统漫游本章通过运行一个hello程序为例,概述了计算机操作系统的运行过程,讲述了组成计算机系统的硬件和系统软件,讲到了处理器处理一个程序的过程。这一章中出现了一个我首次听说到的词汇Amdahl定律,该定律的主要思想是,当我们对系统的某个部分加速时,其对整体性能的影响取决于该部分的重要性和加速程度。也就是说要加速整个系统,必须提升系统中大部分的速度。问题:这个提速是指的硬件性能上的提升,
20179203李鹏举
·
2017-11-19 15:00
速读《
深入理解计算机系统
(第三版)》问题及解决
第一章计算机漫游P13:用户栈和运行时堆有什么区别?数据结构中经常说堆栈,这里的堆和栈一样吗?和操作系统的堆、栈有什么区别?参考:堆和栈的区别(内存和数据结构)操作系统:栈:由操作系统自动分配释放,存放函数的参数值,局部变量的值等。操作方式类似于数据结构中的栈。堆:一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收,与数据结构中的堆是两回事,分配方式类似于链表数据结构:堆:一棵倒过来的
20179202杨晓桐
·
2017-11-19 14:00
C语言中socket使用讲解。
其实socket接口也是一种特殊的I/O(在《
深入理解计算机系统
》这本书中的IO部分也有提到网络也是一种特殊的IO),它也是一种文件描述符。
繁城落叶
·
2017-11-06 20:51
C/C++
《
深入理解计算机系统
》----总结
第一章计算机系统漫游主要内容:主要是全面精炼的概括了本书的内容,也就是“计算机系统概述”,包括:a)解释计算机系统中“信息”的概念:就是二进制位;b)解释源程序(以C源程序为例)到可执行程序的过程:预处理→编译→汇编→链接c)通过可执行程序被shell加载执行流程,讲解了计算机的硬件组成:总线、I/O设备、主存、处理器然后,简单了述说了高级缓存的作用以及计算机存储设备的体系结构-------金字塔
那个少年
·
2017-11-03 22:04
计算机原理
字节序列
date:2016-08-189:25:00title:字节序列categories:《
深入理解计算机系统
》读后感版权声明:本站采用开放的[知识共享署名-非商业性使用-相同方式共享许可协议]进行许可所有文章出现的代码
aaa11111232
·
2017-11-02 21:58
《深入理解计算机系统》读后感
大牛的IT经验,方法【跟,帮】
我推荐几本书给大家,包括
深入理解计算机系统
、现代操作系统、C程序设计语言、C语言数据结构和算法、Unix环境高级编程、TCP/IP网络通信详解。另外我建议大家学习一下面向对象方面知
TBHacker
·
2017-10-12 15:00
C/C++ 编译器优化介绍
只有做到
深入理解计算机系统
,加深对编程语言的理解,才能写出最优化的代码。
Inside_Zhang
·
2017-09-30 16:13
深入理解计算机系统
(CSAPP)读书总结
第一章计算机系统漫游计算机系统:是由硬件和系统软件组成的,它们共同工作来运行应用程序。源程序实际上就是一个有值0和1组成的位(bit)序列,8个位被组织成一组,成为字节。进程是对处理器、主存和I/0设备的抽象。文件是对I/O设备的抽象表示。虚拟存储器是对主存和磁盘I/O设备的抽象表示。所以计算机重要的思想就是抽象。进程是操作系统对一个正在运行的程序的一种抽象。并发运行是说一个进程的指令和另外一个进
lokfea
·
2017-09-19 00:00
读书
网络编程 -- 从 Socket 编程 到 OkHttp 框架
基础知识(参考图解TCP/IP与
深入理解计算机系统
)1、TCP/IP参考模型这位大佬写的很详细---点击即看2、socket套接字每个套接字都是连接的一个端点,有相应的套接字地址。
Allen
·
2017-09-18 00:00
网络编程
java
网络
socket
okhttp
虚拟机安装ubuntu(win10)
这段时间在看《
深入理解计算机系统
》,需要安装Linxu系统进行实践。在网上找到了这篇文章,通过其傻瓜式的教程,成功安装ubuntu16.04.3(原文以ubuntu14.04.3为例)。
张少锋的博客
·
2017-09-16 17:11
ubuntu
虚拟机
win10
手记
深入理解计算机系统
(2.2)------进制间的转换原理
上一篇博客我们讲解了信息的在计算机中是如何存储以及如何表示的。但是对于各个进制的转换LZ只是一笔带过了,后来LZ仔细研究了进制转换的原理,发现还是挺有感悟的。那么这篇博客就讲讲进制转换。1、进制的介绍在讲进制之前,我们先看一下数制的定义:用一组固定的数字和一套统一的规则来表示数目的方法称为数制。而数制有进位计数制与非进位计数制之分。非进位计数制的数码表示的数值大小与它在数中的位置无关,这里我们不作
bmw601055
·
2017-09-15 13:10
关于caffe与
深入理解计算机系统
的一个问题
在看21天实战caffe,102页blob的示例的时候,最先根据书上的办法使用如下命令可以编译成功:g++-oappblob_demo.cpp-I../include/-DCPU_ONLY-I../.build_release/src/-L../build/lib/-lcaffe但是对于第二个示例再用此办法编译就会报错了:/bin/ld:/tmp/ccWcJlLv.o:undefinedrefer
Kai93
·
2017-08-20 09:21
其他
编译系统四步骤——预处理、编译、汇编、链接
以上图援引自《
深入理解计算机系统
(原书第三版)》C程序文件/hello.c#includeintmain(intargc,constchar*argv[]){printf("helloworld\n")
财务码农小老板
·
2017-08-17 16:04
Linux-C
深入理解计算机系统
(CS:APP) - Bomb Lab详解
本文首发于我的博客BombLab实验代码见GitHub简介BombLab是CS:APP中对应第三章内容:程序的机器级表示的lab。主要内容为提供一个二进制对象文件bomb,当运行时,它会要求用户输入六个字符串,如果其中的任何一个不正确,炸弹就会爆炸,输出一行错误信息并向计分服务器提交(自学所用的材料不会向服务器提交信息,但这不代表我们可以随意让炸弹爆炸),学生必须通过反汇编和逆向工程来找到六个正确
viseator
·
2017-07-21 22:34
Android so逆向基本知识总结
前言对于Android平台native的逆向需要掌握的基本知识或要看的书籍总结如下:1.1语言方面《Cprimerplus》《LinuxC编程一站式学习》《C++Primer.Plus》1.2体系结构方面《
深入理解计算机系统
code&poetry
·
2017-07-10 15:07
移动安全
探究数据内型中每个字节的存储内容和字节顺序
以下代码源自《
深入理解计算机系统
》////int_tyoe_test.cpp//Test////CreatedbyChengSunon12/15/16.
阿默斯特没有雪
·
2017-07-06 18:54
Computer
System
《
深入理解计算机系统
》笔记
第一章计算机系统漫游P3以GCC编译器驱动程序为例,它读取源程序文件hello.c,并把它翻译成一个可执行目标文件hello。这个翻译过程可分为四个阶段。预处理阶段:预处理器根据以字符#开头的命令,修改原始的C程序,将程序代码中包含的系统头文件直接插入程序文本中。(处理结果:hello.i)编译阶段:翻译成汇编语言程序(处理结果:hello.s)汇编阶段:翻译成机器语言指令(处理结果:hello.
阿默斯特没有雪
·
2017-07-06 09:10
Computer
System
程序员书单
计算机经典——经典的力量,跨越时间
深入理解计算机系统
代码大全程序员修炼之道计算机程序的构造和解释SICP算法导论重构:改善既有代码的设计计算机程序设计艺术数据结
北邮张博
·
2017-07-04 10:03
生活思考
2017年我的阅读书单
主要还是看运维开发和Python及Golang编程相关方面的书,每天坚持看1-2小时书,没办法,其它时间要写业务代码或处理线上的问题,列表清单如下所示:《Go读书笔记》《Go语言圣经》《
深入理解计算机系统
抚琴煮酒
·
2017-06-04 09:52
devops
2017年
阅读书单
生活频道
《
深入理解计算机系统
》| 网络编程
网络应用集成了我们已经学到的很多概念:进程、信号、字节顺序、存储器映射、动态分配等,同时客服端-服务器模型是一个新的知识,我们将所有的这些结合起来,创建一个微小的Web服务器,提供浏览器静态和动态的访问。1.1客户端--服务器模型每一个网络应用都是基于一个客户端进程和一个服务器进程建立起来的,服务器管理资源,客服端请求某种服务,客户端和服务器都是一个运行中的程序。典型的示意图如下:我们以一个邮件客
唐鱼的学习探索
·
2017-05-07 23:02
深入理解计算机系统
(读书笔记)
link对于一个最终链接而成的elf文件,它里面所包含的东西,就是.text段,.rodata段,.data段,.bss段,.symtab等这些数据内容对于符号表,有weak和strong之分,没有初始化的符号定义为weak,已经初始化的为strong,如果link发现两个relocatableobject含有相同的符号定义时,有三种情况:1.两个模块都是strong,则链接报错;2.一个stro
htjoy1202
·
2017-04-17 11:16
未来一年的计划
超大部头的《
深入理解计算机系统
》,花费时间超过两个月,也将将看完了。但真要说点什么,感觉也说不出来,因为这本书,真的有点太宽泛了。
codedoctor
·
2017-04-08 17:23
个人总结
《
深入理解计算机系统
》 | 链接
目录链接是将各种不同文件的代码和数据部分收集(符号解析和重定位)起来并组合成一个单一文件的过程。本章节我们将要学习链接器工作的详细原理。通过对这一方面知识的学习,将有助于理解一些危险的编程错误、分离编译的过程、作用域的实现以及如何利用共享库等等。我们将静态链接和动态链接(加载时共享、运行时共享)两个大的方向讲起。废话不多说,开始飙车了。1.1编译驱动程序如何工作?在我的raspberrypi上我创
唐鱼的学习探索
·
2017-04-01 11:21
书评:
深入理解计算机系统
今天来书评:
深入理解计算机系统
,写技术文章肚子里墨水其它在太少了,就写写我读这本书感悟吧,很早以前买过这本书,不过是修订版。当时看的那叫一个难受啊,根看天书差不多。
juanriquelme
·
2017-03-28 11:09
架构师养成之路--学习资料
学习资料深入理解java-----java并发编程实战,JVM虚拟机原理,深入分析JavaWeb技术内幕,java特种兵web安全-----白帽子讲web安全系统原理-----程序员的自我修养—链接、装载与库,
深入理解计算机系统
第二版中文大型系统架构
老kuang
·
2017-03-06 15:44
《
深入理解计算机系统
》| 优化程序的性能
编写运行的快的程序有三个因素:①选择合适的算法和数据结构;②理解编译器的能力,使用有效的方式让编译器能进行优化;③对于运算量特别大的程序,可能还需要进行任务分解。在这一过程中可能还需要对程序的可读性和运行速度进行权衡。在阅读这一章节的过程中花费了大量的时间对我自己的自动办公软件进行了优化,算是学以致用。选择合适的算法和数据结构不在本章的讲解内容中,我们从编译器的能力和局限性讲起着重介绍几种提高程序
唐鱼的学习探索
·
2017-02-08 23:26
工作之后我推荐看的书籍
国内外1000余所高校采用[美]ThomasH.Cormen,[美]CharlesE.Leiserson,[美]RonaldL.Rivest,[美]CliffordStein著;殷建平,徐云,王刚等译2.
深入理解计算机系统
东升
·
2017-02-07 10:46
书籍推荐
并发与并行(concurrency and parallelism)的思考理解
《
深入理解计算机系统
》是一个通用的概念,指一个同时具有多个活动的系统;用并发使一个系统运行得更快。并行可以在计算机系
V_code
·
2017-01-11 18:55
操作系统
并发
操作系统
并行
超线程
新年小目标,2017读完这些书
Computerscience松本行弘的程序世界计算机程序的构造和解释
深入理解计算机系统
FunctionalProgramminginScalaPurelyFunctionalDataStructuresFunctionalPythonProgrammingMathandstatistical
勃学未入门
·
2016-12-31 23:00
上一页
19
20
21
22
23
24
25
26
下一页
按字母分类:
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
其他