《计算机系统:系统架构与操作系统的高度集成》——1.3 操作系统的作用

简介:

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

1.3 操作系统的作用

操作系统在网络视频游戏开发和实际使用中的角色是什么?操作系统是资源管理器,负责协调从游戏设计到实际运行游戏的过程中全部行为的硬件资源使用。
我们用联网视频游戏作为例子来理解程序的开发和部署生命周期。我们已经使用高级语言编写了客户端–服务器程序。我们可以用简单的文本编辑器,也可以使用复杂的程序开发工具如Visual Studio来开发视频游戏。一旦游戏开发完毕,我们就将程序编译成处理器的指令集。文本编辑器、编译器以及在程序开发中需要用到的其他程序工具都需要在处理器上运行。例如,编译器必须在处理器上运行,将高级语言程序作为输入,输出机器语言代码。操作系统要为每个程序的开发过程分配处理器资源。现在让我们来看看在玩游戏的时候会发生什么事情。
在视频游戏中,单击鼠标按键使得击球手三振出局,并显示在你的屏幕和其他每个玩家的屏幕上(见图1-6)。这其中发生了什么事情?首先,你的计算机里的硬件设备控制器记录了你的鼠标单击行为。控制器随后产生了一个处理器中断。请记住处理器正在执行你的游戏客户端程序。中断是一种硬件机制,通知处理器在正执行的程序之外发生了需要关注的事情。这种机制有点类似于房间的门铃。必须有人去看谁在按门铃,他要做什么。操作系统(也是一组程序)将自己调度到处理器上运行,以回应按铃。操作系统回应按铃,发现其来自鼠标,其目标是游戏客户端程序,并将这个中断传递给客户端程序。客户端程序将这个中断打包成一个消息,通过网络发送给服务器端程序。服务器端程序处理这个消息,使用新的消息更新游戏状态。客户端程序通过其各自的操作系统,更新各自的屏幕以反映新的世界的状态。我们可以看到,在从鼠标单击到显示屏幕更新的这段时间里,系统分配和释放了多种硬件资源(处理器、程序和数据所需的内存、鼠标、显示器、网络连接等)。操作系统负责协调所有这些动作。
image

图1-5  从电子和洞穴到多用户视频游戏。视频游戏应用通过硬件抽象的各个层次驱动电子和洞穴完成它所希望的操作
image

图1-6  分布式视频游戏中的应用–硬件–操作系统交互。交互发生在客户端和服务器端的应用程序、操作系统以及于其上执行的硬件之间

