《计算机系统:系统架构与操作系统的高度集成》——1.2 计算机系统中的抽象层次

简介:

本节书摘来自华章计算机《计算机系统:系统架构与操作系统的高度集成》一书中的第1章,第1.2节,作者:(美)拉姆阿堪德兰(Ramachandran, U.)(美)莱希(Leahy, W. D.)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.2 计算机系统中的抽象层次

让我们来看一个你可能熟悉的应用,比如说谷歌地球(Google Earth,见图1-2)。你可以在图形用户界面(Graphical User Interface,GUI)的帮助下通过在地球地域上移动鼠标来在整个地球表面上浏览。你可以将鼠标移动到任何感兴趣的区域(比如说珠穆朗玛峰),然后单击鼠标。你马上就可以在屏幕上看到世界上最高山脉的3D模型、卫星图片以及该区域的一些照片等。在盒子里发生什么事情才能带给你这样的视觉体验呢?

image

再考虑一个更复杂一些的例子,一个叫做“棒球”的多人视频游戏(见图1-3)。游戏的目标非常简单,即比别的队获得更多的分数以赢得比赛。但是,实际比赛需要复杂的规则和处罚措施。

image

我们考虑开发这个应用的软件体系结构。想象有一个(逻辑上的)中心软件组件,我们称其为服务器,它负责维护游戏的状态。每个玩家也由一个软件组件代表,我们称其为客户端。由于这是一个多人视频游戏,客户端和服务器并不在同一台机器上执行,它们在由局域网连接起来的不同机器上执行。这类应用程序很自然地应该用高级语言(High Level Language,HLL)编程。
我们可能会给正在设计的游戏添加一些音频/视频的内容。正如你在图1-4中所见,要让视频游戏软件能运行,除了我们自己编写的代码(在图右侧的灰色方框中),还需要很多其他部分的协同。CPU显然不懂机器语言外的任何其他语言,因此编译器必须将高级语言程序翻译成处理器能理解的指令集,程序才能在处理器硬件上执行。
现在我们来自底向上地了解一下处理器(图1-4的左侧)。在抽象层次的最底层,是构成半导体基底的电子和洞穴。晶体管抽象层给电子和洞穴的狂野世界带来了秩序。逻辑门由晶体管构成。组合和顺序逻辑单元是由基本的逻辑门组成的,并进一步组织成数据通路(datapath)。有限状态自动机控制着数据通路以实现处理器指令集体系结构中指令的能力。因而指令集是软件和硬件的交汇点。处理器需要面向指令集生成可以在处理器上运行的代码;软件并不关心指令集在硬件上是如何实现的。类似地,硬件实现并不关心处理器上运行的程序是什么,而只是简单地在硬件上履行指令集体系结构所指定的软件和硬件之间的“合同”。
image

图1-4  硬件/软件接口。左半边展示了硬件的抽象层次,从底部的电子和洞穴到顶部的指令集。指令集是硬件和软件之间的“合同”。右半边展现了视频游戏这样的应用从概念到实现所需的软件组件
正如你看到的,连续的抽象层次(指令集、数据通路和控制、逻辑单元、门以及晶体管)允许我们使用高级语言程序控制半导体基层上的电子和洞穴的概率性行为。图1-5展示了联网的视频游戏是如何通过这些抽象层次来控制半导体基层上的电子和洞穴的。这就是抽象的威力。抽象是处理系统复杂性的一种核心方法,而不管是软件子系统还是硬件子系统。图1-4和图1-5都展示了通过一系列抽象层将高级语言程序转化为可以在处理器上执行代码的概念性步骤。
现在我们回到联网视频游戏的例子,了解一下操作系统在游戏开发生命周期以及玩家真正玩游戏时的作用。

相关文章
|
11月前
|
存储 缓存 Shell
【深入理解操作系统】第一章:计算机系统漫游 | A tour of Computer Systems | 阅读笔记
【深入理解操作系统】第一章:计算机系统漫游 | A tour of Computer Systems | 阅读笔记
99 0
|
12天前
|
监控 Android开发 iOS开发
深入探索安卓与iOS的系统架构差异:理解两大移动平台的技术根基在移动技术日新月异的今天,安卓和iOS作为市场上最为流行的两个操作系统,各自拥有独特的技术特性和庞大的用户基础。本文将深入探讨这两个平台的系统架构差异,揭示它们如何支撑起各自的生态系统,并影响着全球数亿用户的使用体验。
本文通过对比分析安卓和iOS的系统架构,揭示了这两个平台在设计理念、安全性、用户体验和技术生态上的根本区别。不同于常规的技术综述,本文以深入浅出的方式,带领读者理解这些差异是如何影响应用开发、用户选择和市场趋势的。通过梳理历史脉络和未来展望,本文旨在为开发者、用户以及行业分析师提供有价值的见解,帮助大家更好地把握移动技术发展的脉络。
|
3月前
|
传感器 监控 物联网
认识物联网层次架构设计
物联网可以分为三个层次,底层是用来感知数据的感知层,即利用传感器、二维码、RFID等设备随时随地获取物体的信息。第二层是数据传输处理的网络层,即通过各种传感网络与互联网的融合,将对象当前的信息实时准确地传递出去。第三层则是与行业需求结合的应用层,即通过智能计算、云计算等将对象进行智能化控制。
58 3
|
3月前
|
Linux 调度
部署02-我们一般接触的是Mos和Wimdows这两款操作系统,很少接触到Linux,操作系统的概述,硬件是由计算机系统中由电子和机械,光电元件所组成的,CPU,内存,硬盘,软件是用户与计算机接口之间
部署02-我们一般接触的是Mos和Wimdows这两款操作系统,很少接触到Linux,操作系统的概述,硬件是由计算机系统中由电子和机械,光电元件所组成的,CPU,内存,硬盘,软件是用户与计算机接口之间
|
5月前
|
算法 调度
【操作系统】处理机调度的基本概念和三个层次、进程调度的时机和方式、调度器、闲逛线程
【操作系统】处理机调度的基本概念和三个层次、进程调度的时机和方式、调度器、闲逛线程
403 3
|
5月前
|
存储 安全 数据处理
【计算机系统组成原理】操作系统处理器深入介绍
【计算机系统组成原理】操作系统处理器深入介绍
|
5月前
|
监控 Java 数据库
揭秘Java性能调优的层次 | 综合多方向提升应用程序性能与系统高可用的关键(架构层次规划)
揭秘Java性能调优的层次 | 综合多方向提升应用程序性能与系统高可用的关键(架构层次规划)
84 0
|
5月前
|
存储 缓存 安全
【linux基础(八)】计算机体系结构--冯诺依曼系统&操作系统的再理解
【linux基础(八)】计算机体系结构--冯诺依曼系统&操作系统的再理解
|
12月前
|
缓存 Unix 调度
[笔记]深入解析Windows操作系统《二》系统架构(一)
[笔记]深入解析Windows操作系统《二》系统架构
299 0
|
5月前
|
程序员 Linux 调度
《操作系统》——计算机系统概述
《操作系统》——计算机系统概述
207 2
下一篇
无影云桌面