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
【深入理解计算机系统】
深入理解计算机系统
--第二章(信息的表示和处理)
此系列为读的笔记,如有理解错误,望请指正.第二章信息的表示和处理现代计算机存储和处理信息是以二进制信号表示,这些微不足道的二进制数字,或称为位(bit)奠定了数字革命的基础2.1信息存储大多数计算机使用的8位的块,或者字节(byte),作为最小的可寻址的存储器单位,而不是存储器中访问单独的位.机器级程序将存储器视为一个非常大的字节数组,称为虚拟存储器.存储器的每个字节都由一个唯一的数字来标识,称为
小坤同学
·
2016-12-31 21:16
读书笔记之深入理解计算机系统
【
深入理解计算机系统
】【浮点数精度例子】
例:将同一实数分别赋值给单精度和双精度类型变量,然后打印输出。#includemain(){floata;doubleb;a=123456.789e4;b=123456.789e4;printf("%f/n%f/n",a,b);}运行结果如下:1234567936.0000001234567890.000000问题:为什么同一个实数赋值给float型变量和double变量,输出结果会所不同呢?为什
patkritLee
·
2016-12-27 21:35
深入理解计算机系统
程序员经典书籍清单
:他的生平、思想及论文解读》《计算机系统概论》《深入理解Linux内核》《深入Linux内核架构》《TCP/IP详解卷1:协议》《Linux系统编程(第2版)》《Linux内核设计与实现(第3版)》《
深入理解计算机系统
wangtaotao
·
2016-12-27 19:00
【
深入理解计算机系统
】【整数除法运算】
变量与常数之间的除运算——举例·假设x为一个int型变量,请给出一个用来计算x/32的值的函数div32。要求不能使用除法、乘法、模运算、比较运算、循环语句和条件语句,可以使用右移、加法以及任何按位运算。解:若x为正数,则将x右移k位得到商;若x为负数,则x需要加一个偏移量(2^k-1)后再右移k位得到商。因为32=2^5,所以k=5.即结果为:(x>=0?x:(x+31))>>5,但题目要求不能
patkritLee
·
2016-12-27 10:01
深入理解计算机系统
20145230《信息安全系统设计基础》课程总结
20145230《信息安全系统设计基础》课程总结每周作业汇总第0周学习总结:看了学长学姐们的上学期的总结,大概了解了这门课程的内容及学习方式,阅读了几篇对我这门课学习有极大帮助的博客,然后大概浏览了一下《
深入理解计算机系统
20145230熊佳炜
·
2016-12-25 23:00
深入理解计算机系统
(4)-- 整数和浮点数
整数二进制到无符号十进制数的表示为负数的表示编码:隐匿在计算机软硬件背后的语言(5)--负数的表示二进制表示负数的值为例如补码表示二进制中补码就是对2的补数,例如两位有符号二进制数,10、11、00、01。-1补码是11,01对2的补数=11-01+1=11,所以11就是-1的补码表示;-2对2的补数=11-10+1=10,所以-2的补码表示就是10。最小的负数10看上去就是最大整数01的延伸。这
hit_why
·
2016-12-22 14:35
20145337 《信息安全系统设计基础》课程总结
信息安全系统设计基础》课程总结每周作业链接汇总第0周作业:[(http://www.cnblogs.com/5337my/p/5857743.html)]简要内容:了解软件工程的基本概念,在翻阅中快速熟悉《
深入理解计算机系统
20145337马月
·
2016-12-20 10:00
int 类型究竟多少字节?
技术中int类型的字节数是2,感觉很奇怪,最早写51单片机时也是2,后来到了观念转变成了4,现在有遇到了2.一、转自http://www.tuicool.com/articles/6j2uqi2最近在看
深入理解计算机系统
这本书
qing101hua
·
2016-12-17 17:40
c++
C
Neon
2016-2017-1 《信息安全系统设计基础》第十三周课程总结
内容是《
深入理解计算机系统
》第十一章「网络编程」和第十二章「并发编程」。学习方法还是要参考别出心裁的Linux系统调用学习法。
weixin_34254823
·
2016-12-14 07:00
git
操作系统
网络
JVM初探 -JVM内存模型
或了解片面或知识体系陈旧.因此最近抽时间研读了几本评价较高的JVM入门书籍,算是总结于此.本系列博客的主体来自深入理解Java虚拟机(第二版)和实战Java虚拟机两部书,部分内容参考HotSpot实战和
深入理解计算机系统
以及网上大量的文章
菜鸟-翡青
·
2016-12-02 18:48
jvm
Java研发进阶之路
《
深入理解计算机系统
》|处理器体系结构
目录学习事物是怎样工作的有其内在价值:处理器是如何工作的对于我们普通人来说一直是个秘密,我们将从零开始构建一个流水线处理器,为了实现这一处理器的软硬件,我们有大量的前提知识要学习,包括:指令系统、硬件设计背景知识(hcl)、以及流水线的通用原理。学习完这些内容以后我们才开始YY一个我们自己的86处理器。本章内容※YY一个指令集Y86:各种状态、指令集、编码、编程规范、异常处理;※数字硬件设计背景:
唐鱼的学习探索
·
2016-11-24 22:46
函数的栈帧结构
在《
深入理解计算机系统
》这本书中,对栈帧的概念定义如下:为单个过程分配的那部分栈就叫做栈帧。栈帧的最顶端以两个指针界定——帧指针(寄存器ebp)和栈指针(esp)。
JenaeLi
·
2016-11-22 12:50
C
2016年我的阅读书单
每天坚持看1-2小时书,没办法,其它时间要写业务代码或处理线上的问题,列表清如下所示:《操作系统设计与实现》第3版《
深入理解计算机系统
》第2版《Go语言编程》《Go读书笔记》《Go语言圣经》《互联网+》
抚琴煮酒
·
2016-10-21 18:04
清单
2016年
阅读书单
生活频道
博士第一年,要把这些计算机基础课程学好(附教程)
StructureAndInterpretationOfComputerPrograms编程语言类:C++primer;effectiveC++&moreeffectiveC++;python&linuxscript;操作系统类:
深入理解计算机系统
StevenYang313
·
2016-10-14 19:05
《
深入理解计算机系统
》| 信息的表示和处理
本章目录[学习信息的存储(编码)和处理有什么用?]研究数字在计算机中是如何存储的,以及值的范围和算术属性,有助于我们跨越不同的机器、系统以及编译器获得更好的可移植性。了解这些细节非常重要,程序员有责任和义务编写健壮的程序,了解其内部如何工作,其不良行为背后的原因,对于安全领域也有非常高的价值。[本章是如何展开的?]本章首先对计算机是如何存储信息(编码)进行了讨论,中间涉及了二进制、十六进制数据的表
唐鱼的学习探索
·
2016-10-10 17:52
存储器层次结构 --《
深入理解计算机系统
》第六章读书笔记
1.几种存储技术随机访问存储器RAM,RAM又分为两类:静态的SRAM和动态的DRAM。静态SRAM特点:容量较小,速度较之动态DRAM要快很多,故而价格也较高。一般用作CPU与内存的缓存。动态DRAM特点:容量较大,速度比SRAM慢,价格相对较低。一般用作系统内存。磁盘存储,存盘属于外部I/O设备,其特点是存储容量大,但读取速度更慢,价格也更加便宜。一般而言,从磁盘上读信息的时间为毫秒级,从DR
zzzzMing
·
2016-09-14 22:00
以C语言为例的程序性能优化 --《
深入理解计算机系统
》第五章读书笔记
其实大多数的编译器本身就能提供一些简单的优化,比如gcc就能通过使用-O2或者-O3的选项来优化程序。但编译器的优化始终也是有限,因为它必须小心翼翼保证优化过程不对程序的功能有改动。故而程序员本身应该对程序有优化意识。在我看来,这也是应该有的一种良好的编程习惯。几种比较简单的优化措施:1.代码移动将要执行多次(比如在循环中)但计算结果不会改变的计算,移动到代码前面不会多次求值的部分。举一个比较极端
zzzzMing
·
2016-09-09 22:00
系统中信息的表示和处理 --《
深入理解计算机系统
》第二章读书笔记
1.信息存储系统将8位的块作为最小的可寻址存储器单位,机器级程序系统看成一个大的数组,然后通过地址来获得存储器中的这些块的内容。数据在计算机中的存储都是用二进制,不过二进制不易表示,一般我们用十六进制来表示。如八位的十六进制范围为00~FF。计算机的字长代表其整数数据的大小,同时也是系统絮凝地址空间最大大小。C语言中对布尔代数的操作有提供几种方式,比如&(与),|(或),~(取反),^(异或)。2
zzzzMing
·
2016-09-07 12:00
读书笔记-
深入理解计算机系统
(第一章)
此系列为读的笔记,如有理解错误,望请指正.第一章计算机系统漫游计算机系统是由硬件和系统软件组成的,它们共同工作来运行应用程序.1.1信息就是位+上下文源程序实际上就是由一个值0和1组成的位(bit)序列,8个位被组织成一组,称为字节.每个字节表示程序中某个文本字符.大部分现代系统都是有ASCII标准表示文本字符,只由ASCII字符构成的文件称为文本文件,所有其他文件都称为二进制文件.系统中所有的信
小坤同学
·
2016-08-23 23:55
读书笔记之深入理解计算机系统
《
深入理解计算机系统
-CSAPP》练习题笔记(一)
前言实验室学长毕业临走前,推荐了《
深入理解计算机系统
》CSAPP,大部头。第1章《计算机系统漫游》,去年寒假前翻了一遍。后面由于实验室的事就一直放在那里。
鸟恋旧林XD
·
2016-07-28 17:50
深入理解计算机系统
需要学习的书籍清单
操作系统类:《
深入理解计算机系统
》《现代操作系统》《计算机程序的构造与解释》《Linux内核设计与实现》《Unix&Linux大学教程》《鸟哥的Linux私房菜》《LinuxShell脚本攻略》 网络编程类
denliv_hui
·
2016-07-10 15:36
APUE [Linux C 编程开发环境(工具链,编译,汇编,链接,库)基础知识与实践]
前言本博文包括对下面书籍的学习笔记,以及实际上机编程练习,程序运行分析等的总结,作为日后工作的参考:《UNIX环境高级编程(第三版)》《深度探索Linux操作系统:系统构建和原理解析》《
深入理解计算机系统
Lina_ACM
·
2016-07-05 10:00
虚拟存储器对存储器管理的作用
阅读更多注:本文中的大部分内容均是摘录自《
深入理解计算机系统
》一书,权当记录之用。虚拟存储器作为现代操作系统中的一个重要概念,其重要性自然不言而喻。
aisxyz
·
2016-06-10 16:00
OS
unix
虚拟存储器对存储器管理的作用
阅读更多注:本文中的大部分内容均是摘录自《
深入理解计算机系统
》一书,权当记录之用。虚拟存储器作为现代操作系统中的一个重要概念,其重要性自然不言而喻。
aisxyz
·
2016-06-10 16:00
OS
unix
深入理解计算机系统
读书笔记1
汇编语言:一种用于电子计算机、微处理器、微控制器,或其他可编程器件的低级语言。在不同的设备中,汇编语言对应着不同的机器语言指令集。一种汇编语言专用于某种计算机系统结构,而不像许多高级语言,可以在不同系统平台之间移植。使用汇编语言编写的源代码,然后通过相应的汇编程序将它们转换成可执行的机器代码。这一过程被称为汇编过程。由于汇编更接近机器语言,能够直接对硬件进行操作,生成的程序与其他的语言相比具有更高
49837863003A
·
2016-06-07 16:49
温故而知新(一)
由于时间久远,所以无法一一列举各知识点的出处,主要摘录自互联网及一些杂志期刊和专业书籍,如C专家编程,程序员面试宝典,
深入理解计算机系统
,敏捷开发修炼之道,C和指针等等。在此对原著作者表示感谢。
bi_jian
·
2016-06-06 21:00
信号处理问题
阅读更多注:本文摘自《
深入理解计算机系统
》第8章---异常控制流。本文不适于不了解信号的人,在此也不对信号做过多解释,只是个人需要记录相关的信号处理问题而已,想了解更详细的请自行查阅相关资料。
aisxyz
·
2016-06-03 08:00
unix
c
linux
信号处理问题
注:本文摘自《
深入理解计算机系统
》第8章---异常控制流。本文不适于不了解信号的人,在此也不对信号做过多解释,只是个人需要记录相关的信号处理问题而已,想了解更详细的请自行查阅相关资料。
aisxyz
·
2016-06-03 08:00
c
linux
unix
信号处理问题
阅读更多注:本文摘自《
深入理解计算机系统
》第8章---异常控制流。本文不适于不了解信号的人,在此也不对信号做过多解释,只是个人需要记录相关的信号处理问题而已,想了解更详细的请自行查阅相关资料。
aisxyz
·
2016-06-03 08:00
unix
c
linux
计算机界“圣书”---
深入理解计算机系统
引子:在我刚刚进入中科院计算所读研的时候,同宿舍的师兄便向我推荐了一本《
深入理解计算机系统
》,这本书从一个程序员的视角详细剖析了整个计算机系统,涵盖了组成原理、汇编语言、体系结构、操作系统、网络等计算机基础知识
zjswxx123
·
2016-05-29 14:00
深入理解计算机系统
(三)之程序的机器级表示
在一些应用中,程序员必须用汇编代码来访问机器的低级特性。一种方法是:整个函数都用汇编代码来写,然后在链接阶段与C语言函数结合起来。第二种方法是,在C语言程序中直接利用GCC对嵌入汇编代码支持。Intel处理器系列俗称X86。IA32指令集:unix>gcc-O1-opp1.cp2.c编译选项-O1告诉编译器使用第一级优化。(第二级优化较好)首先,C预处理器插入所有用#include命令指定的文件,
zjswxx123
·
2016-05-28 22:00
深入理解计算机系统
(二)---程序结构和执行
信息的表示和处理:1.C语言中一个指针的指都是某个存储块的第一个字节的虚拟地址。2.字长决定虚拟地址空间的最大大小。3.最低有效字节在前面的方式------------小端法(如Intel)。最高有效字节在前面的方式------------------大端法(如IBM、SunMicro)。4.为了避免在网络传输数据时,不同机器字节顺序不同,网络应用程序的代码编写必须遵守已建立的关于字节顺序的规则。
zjswxx123
·
2016-05-26 00:00
深入理解计算机系统
(一)A tour of computer systems
1.1 InformationIsBits+Context每个源程序是有一连串二进制值组成,在不同的Context中,这个二进制序列多代表的意义不同。C语言好处:1. C与Unix操作系统更紧密2. C是更小更简单的语言3. C有实用目的但是C缺乏有用的支持(类,对象,异常) 1.2 ProgramsAreTranslatedbyOtherProgramsintoDif
zjswxx123
·
2016-05-23 19:00
程序优化之存储器别名使用
说明:本文示例摘自《
深入理解计算机系统
》第五章----优化程序性能。在程序优化时,对于这样一种现象不得不注意,即存储器别名使用。那么什么是存储器别名使用呢?
aisxyz
·
2016-05-20 08:00
c
OS
程序优化之存储器别名使用
阅读更多说明:本文示例摘自《
深入理解计算机系统
》第五章----优化程序性能。在程序优化时,对于这样一种现象不得不注意,即存储器别名使用。那么什么是存储器别名使用呢?
aisxyz
·
2016-05-20 08:00
c
OS
程序优化之存储器别名使用
阅读更多说明:本文示例摘自《
深入理解计算机系统
》第五章----优化程序性能。在程序优化时,对于这样一种现象不得不注意,即存储器别名使用。那么什么是存储器别名使用呢?
aisxyz
·
2016-05-20 08:00
c
OS
PHP程序员进阶之路好书籍推荐
·《UNIX网络编程卷1(第3版)》·《UNIX网络编程卷2(第2版)》·《UNIX环境高级编程(第3版)》·《UNIX编程艺术》·《MySQL技术内幕(第5版)》·《
深入理解计算机系统
》·《用TCP/
coco510
·
2016-05-19 14:54
第7周
深入理解计算机系统
(第二版) 知识总结 第一、二章
第一章第二章10、可通过执行manascii来得到一张ASCII字符码的表;11、Unicode(统一字符编码标准)字符集;其中ASCII适合编码英语文档,Unicode支持所有语言。C库可提供Unicode版本标准字符串函数,如strlen、strcpy。12、二元布尔环与整数模2环是相同的,然而推广到长度为w的位向量,会得到与模数运算非常不同的环。
Emperor_21AD_ShiDi
·
2016-05-12 17:00
第7周
深入理解计算机系统
(第二版) 例题2.3
问题及代码:/*打印程序对象的字节表示*/ #include typedefunsignedchar*byte_pointer; /*使用强制类型转换来规避类型系统*/ voidshow_bytes(byte_pointerstart,intlen)//start是一个数组名 { inti; for(i=0;i
Emperor_21AD_ShiDi
·
2016-05-12 17:00
深入理解计算机系统
bomb_lab
前言:一个不会汇编的菜鸟强行做一个bomb_lab作业。拖了两周才做好的bomb_lab,期间因为心情郁闷拖了一周?现在来写一下“拆后感”。(这个博客早就想写,因为期中考试和懒又拖了两周,有点可惜一些细节记得不是特别清楚了)话不多说上代码(之前一大段编译准备栈什么的删了)开始前的一些指令:cd路径->进入文件存放的目录下./bomb_XXX运行那个炸弹程序objdump-dbomb_xxx>bom
hapoyige
·
2016-05-07 10:00
汇编语言
深入理解计算机系统
深入理解计算机系统
学习(2)
信息存储大多数计算机使用8位的块,或字节,作为最小的可寻址存储器的单位,而不是在存储器中访问单独的额外,机器级程序将存储器视为一个非常大的字节数组,称为存储器。地址:存储器的每个字节都由唯一的数字来标识虚拟地址空间:所有可能地址的集合,只是一个战线给机器级程序的概念性映像机器级代码并不包含关于数据类型的信息,每个程序对象可以简单地视为一个自己快,那么程序本身就是一个字节序列。字:每台机器都以一个字
u013570474
·
2016-05-06 16:00
计算机
深入理解计算机系统
学习(1)
源文件:0,1组成每行以一个看不见的’\n’结尾,执行一个源文件分四个阶段:预处理,编译,汇编,连接.i文件:.c文件预处理后生成.ii文件:.cpp文件预处理后生成预处理阶段:预处理器(cpp)根据以#开头的命令修改源程序,(如把一些头文件的内容,直接插入到程序文本中)编译阶段。编译器(ccl)将.i文本翻译成.s文本,他包含了一个汇编程序,汇编语言程序中没仪表语句都以一种标准的额问题本格式确切
u013570474
·
2016-05-06 12:00
计算机
深入理解计算机系统
3.1节
总结计算机执行机器代码。GCC编译器首先会利用汇编器将C语言编译为汇编语言,而汇编语言是机器代码的文本表示,之后GCC调用汇编器和链接器将汇编代码转换为机器代码。相对于人为编写的汇编程序而言,由机器转换高级语言得到的汇编程序通常不太好理解,因为优化编译器能够重新排列执行顺序,消除不必要的计算,用快速操作替换慢速操作,甚至将递归计算转换为迭代计算。机器语言的主流是INTELIA32以及x86-64I
GH_HOME
·
2016-04-19 22:00
计算机
编译器
汇编语言
优化程序性能
阅读经典——《
深入理解计算机系统
》07本文将介绍非常实用的程序性能优化手段,并用一个案例来详细说明。为什么要优化程序性能?衡量性能的指标未优化版本提取重复操作减少函数调用避免内存读写还能进一步优化吗?
金戈大王
·
2016-03-31 22:24
Linux多线程编程详解 [By: HarryAlex]
本文内容主要参考于《Linux程序设计·第3版》、《Linux环境C程序设计》、《C语言核心技术》、《
深入理解计算机系统
·第2版》,代码运行环境:Linuxversion3.10.0-123.el7.x86
shr986796621
·
2016-03-31 10:00
多线程
编程
线程
linux
C语言
可以学习的计算机相关书籍(2)
计算机体系结构:这一类别下最具代表性的书籍是《
深入理解计算机系统
》,作者是RandalE.Bryant和DavidO’Hallaron。
u010725842
·
2016-03-28 23:00
从零开始制作自己的指令集架构
阅读经典——《
深入理解计算机系统
》06本文,我们要做一件大胆的事情,从零开始实现一个全新的指令集架构,以此深入理解处理器的工作原理。
金戈大王
·
2016-03-26 00:31
堆这种数据结构 Java实现
关于我所遇见的各种堆的含义,可以在下面这两篇博文中看到:Java虚拟机堆和栈
深入理解计算机系统
1.7操作系统管理硬件本文讲的是堆数据结构的实现,并给出Java代码。
云聪
·
2016-03-18 23:37
数据结构
基本数据结构
堆这种数据结构 Java实现
关于我所遇见的各种堆的含义,可以在下面这两篇博文中看到:Java虚拟机堆和栈
深入理解计算机系统
1.7操作系统管理硬件本文讲的是堆数据结构的实现,并给出Java代码。
l294265421
·
2016-03-18 23:00
java
数据结构
堆
深入理解计算机系统
学习之信息的表示和处理
1,c语言的位级运算分为:或,与,非,异或,取反常见用法为掩码运算。x&0xFF生成一个由x的低位有效字节的值,其他的字节被设置为0.x|0xFF生成一个最低位为1,其他不变。2,c语言的移位运算在于逻辑右移和算术右移的区别逻辑右移:左端补0算术右移:左端补k个最高有效位的值对于无符号数,右移必须是逻辑的,对于有符号数,两种都可以,一般都是算术右移。3,无符号数编码和有符号数的补码无符号数编码:整
shitangdejiaozi
·
2016-03-16 16:00
计算机
C语言
上一页
20
21
22
23
24
25
26
27
下一页
按字母分类:
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
其他