相关文章
|
4月前
|
Linux 编译器 开发者
Linux设备树解析:桥接硬件与操作系统的关键架构
在探索Linux的庞大和复杂世界时🌌,我们经常会遇到许多关键概念和工具🛠️,它们使得Linux成为了一个强大和灵活的操作系统💪。其中,"设备树"(Device Tree)是一个不可或缺的部分🌲,尤其是在嵌入式系统🖥️和多平台硬件支持方面🔌。让我们深入了解Linux设备树是什么,它的起源,以及为什么Linux需要它🌳。
Linux设备树解析:桥接硬件与操作系统的关键架构
|
11天前
|
资源调度 分布式计算 Hadoop
YARN(Hadoop操作系统)的架构
本文详细解释了YARN(Hadoop操作系统)的架构,包括其主要组件如ResourceManager、NodeManager和ApplicationMaster的作用以及它们如何协同工作来管理Hadoop集群中的资源和调度作业。
31 3
YARN(Hadoop操作系统)的架构
|
1月前
|
编解码 安全 Linux
基于arm64架构国产操作系统|Linux下的RTMP|RTSP低延时直播播放器开发探究
这段内容讲述了国产操作系统背景下,大牛直播SDK针对国产操作系统与Linux平台发布的RTMP/RTSP直播播放SDK。此SDK支持arm64架构,基于X协议输出视频,采用PulseAudio和Alsa Lib处理音频,具备实时静音、快照、缓冲时间设定等功能,并支持H.265编码格式。此外,提供了示例代码展示如何实现多实例播放器的创建与管理,包括窗口布局调整、事件监听、视频分辨率变化和实时快照回调等关键功能。这一技术实现有助于提高直播服务的稳定性和响应速度,适应国产操作系统在各行业中的应用需求。
|
16天前
|
机器学习/深度学习 Linux PyTorch
跨平台 DataLoader 实现:支持多种操作系统和硬件架构
【8月更文第29天】在深度学习项目中,数据加载和预处理是非常重要的步骤之一。一个良好的数据加载器(DataLoader)能够显著提升模型训练的速度和效率。随着深度学习应用的不断扩展,对于能够在不同操作系统和硬件架构上无缝运行的数据加载器的需求也日益增长。本文将探讨如何设计和实现一个跨平台的 DataLoader,确保其兼容性和可移植性。
27 0
|
2月前
|
Cloud Native Devops 数据库
云原生架构:未来软件开发的引擎深入理解操作系统的虚拟内存管理
【7月更文挑战第30天】在这篇文章中,我们将深入探讨云原生架构的概念,以及它如何改变软件开发的世界。我们将从云原生的基本概念开始,然后深入到它的关键技术和实践,最后讨论它对软件开发的未来影响。无论你是软件开发者,还是IT专业人士,这篇文章都将为你提供深入理解和掌握云原生架构的重要信息。 【7月更文挑战第30天】在数字世界的构建中,虚拟内存是操作系统不可或缺的一环。本文将探索虚拟内存的核心概念、工作机制及其对现代计算环境的重要性,同时揭示其背后的技术细节和面临的挑战。
25 3
|
2月前
|
存储 边缘计算 安全
操作系统的未来:容器化与微服务架构的融合
【7月更文挑战第21天】在数字化浪潮不断推进的今天,操作系统的角色和功能正在发生深刻变化。本文将探讨操作系统如何适应现代应用的需求,特别是容器技术和微服务架构对操作系统发展的影响。我们将分析容器化的优势、微服务架构的特点以及它们如何共同推动操作系统的创新,从而为读者揭示一个更加灵活、高效和安全的未来计算环境。
37 2
|
2月前
|
Prometheus Cloud Native iOS开发
Prometheus 二进制文件与操作系统或架构不兼容
`可执行文件格式错误` 指二进制与系统架构不兼容。用 `uname -m` 查看架构,从 Prometheus 官网下载匹配版本。用 `file` 命令验证文件类型,确保是正确架构。确认文件有执行权限 (`chmod +x`),若怀疑文件损坏则重新下载。
31 5
|
2月前
|
边缘计算 搜索推荐 算法
探索操作系统的未来:从单体到分布式架构
随着技术的进步和计算需求的增长,操作系统(OS)正经历着从传统的单体结构向更为复杂、灵活的分布式架构转变。本文将深入分析这一转变背后的原因,探讨分布式操作系统的设计原理与优势,以及它对未来计算模型的潜在影响。通过对比单体与分布式操作系统的性能指标和案例研究,我们旨在为读者提供一个全面的视角,以理解这一变革对软件开发、系统管理和用户体验所带来的深远影响。
62 1
|
3月前
|
分布式计算 负载均衡 算法
操作系统的未来:量子计算与分布式架构的融合
本文深入探讨了操作系统领域即将到来的变革,特别是量子计算和分布式架构如何重塑我们对操作系统的认知和使用。文章首先概述了当前操作系统的局限性,并引入量子计算的概念及其对操作系统设计的潜在影响。随后,详细讨论了分布式架构在提升系统性能、可靠性和安全性方面的优势。通过分析现有研究和未来趋势,本文揭示了量子计算与分布式架构结合的可能性及其对操作系统未来发展的意义,为读者提供了一个全新的视角来审视这一领域的进步。
|
2月前
|
边缘计算 分布式计算 算法
探索操作系统的未来:从多核到分布式架构
在数字时代的浪潮中,操作系统作为计算机系统的核心,承载着日益复杂的任务与挑战。随着硬件技术的飞速发展,特别是多核处理器与分布式计算的兴起,操作系统的设计和优化变得尤为重要。本文将深入探讨现代操作系统面临的新需求、设计理念的转变以及未来可能的发展方向,着重分析多核处理和分布式架构对操作系统设计的影响,并提出相应的优化策略。通过对现有操作系统的评估与未来趋势的预测,旨在为读者提供一个关于操作系统发展脉络的全面视角。
31 0