深入理解计算机系统 2

原创 2016年06月02日 09:12:34


程序抽象流程

在C语言中

1.        C预处理器(cpp)扩展源代码,插入所有用#include 命名指定的文件,并扩展所有用#define 声明指定的宏。

2.        编译器(ccl)产生两个源代码的汇编代码,名字命名分别为p1.s

3.        汇编器(as)将汇编代码转化为二进制目标代码为p1.o(目标代码是机器代码的一种形式,包含所有指令的二进制表示,但还没有填入地址的全局值)

4.        链接器(ld)将目标代码文件与实现库函数(例如printf)的代码合并,并产生最终的可执行代码文件p(可执行文件是机器代码的第二种形式,也就是处理器执行的代码格式)



文件:是对I/O的抽象

虚拟存储器:是对程序存储器的抽象

指令集结构:是对处理器的抽象

进程:是对一个正在运行的程序的抽象

虚拟机:是对整个计算机的抽象(操作系统、处理器、程序等)

 

虚拟机

 

进程

指令集结构

虚拟存储器

 

 

文件

操作系统

处理器

主存

I/O设备

版权声明:本文为博主原创文章,未经博主允许不得转载。

CSAPP深入理解计算机系统实验2-二进制炸弹(Windows版本)

CSAPP大名鼎鼎了,网上许多人都完成了其独具特色的实验,特别是二进制炸弹、缓冲区炸弹等。     二进制炸弹实验,主要锻炼学习者使用反汇编工具对二进制可执行程序调试、分析的能力。学习者首先需要使用调...
  • kbkpbot
  • kbkpbot
  • 2015年08月26日 10:29
  • 1249

深入理解计算机系统学习(2)

信息存储 大多数计算机使用8位的块,或字节,作为最小的可寻址存储器的单位,而不是在存储器中访问单独的额外,机器级程序将存储器视为一个非常大的字节数组,称为存储器。 地址:存储器的每个字节都由唯一的数字...

深入理解计算机系统-2(信息存储)

2.1. C语言中的移位运算这里有两种移位操作:算术移位和逻辑移位,其主要差别在于有符号数的负数上。 对于x=00110011而言 y=x>>3 * 逻辑移位 y=00000110 * 算术移位...
  • GH_HOME
  • GH_HOME
  • 2016年05月15日 16:21
  • 266

《深入理解计算机系统》读书笔记8--- 并发编程2

接下来的内容主要就是线程的安全性问题,分别为线程同步错误,死锁和竞争。 参考了文章:http://www.cnblogs.com/Jessy/p/3540724.html (1)同步错误 不同的线程...

深入理解计算机系统(2)

1.4.1 系统的硬件组成 根据我的理解,把原图修改了一下,在USB控制器和硬盘控制器到I/O总线加了两根线。 1. 总线 在英文中称为bus,我的理解是不同组件之间连接的桥梁(如接口之间)。对于数...

<csapp> bomb lab (《深入理解计算机系统》lab2)

bomblab下载页:http://download.csdn.net/download/u013648407/7279933  其中bomb是

《深入理解计算机系统 2nd》部分读书笔记---第9章 虚拟存储器(未完成)

进程--摘自《深入理解计算机系统 2nd》第8章 异常控制流 进程提供给应用程序的关键抽象: 一个独立的逻辑控制流,它提供一个假象,好像我们的程序独占地使用处理器。一个私有的地址空间,它提...
  • gzzheyi
  • gzzheyi
  • 2013年03月17日 15:48
  • 2287

csapp lab2 bomb 二进制炸弹《深入理解计算机系统》

bomb炸弹实验 首先对bomb这个文件进行反汇编,得到一个1000+的汇编程序,看的头大。 phase_1: 0000000000400ef0 : 400ef0: 48 83 ec 08...
  • fang92
  • fang92
  • 2015年06月05日 17:13
  • 2781

深入理解计算机系统homework2 2.85 2.93 2.95

2.85 最小的正非规格化数 值:2^(-63) * (2^(2-2^15)) = 2^(-16445) 十进制值: 最小的正规格化数 值:1*2^(2-2^15) = 2^...
  • KQZXCMH
  • KQZXCMH
  • 2013年09月20日 12:49
  • 3721

《深入理解计算机系统 2nd》读书笔记----第7章 链接

链接 链接(linking)是将各种代码和数据部分收集起来并组合成为一个单一文件的过程,这个文件可被加载(或被拷贝)到存储并执行。链接可以执行于编译时(compile time),也就是在源代码被翻...
  • gzzheyi
  • gzzheyi
  • 2013年03月15日 00:58
  • 2410
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深入理解计算机系统 2
举报原因:
原因补充:

(最多只允许输入30个字)