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
【深入理解计算机系统】
深入理解计算机系统
(虚拟存储器)
虚拟存储器是硬件异常、硬件地址翻译、主存、磁盘文件和内核软件的完美交互,他为每个进程提供了一个大的、一致的和私有的地址空间。 虚拟存储器提供了三个重要的能力: 1)它将主存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动区域,并根据需要在磁盘和主存之间来回传送数据,通过这种方式,它高效的使用了主存。 2)它为每个进程提供了一致的地址空间,从而简化了存储器
小萌兔
·
2015-08-06 21:00
虚拟存储器
物理页
虚拟页
【CSAPP】《
深入理解计算机系统
》读书笔记
这本书在CMU作为计算机系统的入门书籍,每章还对应有课后实验,花了1个多月看完这本书,并且挑选了4个感兴趣的实验完成,收获还是不错的。看完这本书最大的感受就是对整个计算机系统有了一个整体的认识,一个简单的helloworld的后面发生了什么?认真读完这本书,相信你心中一定会有一个答案了。========================================================
a2888409
·
2015-08-05 11:37
CSAPP
《
深入理解计算机系统
》 第一章读书笔记
最近开始啃CSAPP,买了英文版,看得比较慢。只有先理解系统才能在更多方面学的更明其实质Chapter1:*一份hello.c代码的编译分为四个阶段:1.Pre-processor:编译预处理,就是把#include后面的库代码加入到程序中,生成hello.i的文件。2.Complier:用编译器把hello.i的C代码翻译成汇编语言,并生成:hello.s文件。(汇编语言是高级语言转为机器码的一
jibancanyang
·
2015-08-02 21:00
深入理解计算机系统
学习笔记(三)之C语言常见的与存储器(内存)有关的错误
编写C程序,管理和使用虚拟存储器可能是个困难且容易出错的任务。与存储器有关的错误经常是在据错误源一段距离才表现出来。下面讨论常见的与存储器有关的错误。1.间接引用坏指针虚拟存储器的某些区域是只读的,如果试图往这些区域写数据,程序将会以保护异常中止。间接引用指针的常见示例是经典的scanf错误。我们用scanf从stdin读一个整数到一个变量中,常见的错误如下:scanf("%d",val);上面错
zwhlxl
·
2015-05-26 11:00
大才非学不成,大志非学不就——周旭龙
0.1数据结构与算法学习总结系列0.2操作系统原理学习总结系列0.3
深入理解计算机系统
总结系列一、开发基础学习总结系列PS:此部分主要是我阅读一些技术书籍的相关读书笔记,或者是一些基础实践的开发笔记,多对所学所感做
tham_
·
2015-05-25 20:00
周旭龙技术博客
技术成长日记
技术学习心得总结
.NET学习经验
[置顶] 郭晓东的“系列博客,专辑”集锦
《
深入理解计算机系统
》【系列笔记】虚拟存储器,malloc,垃圾回收《PNG文件格式》PNG文件格式分析 iOS平台知识:iOS开始学习【系列博客】Objective-c语法,继承,protocol和d
hherima
·
2015-05-25 13:00
unicode
计算机
存储
png
block
深入理解计算机系统
学习笔记(二)之程序优化
序言写程序最主要的目的是使程序在所有可能的情况下都能正确地运行。一个运行很快但是运行结果错误的程序是没有用处的。如何编写高效的程序?首先必须选择一组合适的算法和数据结构,其次才是编写初编译器能够有效优化使得程序能够高效可执行。编译器优化现在主要的一些编译器,比如GCC,都允许程序定制优化选项,比如说编译程序的时候添加“-O1”,”-O2”和”-O3”,其中“-O1”为基本的优化,”-O2”和”-O
zwhlxl
·
2015-05-16 09:00
程序优化
计算机系统
六星经典CSAPP-笔记(11)网络编程
六星经典CSAPP-笔记(11)网络编程参照《
深入理解计算机系统
》简单学习了下Unix/Linux的网络编程基础知识,进一步深入学习Linux网络编程和TCP/IP协议还得参考Stevens的书。
dc_726
·
2015-05-15 21:00
网络
socket
networking
CSAPP
深入理解计算机系统
学习笔记(一)
程序的编译过程为了说明程序的编译过程,我们用经典的helloworld程序作为例子#include intmain(intargc,charconst*argv[]) { printf("helloworld!!!\n"); return0; } 在linux系统中,我们用GCC编译器将源程序文件helloworld.c编译成可执行目标文件helloworld。zengwh@zengwh:~/t
zwhlxl
·
2015-05-11 15:00
计算机系统
深入理解计算机系统
9个重点笔记
转载:https://github.com/lanxuezaipiao/ReadingNotes/blob/master/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A7%91%E6%99%AE%E8%AF%BB%E7%89%A9%E7%AC%94%E8%AE%B0/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3%E8%AE%A1%E7%AE%97%E6
quentain
·
2015-05-11 15:00
网络编程的基本概念 讲解客户端程序和服务器程序
以下的内容:整理自
深入理解计算机系统
第11章网络编程1、客户端-服务器编程模型 总结:需要认识到客户端和服务器端是进程,而不是常常提到的机器或主机。
lujiandong1
·
2015-05-05 19:00
服务器
网络编程
linux内存管理之malloc
(这里不探讨linux系统调用的实现机制.),参考了《
深入理解计算机系统
》和一些网上的资料.首先从http://ftp.gnu.org/gnu/glibc下载glibc库2.21,通常我们用的bsp或者
kai8wei
·
2015-04-26 23:00
计算机学习
C与指针
深入理解计算机系统
C++对象模型C++primer编程之美程序员面试精选100题算法导论数据结构C语言版(严蔚敏)程序员宝典C语言495个问题C陷阱与缺陷华为编程规范高质量C++-C编程指南代码之美中文版操作系统计算机网络
·
2015-04-13 11:00
计算机
简易Web服务器
老早就学习了Web服务器,那是在《
深入理解计算机系统
》后面有个例子是有关Web服务器的,并给了一个简单的例子。例子包含3个文件,csapp.h,csapp.c,tiny.c。现将tiny.c列出来。
oldmtn
·
2015-04-13 11:00
15.04.10-有意思的补码
最近在看《
深入理解计算机系统
》,学习编程的一些基本的东西,还是觉得很有意思的。今天看到了补码编码这一节。最常见的有符号数的计算机表示方式就是补码(two's-complement)形式。
icyjiang
·
2015-04-10 17:00
深入理解计算机系统
1.3 理解编译系统如何工作是有回报的
对于像hello.c这样简单的程序,我们能指望编译系统产生正确高效的机器码。然而,有几个重要原因使得程序员需要去理解编译系统是如何工作的:优化程序执行效率。现代编译器都是非常聪明的工具,它们通常都能产生好的机器码。作为程序员,为了写出高效的代码,我们不需要去知道编译器的内部工作机制。然后,为了在我们的C程序中做出好的编码决定,我们确实需要对机器码和编译器如何把不同的C语句翻译成机器码有基本的了解。
l294265421
·
2015-03-23 11:00
计算机系统
深入理解计算机系统
1.2 程序被其它程序翻译成不同形式
hello程序作为高级C程序开始它的生命,之所以被叫做高级的,是因为它能人类阅读和理解。然而,为了能在系统上运行hello.c,单个的C语句必须被其它程序翻译成一系列低级的机器语言指令。这些指令以被叫做可执行对象程序的形式打包,并且被存储为二进制磁盘文件。对象程序与可执行对象文件关联。在Unix系统上,从源文件到对象文件的翻译过程被编译器执行:unix>gcc-ohellohello.cGCC编译
l294265421
·
2015-03-22 11:00
深入理解计算机系统
1.1 信息就是位 + 上下文
我们的hello程序作为一个被程序员用编辑器创建并保存在hello.c文件中的源程序开始它的生命。源程序就是一个位序列,每一个位代表0或者1,这些位序列每八位组成一个字节。在程序中,每一个字节代表一个字符。大部分现代系统用ASCII标准呈现文本字符,ASCII标准就是用一个字节大小的整型值代表一个文本字符。例如Figure1.2显示了hello.c的程序的ASCII表示。hello.c程序作为字节
l294265421
·
2015-03-21 12:00
计算机系统
深入理解计算机系统
第一章 计算机系统漫游
计算机系统由硬件和软件构成,他们一起工作来运行应用程序。系统的具体实现将会随着时间而改变,但是底层概念不会变。所有的计算机系统有相似的硬件和软件组件,这些组件做相似的事情。这本书为这些程序员而写,他们想通过理解这些组件如何工作及如何影响他们程序的正确性和执行效率来提高他们的技术。对这次激动人心的旅行,你要保持淡定。如果你致力于学会这本书中的概念,你将会成为一个少见的优秀程序员,因为你被你对底层计算
l294265421
·
2015-03-21 11:00
计算机系统
C编程乐趣
看《
深入理解计算机系统
》时候看到的方法,觉得很cool不需要第三个位置来临时存储另一个值来实现两个数值的交换voidinplace_swap(int*a,int*b) { *a=*a^*b; *b=*a
yiting52
·
2015-03-20 15:00
<
深入理解计算机系统
> 通过程序的机器级表示来理解函数栈
C源码:voidswap(int*a,int*b) { intc; c=*a; *a=*b; *b=c; } intmain(void) { inta; intb; intret; a=16; b=64; ret=0; swap(&a,&b); ret=a-b; returnret; }编译:gcc-gfunc_stack.c-oa.out objdump-dSa.out>main.dump可以
zy416548283
·
2015-03-03 17:00
[置顶] 书单
1、暗时间2、黑客与画家3、数学之美4、大学生的坟【朋友送的】5、剑指offer【师哥推荐】6、我是一只IT小小鸟7、
深入理解计算机系统
8、编程珠玑9、算法之道2015-01-27-----------
u012995856
·
2015-01-27 14:00
书籍
《
深入理解计算机系统
》第二章习题2_66
最近打算把《
深入理解计算机系统
》再读一遍,说实话这本书读多少遍都不嫌多,每读一遍都会有收获。
gaohuaid
·
2015-01-26 17:00
c
深入理解计算机系统
2-66
pipeline lab (《
深入理解计算机系统
》lab7)
好久没更新了。。最近也是比较懒。。一直没有更新。。好了现在开始慢慢更一下。lab7说明及要求pdf:地址点我 可以直接在界面里下载lab7po主解答代码包括文件包:地址点我好了进入正题------------------------------------------------------------------------------------------------------------
u013648407
·
2015-01-25 21:00
计算机
CSAPP
pipelinelab
记录一下今年看过的书(写给自己)
2015.01.20-
深入理解计算机系统
,Oreilly出版的,希望能够结合实践来读,只争朝夕,天道酬勤的读。不要拖,勤快,实践,做笔记的读
不避风云
·
2015-01-20 13:00
程序员必看的书
一、《黑客与画家:硅谷创业之父paulgraham文集》、《编译原理》、《
深入理解计算机系统
》、《代码大全2》、《算法导论》、二、《大数据时代》、《淘宝技术这十年》、《白帽子讲Web安全》、《重构:改善既有代码的设计
DQ_DM
·
2015-01-15 09:01
面试
int 占用多少字节
本文转自http://charlesxie.blog.51cto.com/2236179/939680最近在看
深入理解计算机系统
这本书,上面提到了在32位机器和64机器中int类型都占用4个字节。
海空天空
·
2015-01-08 19:44
面试题
书单阅读
Code:TheHiddenLanguageofComputerHardwareandSoftware(《编码的奥秘》)ComputerSystem:AProgrammer’sPerspective(《
深入理解计算机系统
firefist_wei
·
2014-12-26 11:00
阅读
深入理解计算机系统
(四)--------------- 系统级I/O
一个Unix文件就是一个m个字节的序列,所有的I/O设备,如网络、磁盘和终端,都被模型化为文件,而所有的输入和输出都被当做对相应文件的读和写来执行。a. 打开文件,一个应用程序通过内核要求打开相应的文件,来宣告它要访问一个I/O设备,内核返回一个小的非负整数,叫做描述符,应用程序后续对这个文件的操作都是通过这个描述符。int open(char*filename,intflags,
a2796749
·
2014-12-22 16:00
深入理解计算机系统
位操作
#include"btest.h" #include /* *InstructionstoStudents: * *STEP1:Fillinthefollowingstructwithyouridentifyinginfo. */ team_structteam= { /*Teamname:Replacewitheither: YourloginIDifworkingasaonepersonte
lezong2011
·
2014-12-21 20:00
阅读
深入理解计算机系统
(三)--------------- 虚拟存储器
一、碎片现象:造成堆利用率低的主要原因是一种碎片现象。 内部碎片:已分配块比有效载荷大时发生的。 外部碎片:是当空闲存储器合计起来满足分配请求,但是没有一个单独的空闲块足够大来处理这个请求。所以,存储器采用试图维持少量的大空闲块,而不是维持大量的小空闲块。二、垃圾收集: 垃圾收集器将存储器视为一张有向可达图,该图的节点被分成一组根节点和一组堆节点,每个堆节点对应于堆中的一个已分配
a2796749
·
2014-12-19 21:00
操作系统
阅读
阅读
深入理解计算机系统
(二)--------------- 进程控制
1. 进程控制每个进程都有一个唯一的正数进程ID,getpid()函数可以获得调用者的进程ID。a. fork()函数:创建一个新的运行子进程,新创建的子进程几乎但不完全与父进程相同,子进程得到与父进程用户级虚拟地址空间相同的(但是独立的)一份拷贝,包括文本、数据和bss段、堆以及用户栈,子进程还获得父进程任何打开文件描述符相同的拷贝,这就意味着当父进程调用fork时,子进程可以读
a2796749
·
2014-12-18 15:00
操作系统
进程控制
阅读
深入理解计算机系统
(一)--------------- 函数优化
1. 函数优化:a. 消除不必要的内容:不必要的函数调用、条件测试和存储器引用。b. 消除循环的低效率:利用处理器提供的指令级并行能力,同时执行多条指令。代码移动:识别要执行多次但是计算结果不会改变的计算,移出循环。 c. 减少过程调用:d. 消除不必要的存储器引用:累计值存放在本地变量中。e. 循环展开:减少循环的次数f. 提高并行
a2796749
·
2014-12-09 20:00
优化
计算机
阅读
六星经典CSAPP笔记(1)计算机系统巡游
CSAPP即《ComputerSystem:AProgrammerPerspective》的简称,中文名为《
深入理解计算机系统
》。
dc_726
·
2014-12-06 21:00
程序员的“机械同感”
恰逢最近正在看第二版的CSAPP(ComputerSystem:AProgrammerPerspective,
深入理解计算机系统
),感慨万千!
dc_726
·
2014-12-06 21:00
深入理解计算机系统
第五章学习-性能优化 3
5.8分支预测现在的处理都支持分支预测功能,在执行分支预测时候,在执行判断语句之前,处理器已经执行了判断后的语言,如果判断正确,就会直接把处理结果给执行单元,否则就会接受分支预测失败惩罚,如果预测比较容易预测,是可以很好提升其性能,如果分支判断确实是随机的话最好不要用这种方法。不过通常的情况下建议多运用分支预测预取技术。GCC在判断是否运用分支预测预取技术的时候,会根据代码的风格判断,以下这种风格
fengjingge
·
2014-12-05 20:00
性能优化
深入理解计算机系统
第五章
深入理解计算机系统
第五章学习-性能优化 2
5.5循环展开一种比较常见的优化程序算法,就是将一次循环展开多次,来减少循环的次数。例如combine5:void combine5(vec_ptr v, data_t *dest){long int i;long int length = vec_length(v);long int limit = length - 1;data_t *data = get_vec_start(v);data_
fengjingge
·
2014-12-05 20:00
性能优化
深入理解计算机系统
第五章
深入理解计算机系统
第五章学习-性能优化 1
一、简述本文主要是通过学习
深入理解计算机系统
第五章-性能优化之后的理解和总结。第五章主要目的通过对底层硬件架构和机制(汇编、处理器架构)的理解,让程序员写出更加高效(性能)的代码。
fengjingge
·
2014-12-05 20:00
优化
性能优化
深入理解计算机系统
第五章
深入理解计算机系统
9个重点笔记
引言
深入理解计算机系统
,对我来说是部大块头。
lanxuezaipiao
·
2014-12-03 21:00
计算机
高性能
profiling
性能提高
系统本质
程序员成长之路
打基础自然是厚积薄发,这样的话我一般推荐下面四本书:计算机体系结构这一类别下最具代表性的书籍是《
深入理解计算机系统
》,作者是RandalE.Bryant和DavidO’Hallaron。
zqh6516336520
·
2014-11-30 00:00
程序员
学习方法
工作过程中阅读的书籍整理
1.Linux学习阅读书籍操作系统相关书籍:《
深入理解计算机系统
》 --是一本很经典的书,看这本书的收获,理解了内存管理,链接详细的过程,计算机体系架构,虚拟内存管理,代码优化相关知识。
cwcwj3069
·
2014-11-25 20:00
操作系统相关
计算机基础知识的学习与巩固
下面按照学习的先后顺序给出一些推荐的好书:编程语言《C程序设计语言》离散数学《离散数学及其应用》数据结构《数据结构与算法分析C语言实现》组成原理《
深入理解计算机系统
》(CSAPP)操作系统《现代操作系统
thisinnocence
·
2014-11-25 13:00
数据结构
操作系统
深入理解计算机系统
第二版习题解答CSAPP 2.20
T2Uw(w)=x,x≥0时T2Uw(w)=x+2w,x<0时利用上面的公式,重新计算2.19的问题。
枫竹梦
·
2014-11-21 23:00
深入理解计算机系统
第二版习题解答CSAPP 2.19
在2.17的基础上完成下表:x十六进制T2U(x)-80x88-30xD13-20xE14-10xF1500x0050x55
枫竹梦
·
2014-11-21 23:00
很多时候,是否好好看完一本好书,对一个人的提升往往能达到质的区别
Code:TheHiddenLanguageofComputerHardwareandSoftware(《编码的奥秘》)ComputerSystem:AProgrammer’sPerspective(《
深入理解计算机系统
ifeixiang
·
2014-10-31 17:00
计算机技术打基础的几本书
计算机体系结构这一类别下最具代表性的书籍是《
深入理解计算机系统
》,作者是RandalE.Bryant和DavidO’Hallaron。
caocg504
·
2014-10-29 18:39
软件开发
设计原则
计算机系统
计算机技术
robert
分享一些学习资料-大量PDF电子书
分享地址:http://pan.baidu.com/s/1qWK5V0g提取密码: np33主要包括几个部分的东西:C/C++/数据结构、算法类的,也会有一些计算机基础的,如《
深入理解计算机系统
》PHP
ohmygirl
·
2014-10-15 21:00
网段,局域网,互联网 及 集线器,网桥,路由器的区别
深入理解计算机系统
--网络编程1. 网络中的基本概念网络,网段,局域网,互联网 网络 是一个按照地理位置远近组成的层次系统。最底层是LAN,迄今为止,最流行的局域网技术是以太网。
w616589292
·
2014-09-28 21:00
[
深入理解计算机系统
] 计算机如何实现乘法与除法运算
乘法运算(1)原码一位乘法算法要点:(1)乘法通过加法和移位来实现。两个5位二进制数(最高位为符号位)相乘,共需要进行4次加法和4次移位。(2)部分积总是先加上被乘数或零,然后右移1位得到新的部分积。(3)部分积是加上被乘数还是加上零,取决于乘数中当前考虑的数位。该数位为1,则加上被乘数然后右移,否则直接右移。(4)乘数中的数位一旦被考虑过,将不再需要,可以通过右移丢弃。(5)部分积加上被乘数的过
亚尔诺炽焰
·
2014-09-28 11:17
Computer
Architecture
程序员想打基础看那几本书合适
打基础自然是厚积薄发,这样的话我一般推荐下面四本书:计算机体系结构这一类别下最具代表性的书籍是《
深入理解计算机系统
》,作者是RandalE.Bryant和DavidO’Hallaron。
yaoxtao
·
2014-09-25 09:34
书籍
上一页
27
28
29
30
31
32
33
34
下一页
按字母分类:
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
其他