《深入理解计算机系统》第一章读书笔记

计算机系统漫游 

1.1信息就是位+上下文

程序的生命从一个源程序开始的,该程序通过编辑器创建并保存为文本文件,文件名命为***.c,由0和1组成的位序列。

 

1.2程序被其他的程序翻译成不同的格式

在Unix系统上,从源文件到目标文件的转化是由编译器驱动程序完成的

unix > gcc -o hello hello.c

gcc编译器读取源文件***.c,并把它翻译成一个可执行的目标文件,执行四个阶段的程序(预处理器、编译器、汇编器和链接器)

1.3编译系统的优点:

 

1.优化程序性能 

2.理解链接时出现的错误

3.避免安全漏洞

 

1.4处理器读并解释存储在存储器的指令

1.4.1系统的硬件组成

总线:贯彻整个系统的电子管,它携带信息字节并负责各个部件间传递。通常总线被设计成传送定长的字节块,即字。

I/O设备: 即输入/输出设备,是系统与外界的联系通道。

主存: 是一个临时的存储设备,处理程序时,用来存放程序和程序处理的数据。物理上说由一组DRAM(动态随机存取存储器)组成的。

处理器:即cpu,是解释(或执行)存储在主存中指令的引擎,处理器的核心是一个被称为程序计数器pc的字长大小的存储设备。

 

1.4.2执行hello程序

1.从键盘上读取hello命令

 

 

2.从磁盘加载可执行文件到主存

 

 

 

 

3从存储器写输出串到显示器

 

 

 1.5高速缓存

程序的机器指令最初存放在磁盘上,当程序加载时,他们被拷贝到主存,当处理器运行程序时,指令又从主存拷贝到处理器。

 

1.6层次机构的存储设备

 

1.7操作系统管理硬件

 所有应用程序对硬件的操作必须通过操作系统

操作系统的两个基本功能:1、防止硬件被失控的应用程序滥用  2、位应用程序提供简单一致的方法。

1.7.1进程

进程是操作系统对运行程序的一种抽象,一个系统可以同时运行多个进程,而每个进程

 都好像独占硬件,称为并发运行。

进程的上下文切换

 

1.7.2线程

一个进程可以由多个线程组成,因为多线程比多进程之间更容易分享数据,也因为进程一般都比进程更高效。

 1.7.3文件

文件是字节序列。每一I/O设备都可以看成文件。

 

posted @ 2019-10-31 16:24  跳起来摘苹果  阅读(166)  评论(0编辑  收藏  举报