您的位置:首页 > 理论基础

深入理解计算机系统--计算机系统漫游

2017-03-06 13:18 281 查看
第一章 计算机系统漫游

  计算机系统是由硬件和系统软件组成的。所有计算机系统都是由相似的硬件和软件组成,它们又执行着相似的功能。

   以hello程序为例。

   1.1信息就是位+上下文

   hello程序的生命是从源程序(源文件)开始的。源程序是程序员编写的,hello.c。源程序是 0和1 的比特位,8个一组。ASCII标准来表示文本字符。 这样的文件称为文本文件,所有其他的文件称为二进制文件。

   一个基本思想:系统中所有的信息-----包括磁盘文件、存储器中的程序、存储器中存放的用户数据以及网络上传送的数据,都是由一串比特表示的。区分的惟一方法是这些数据对象的上下文。

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

   hello程序生命周期一开始时高级C程序,能够被人读懂。

 编译系统(预处理器,编译器,汇编器,链接器)



预处理阶段:

  根据字符#开头的命令(directives),修改原始的C程序。

编译阶段:

  变成汇编语言程序。

  汇编语言,为不同高级语言的不同编译器提供了通用的输出语言。

汇编阶段:

  将汇编语言指令翻译成可重定位(relocatable)目标程序格式,并保存在helloc.c中。

链接阶段:

  链接printf函数。并入后。可执行文件加载到存储器后,由系统负责执行。

1.3 了解编译系统如何工作是大有益处的

 优化程序性能。

 理解链接时出现的错误。

 避免安全漏洞。

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

  1.4.1 系统的硬件组成

   


 总线:贯穿整个系统的是一组电子管道,称为总线。

 I/O设备:是系统与外界的联系通道。

 主存:临时的存储设备

 处理器:解释(或执行)存储在主存中指令的引擎。

  1.4.2 执行hello程序

 1.5 高速缓存

 1.6 形成层次结构的存储设备

 1.7 操作系统管理硬件

     操作系统两个基本功能:防止硬件被失控的应用程序滥用。



  1.7.1 进程

     并发运行

     上下文切换

     系统保存进程运行所需要的所有状态信息,称为上下文。

 


 1.7.2 线程

  每个线程都运行在进程的上下文中,并共享同样的代码和全局数据。

 1.7.3 虚拟存储器

   抽象概念。

   为每个进程提供一个假象,好像进程都在独占使用主存。每个进程看到的存储器都是一致的,称为虚拟地址空间。

 


   程序代码和数据 

   堆

   共享库

   栈

   内核虚拟存储器  内核是操作系统总是驻留在存储器中的部分。

  1.7.4 文件

    文件是字节序列。每个I/O设备,包括磁盘、键盘、显示器,甚至于网络,都可以看成是文件。

 1.8 利用网络系统和其他系统通信

 


  

  

 

  

  

  

  

 

 

 

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: