2018-2019-1 20189206 《深刻理解计算机系统》第一周学习总结
教材学习内容总结
第一章 计算机系统漫游
读后感
第一章给个人感受就是将一个大概而具体的过程展示给咱们,同时,每一个步骤的更加具体的细节部分也是以后每一章的内容。一方面讲解了计算机系统的构成、文件在计算机中的存储等问题。经过这一章的概述在看书的时候可以把这些内容结合本科阶段学习的《微机原理与接口技术》大体联系起来,脑子中也有了相关的联系。同时也积累了之前没有注意过的细节。现将知识点总结以下,方便之后查看复习。linux
信息的存储
- 文本文件 是指只由ASCII码构成的文件称为文本文件,其余文件都称为二进制文件
- 系统中的信息 系统中的全部信息都是由一串比特表示的。区分它们的方式是这些数据对象的上下文。
程序的编译过程
为了在系统中运行.c程序,每条C语句都必需要转化为低级的机器语言指令,而后这些指令按照 可执行目标程序 的格式打包好,以二进制磁盘文件的形式存放起来。缓存
- inux系统中咱们刚刚学过 GCC 指令用于生成驱动文件。
- 编译系统 翻译过程能够分为四个阶段,执行四个阶段的程序称为 编译系统
- 预处理器 预处理阶段,主要工做将头文件直接插入文本中 hello.i
- 编译器 将插入头文件的.i文件翻译成文本文件.s 包含一个汇编语言程序
- 汇编器 将.s翻译成机器语言指令,将结果保存在hello.o二进制文件中
- 连接器 将程序中调用了C语言函数库的函数连接到一个单独预编译好了的目标文件中,获得了可执行的目标文件。
系统的硬件组成
- 总线
- 总线是贯穿整个系统的一组电子管道,它携带信息字节并负责在各个部件间传递。一般总线被设计成传送定长的字节块,也就是字。字的字节数是一个基本的系统参数,如今通常是32位(4个字节)或64位(8个字节)。
- I/O设备
- 是系统与外部世界的联系通道。(例如:键盘、鼠标、显示器、磁盘驱动器)每一个I/O设备都经过控制器或适配器与I/O总线相连。
- 控制器是I/O设备自己或主板上的芯片组
- 控制器是在主板插槽上的卡
- 主存
- 主存是一个临时的存储设备,在执行程序时用来存放程序和程序处理的数据。
- 处理器
- 又称为CPU,处理器的核心是大小为一个字的存储设备程序计数器,一直指向要执行的机器语言。(注:执行完一条指令后跳转到的下一条指令不必定与内存中刚刚执行的指令相邻)
- 寄存器文件 由一些单个字长的寄存器组成
- ALU算数逻辑单元
高速缓存的做用
较大的存储设备要比较小的存储设备运行的慢
为了提升程序运行的时间,采用更小更快的存储设备,能有有效提升速率,高速缓存就是存放近期可能会须要处理的数据,做为暂时的集结区域。数据结构
操做系统管理硬件
- 操做系统 能够理解为应用程序和硬件之间插入的一层软件,全部应用程序对硬件的操做都必须经过操做系统。
- 进程 是操做系统对一个正在运行的程序的一种抽象,一个系统能够同时运行多个进程,每一个进程都好像在独占硬件。(并发运行 是指一个进程的指令和另外一个进程的指令交错执行)操做系统实现这种交错执行的机制称为上下文切换
- 上下文 包含了操做系统保持跟踪进程运行所需的全部状态信息。
- 从一个进程到另外一个进程的转换是由操做系统内核管理的,内核是操做系统代码常驻主存部分,它是系统管理所有进程所用代码和数据结构的集合
— 线程 一个进程能够由多个称为线程的执行单元组成,每一个线程都运行在进程的上下文中。多线程比多进程更容易共享数据,同时线程比进程更高效。
- 虚拟内存 抽象概念,提供了每一个进程独占地使用主存的假象。每一个进程看到的内存都是一致的,称为虚拟地址空间。
- 基本思想 把一个进程虚拟内存的内容存储在磁盘上,而后用主存做为磁盘的高速缓存。
- 文件 就是字节序列
重要概念
- amdahl定律 想要显著加速整个系统,必须提高全系统中至关大的部分的速度。
- 并发和并行
- 并发 指一个同时具备多个活动的系统
- 并行 利用并发使一个系统运行的更快
- 线程级并发
- 指令级并行
- 现代处理器能够同时执行多条指令的属性称为指令级并行
- 单指令、多数据并行
- 抽象
- 文件是对I/O设备的抽象
- 虚拟内存是对程序存储器的抽象(主存和磁盘)
- 进程是对正在运行的程序的抽象(处理器、主存和磁盘)
- 虚拟机是对整个计算机的抽象
教材学习中的问题和解决过程
问题:内核和CPU是什么关系?
在看第一章的时候我同时看了《linux内核设计与实现》这本书,第一章讲到内核是操做系统的内在核心,一个应用程序执行系统调用时,称为应用程序运行在内核空间,内核称为运行于进程上下文,第一章中讲到上下文是操做系统实现进程交错的机制,我就思考两者之间的联系。在网上看了博客和百度后知道,内核是操做系统的核心属于软件部分,而CPU是实体属于硬件。多线程
咱们给操做系统发出指令,操做系统经过内核解析指令而后指示CPU怎样运做,而后回收CPU运算后的结果再编译成咱们人看的懂的图形
问题:并发和并行并发
并发与并行函数