《计算机系统:系统架构与操作系统的高度集成》——1.4 盒子里正在发生什么事

1.4 盒子里正在发生什么事

可以把视频游戏的例子作为问题来驱动我们进一步理解应用程序、操作系统和硬件之间的交互。对我们来说要更好地理解盒子里正在发生什么事,需要很好地掌握系统软件和硬件体系结构的行为。
首先,理解计算机系统有多种实现形式是有益的。计算机系统的实现形式包括手持设备(如手机或个人数字助理(PDA))、平板电脑、笔记本电脑、桌面电脑、并行计算机、集群计算机以及超级计算机等,如图1-7所示。
尽管这些计算机系统的外观和大小不同,但其内部的硬件组织结构在很大程度上是相同的。其中包括一颗或多颗中央处理单元(CPU)、内存以及输入/输出设备。将这些部件连接起来的管道叫做总线(bus),设备控制器则在CPU和相关外设之间起中介作用。这些计算机的计算能力、内存容量以及输入/输出(I/O)设备的种类和数量可能有很大不同。例如,PDA拥有与其用途匹配的有限I/O能力,包括触摸屏、麦克风以及扬声器。用来运行大规模科学计算应用(如气候变化建模)的高端超级计算机则可能包括成千上万个CPU、多达数个TB的内存和具有PB级存储容量的磁盘阵列。图1-8展示了典型的桌面计算机系统的硬件组织。

图1-7  从PDA到超级计算机。各种计算机系统的实例,从手持设备到占据了整层建筑空间的超级计算机,例如像Yahoo和Google这样的搜索引擎公司或是在国家实验室里进行气候变化模拟的服务器集群

图1-8  桌面计算机的硬件组织。尽管有多种多样的计算平台,但计算机系统的基本组成是非常相似的。注意这种组织形式使得可以在硬件组件上同时支持多个操作
计算机的硬件组织形式揭示了在硬件单元上同时进行操作的可能性(即并发性)。例如,在打印机打印文档的时候,硬盘可以读取MP3文件以播放你喜欢的音乐,而此时你正在用Web浏览器阅读CNN的新闻故事。CPU是整个系统的大脑。计算机系统里发生的每件事都是在CPU上运行某些程序的结果。你可能会观察到,在你从计算机屏幕上看CNN的同时,文档编辑程序正通过打印机打印你的文档。Web浏览器是一个应用程序,文档编辑器也是应用程序。操作系统为每个应用程序分配CPU时间,以触发其动作。因此,图1-8所示的计算机组织方式所支持的并发性在实际中得到了实现。
1.4.1 在计算机上启动应用程序
让我们来理解图1-8中的各个部件如何整合起来,与操作系统一起为你提供简单的计算体验—比如在显示设备上看视频。下面的描述为了讲解方便特意进行了简化。图中标有“内存”的方框存储着要在CPU上执行的所有程序。在没有任何用户程序的情况下,操作系统(其自身也是一个程序)总是在CPU上执行,并随时准备执行用户想要计算机系统执行的任务。首先,使用鼠标在显示设备上点击标有“电影播放器”的图标。鼠标的移动和鼠标点击都被操作系统接收,操作系统通过被点击的图标得知用户要执行的是哪个程序。所有的程序都在某个存储设备上保存着,最常见的情况是保存在计算机的硬盘上。操作系统将电影播放器的可执行镜像“加载”到内存中并将CPU的控制权转移以启动这个程序的执行。
电影播放程序的执行结果是,显示器上打开了一个图形窗口,并请你指定要看的电影文件。你可能会使用键盘来打出文件的名称,包括文件所在的盘符(例如DVD驱动器)。该程序在DVD驱动器上打开文件并播放,现在你可以在显示设备上观看喜爱的电影了。操作系统参与了给你提供观影体验的每一个步骤,包括:(a)刷新图形显示,(b)捕获用户的键盘输入并转交给电影播放器程序,(c)将数据从诸如DVD驱动器之类的存储设备移动到内存中。将数据在I/O设备和内存之间移动的实际机制取决于设备的特性。我们将在第10章介绍I/O子系统的时候在这方面展开更详细的讨论。
图1-8中的I/O总线和系统总线的作用是作为多种硬件单元之间数据移动的通道。正如高速公路和地面道路有不同限速一样,这些不同的总线在传输数据的时候也会有不同的速度特性。图1-8中标有“桥”的方框就是用于平滑计算机系统组成中不同通道的速度差异。

时间: 2024-12-03 17:17:28

《计算机系统:系统架构与操作系统的高度集成》——1.4 盒子里正在发生什么事的相关文章

《Android 网络开发与应用实战详解》——2.3节Android系统架构

