系统花费了大量的时间把信息从一个地方传到另一个地方。hello程序的机器指令最初是存放在磁盘上,当程序加载时,它们被复制到主存;当处理器运行程序时,指令又从主存复制到处理器。从程序员的角度来看,这些复制就是开销,减慢了程序“真正”的工作。因此,系统设计者的一个主要目标就是使这些复制操作尽可能快地完成。
根据机械原理, 较大的存储设备要比较小的存储设备运行得慢,而快速设备的造价远高于同类的低速设备。一个典型的寄存器文件只存储几百字节的信息,而主存里可存放几十亿字方。 然而处理器从寄存器文件中读数据比从主存中读取几乎要快100倍。
随着这些年半导体技术的进步,这种处理器与主存之间的差距还在持续增大,加快处理器的运行速度比加快主存的运行速度委容易和便宜得多。针对这种处理器与主存之间的差异,系统设计者采用了更小更快的存储设备:高速缓存存储器(简称为cache或高速缓存),作为暂时的集结区域,存放处理器近期可能会需要的信息。
在这个层次结构中,从上至下,设备的访问速度越来越慢、容量越来越大,并且每字节的造价也越来越便宜。寄存器文件在层次的构中位于最顶部,也就是第0级或记为L0。 这里我们展示的是三层高速级存L1到|占据存储器层次结构的第1层到第3层。主存在第4层,以此类推。
存储器层次结构的主要思想是上一层的存储器作为低-一层存储器的高速缓存。因此寄存器文件就是LI的高速缓存,LI是L2的高速缓存,L2是L3的高速缓存,L.3是主存的高速缓存,而主存又是磁盘的高速缓存。在某些具有分布式文件系统的网络系统中,本地磁盘就是存储在其他系统中磁盘上的数据的高速缓存。
我们可以把操作系统看成是应用程序和硬件之间插人的一层软件,所有应用程序对硬件的操作尝试都必须通过操作系统。
操作系统有两个基本功能:
操作系统通过几个基本的抽象概念(进程、虚拟内存和文件)来实现这两个功能。
文件是对I/O设备的抽象表示,虚拟内存是对主存和磁盘I/O设备的抽象表示,进程则是对处理器、主存和I/O设备的抽象表示。
随在Inenet这样的全球网络的出现,从一台主机复制信息到另外一台主机已经成为计算机系统最重要的用途之一。
假设用本地主机上的telne客户端连接远程主机上的ene服务器。在我们登录到远程主机并运行shell后,远端的shell就在等待接收输人命令
1.用户在telnet客户端键入"hello" 字符串并敲下回车键
2.客户端软件向telnet的服务器发送字符串
3.telnet服务器从网络上接收到这个字符串后,向远端shell程序发送字符串,远端shell运行hello程序,并将输出行返回给telnet服务器
4.telnet服务器通过网络把输出串转发给telnet 客户端
5.客户端将输出串输出到本地终端上
这种客户端和服务器之间交互的类型在所有的网络应用中是非常典型的
Amdahl定律:要想显著加速整个系统,必须提升全系统中相当大的部分的速度
在学校的时候每个月都理所应到的从爸妈那里得到一笔不算多也不算少的生活费。这...
JetBrains正在开发一种被称为Qodana的代码质量检测工具。它将JetBrains IDE具有...
发现问题 先看问题,小程序中,使用 Vant 的 Dialog 组件 + 小程序元素 input 组...
Java基本数据类型 摘要 每个数据类型都有它的取值范围。编译器会根据每个变量或...
IT之家3月6日消息 谷歌本周宣布了 Chrome 浏览器的里程碑更新将从六周一次缩短到...
点赞再看养成习惯微信搜索【 三太子敖丙 】关注这个好像有点东西的傻瓜 本文 Git...
前端ajax与后端Spring MVC控制器有以下五种数据交互方式。(前台使用了dhtmlxGri...
本文实例为大家分享了jquery实现穿梭框功能的具体代码,供大家参考,具体内容如...
php有一组进程控制函数(编译时需要–enable-pcntl与posix扩展),使得php能在ngin...
IT之家2月28日消息 微软 Edge 浏览器 Canary 预览版每日一更,为用户提供最新的...