操作系统:原理、类型与运行机制
1. 无操作系统编程的挑战
在没有操作系统的设备上编程和使用设备,软件可直接访问硬件。以早期视频游戏机为例,如Atari 2600、任天堂娱乐系统(NES)或世嘉Genesis,这些游戏机运行卡带中的代码,没有操作系统。其使用方式简单,插入卡带并开机即可开始游戏,且一次只能运行一个程序(当前卡带中的游戏)。若开机时未插入卡带,CPU 没有可运行的指令,系统不会有任何反应。若要切换游戏,需关机、更换卡带再开机,系统运行时无法在程序间切换,也没有后台运行的程序。
对于程序员而言,为这类系统开发游戏意味着要直接用代码控制硬件。系统上电后,CPU 开始运行卡带上的代码,开发者不仅要编写游戏逻辑软件,还要初始化系统、控制视频硬件、读取控制器输入的硬件状态等。不同游戏机的硬件设计差异很大,开发者需深入了解目标硬件的细节。不过,在游戏机生产的几年中,其硬件设计基本保持不变,例如所有 NES 游戏机都采用相同类型的处理器、RAM、图像处理器(PPU)和音频处理器(APU),这使开发者能针对特定硬件优化代码以榨取系统性能。但将游戏移植到其他类型的游戏机时,往往需要重写大量代码,且每个游戏卡带都需包含完成基本任务(如硬件初始化)的相似代码,不同开发者会反复解决相同的挑战。
2. 操作系统概述
操作系统为编程提供了不同的模式,解决了直接针对特定硬件编写代码所面临的诸多挑战。它是与计算机硬件通信并为程序执行提供环境的软件,允许程序请求系统服务(如从存储设备读取数据或通过网络通信),处理计算机系统的初始化并管理程序的执行,包括多程序并行运行(多任务处理),确保多个程序能共享处理器时间和系统资源。操作系统还会设置边界,确保程序之间以及程序与操作系统相互
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