2.3 Android系统架构 Android 网络开发与应用实战详解 在本节内容中,将进一步分解Android应用程序,详细剖析Android应用程序的核心构成部分,为读者学习本书后面知识打下基础. 2.3.1 Android体系结构介绍 Android作为一个移动设备的平台,其软件层次结构包括操作系统(OS).中间件(MiddleWare)和应用程序(Application).根据Android的软件框图,其软件层次结构自下而上分为以下4层. (1)操作系统层(OS). (2)各种库(Lib

系统架构设计师考试大纲

一.考试说明:   1.考试目标   考试合格人员应能够根据系统需求规格说明书,结合应用领域和技术发展的实际情况,考虑有关约束条件,设计正确.合理的软件架构,确保系统架构具有良好的特性;能够对项目睥系统架构进行描述.分析.设计与评估;能够按照相关标准编写相应的设计文档;能够与系统分析师.项目管理师相互协作.配合工作;具有高级工程师的实际工作能力和业务水平.   2.考试要求   (1)掌握计算机硬软件与网络的基础知识;   (2)熟悉信息系统开发过程;   (3)理解信息系统开发标准.常用信息技

基于多核CPU的系统架构

自UTM产品诞生到现在,其技术已经从最初的以防火墙.入侵防御.防病毒的集成技术发展至以防火墙.入侵防御.防病毒.URL过滤.VPN.流量管理为主的集成技术.UTM市场规模在2010年达到约8.5亿人民币,有20家以上的厂商提供UTM产品,越来越多的用户开始选择UTM,或者从防火墙升级到UTM,来为自己的网络提供更深层次.更具管理性且更全面的防御能力. 同时,我们也要看到传统的UTM概念实际上是将多种技术集成在一个盒子里,没有考虑到太多产品集成调度的问题,由此导致数据包经过二次.三次甚至多次拆包.

英特尔创新产品microservers高度集成化服务器板

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   英特尔正在向他们的集团客户推荐一种创新产品,那就是"microservers",一个高度集成化的服务器板. 英特尔架构群组总经理Sean Maloney在周二下午的英特尔开发者论坛发布了一款 "微型服务器"(Microservers)的参考设计,有种似曾相识的感觉. 据Sean Maloney透露:"新超低电压英

DotNET企业架构应用实践-系统架构与性能-缓存技术与ORM中的缓存查询技术

系列回顾       在前面的文章DotNET企业架构应用实践-系统架构与性能-理论依据及相关做法一文中我介绍了系统性能优化的理论做了一个概括的介绍,也简单的介绍了性能优化的过程及相关的技术关注点或者说是做法.       本文将基于系统架构与程序设计两方面入手,介绍系统架构与性能优化方向一种技术实践:缓存技术与ORM缓存查询. 缓存介绍       前面的文章DotNET企业架构应用实践-系统架构与性能-理论依据及相关做法我在系统优化的理论依据中简单的提到了CPU中的调整缓存操作系统中内存管理

2013高性能计算大会举行 揭秘天河二号系统架构

摘要: 近日,2013高性能计算用户大会在北京举行.天河二号主任设计师.国防科学技术大学卢宇彤教授在大会报告中详细揭秘了天河二号的系统架构和创新应用,披露了我国超算的自主研发实 近日,2013高性能计算用户大会在北京举行.天河二号主任设计师.国防科学技术大学卢宇彤教授在大会报告中详细揭秘了天河二号的系统架构和创新应用,披露了我国超算的自主研发实力水平,提高了大家对中国超算自主科技水平的认识. 2013高性能计算用户大会火爆举行 据大会负责人介绍:2013高性能计算用户大会备受瞩目的因素主要是大会

系统架构-性能篇章2(系统拆分2-问题)

在文章<系统架构-性能篇章2(系统拆分1)>有提及到过关于系统在什么情况下会拆分,拆分的目之类的问题,本文会阐述一些关于拆分过程中遇到的各种各样的常见问题进行分析,和上一个文章中提及到的一样,讲解的目录如下: 1.负载均衡设备的问题. 2.不同系统之间的通信问题. 3.数据写入和查找的问题. 4.跨数据库事务问题. 5.跨数据库序列问题. 6.不同应用的本地缓存问题. 7.系统之间的直接依赖和间接依赖问题. 8.独立模块面临的单点问题. 9.各类批量分组.切换.扩展的问题. 10.统一监控和恢

深入解析大数据虚拟化的架构(下)- 系统架构

继<零起点部署大数据虚拟化>系列教程之后,本着"知其然,亦知其所以然"的原则,本系列走进大数据虚拟化的内部,分上下两篇博文,帮助读者了解vSphere Big Data Extensions(以下简称BDE)的部署架构和系统架构,理解部署原理和内部构成,以及各自的作用.希望对您有所帮助,也欢迎您留言评价. 上: Serengeti虚拟化应用 下: Serengeti管理服务器的系统架构(即本文) Serengeti管理服务器的系统架构 Serengeti管理服务器包括几个重

Android系统架构基本模式解析

如今,大家面对市场中种类繁多的手机必然挑的眼花缭乱.不过,在智能手机占据主要地位的今天,挑选手机的主要因素就是挑选一款性能高的手机操作系统,Android就是其中的一个必然选择.Android系统架构和其操作系统一样,采用了分层的架构.Android分为四个层,从高层到低层分别是应用程序层.应用程序框架层.系统运行库层和linux核心层. Android系统架构之应用程序 Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系