码迷,mamicode.com
首页 > 其他好文 > 详细

计算机系统漫游

时间:2018-11-28 15:38:53      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:高速缓存   计算机   世界   输出   9.png   抽象   多核   内存   标准库   

1、信息是位 + 上下文,源程序实际上是0和1组成的位(bit)序列,8位一个字节,系统中所有的信息都是由一串位表示的。

 

2、系统使用ASCII标准表示稳步字符,即用一个唯一单字节大小的整数值表示每个字符。

 

3、***.c文件的反应分四个阶段:

     预处理阶段:根据以#开头的命令,修改原始C程序,生成***.i;

     编译阶段:翻译为汇编语言程序,生成***.s;

     汇编阶段:翻译为机器语言,生成***.o;

     链接阶段:把多个单独预编译好的目标文件合并,生成可执行目标文件。

 

4、典型系统硬件组织:

     总线:携带信息字节并负责在各个部件间传输。

     I/O:系统与外部世界的连接通道,每个I/O设备都通过一个控制器或适配器与I/O总线相连。

     主存:临时存储设备,用来存放程序和程序处理的数据,是由一组动态随机存取存储区(DRAM)芯片组成,他是一个线性的字节数组,每个字节都有唯一索引。

     CPU:解释或执行存储在主存中的指令的引擎,核心是一个字长的存储设备,寄存器,也叫程序计数器(PC),

技术分享图片

 

5、执行程序时,输入字符串,shell将执行输入字符读入寄存器,再放到存储器;

     键盘敲回车,shell加载可执行文件,将目标文件的代码和数据从磁盘复制到主存,利用直接存取技术(DMA),可以直接从磁盘复制到主存;

     处理器执行机器语言指令,输出字符串字节从主存复制到寄存器文件,再从寄存器复制到显示设备。

 

6、执行程序,很大一部分时间在进行信息拷贝,而磁盘比主存慢很多,主存又比寄存器慢很多,但是越快的设备越昂贵,所以设计了高速缓存存储器。

 

7、处理器和和大而慢的设备(主存)之间插入更快更小的存储设备(高速缓存),组成一个存储器层次结构:

技术分享图片

 

8、操作系统,应用程序和硬件之间的软件层,可以1)防止硬件被失控的应用程序滥用。2)提供简单一致的机制来控制硬件设备。

     操作系统是通过(进程,虚拟存储,文件)来实现以上功能的,文件是对I/O的抽象;虚拟存储是对主存和磁盘I/O设备的抽象,进程是对处理器、主存和I/O设备的抽象。

技术分享图片

 

9、虚拟地址空间由大量准确定义的区构成,从低向上依次为:

     代码数据区:加载的可执行文件;

     运行时堆:运行时动态分配的空间;

     共享库映射区:存放像C标准库和数学库之类共享库的区域;

     用户栈:实现函数调用,程序执行时动态扩展和收缩;

     内核虚拟存储器:操作系统一部分,驻留在内存,不允许应用程序读写或调用;

技术分享图片

 

10、文件就是自己序列,每个I/O设备都可视为文件,所有输入输出都是通过Unix I/O的系统函数调用读写文件实现的。

 

11、多核处理器和超线程支撑了线程级并发:

       多个处理器是将多个核集成在一个芯片上,微处理器芯片上的多个核每个都有自己的L1和L2告诉缓存,但是共享更高层次的高速缓存;

       超线程是允许一个核执行多个控制流的技术,它可以在单个时钟周期的基础上决定执行哪一个线程;

 

计算机系统漫游

标签:高速缓存   计算机   世界   输出   9.png   抽象   多核   内存   标准库   

原文地址:https://www.cnblogs.com/small-office/p/10024346.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!