- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
简述计算机系统及硬件资源管理
简述计算机系统的硬件资源管理
操作系统管理哪些硬件资源,分别又是怎么管理的呢?最主要的资源是计算资源和存储资源。计算资源即CPU(Central Processing Unit,中央处理单元)1,现在主流的计算机通常有一个或多个CPU,或者一个CPU 中有多个核(即多核CPU)。从操作系统的角度来看,有多个CPU 或一个多核CPU 意味着可以同时执行多个任务。所以,操作系统必须合理地安排和调度任务,使得多个CPU 或多核尽可能地利用起来,避免出现竞争或闲置的情形。在支持多任务并发的操作系统中,这一职责称为任务调度。在现代操作系统中,由于任务是由进程或线程来完成的,操作系统的这部分功能也称为进程调度或线程调度。因为任务的数量可能超过CPU 或核的数量,所以,多个任务可能共用同一个CPU 或核,这就需要有一种硬件机制能够让操作系统在不同的任务之间实现切换,这是任务调度的硬件基础。通常,计算机提供的时钟中断可以让操作系统很方便地做到这一点,也就是说,每隔一定的时间,硬件系统会触发一个中断;操作系统截获此中断,按照某种算法暂停当前正在执行的任务,并选择一个新的任务,从而实现任务的切换;到下一个时钟中断到来时,再继续这样的切换过程。因此,多个任务可以在一个CPU 或核中被轮流执行。操作系统可以设定时钟中断间隔的长度,也可以选择不同的算法来安排这些任务被先后执行,这样就形成了各种不同的调度算法。本书将在第3 章讨论Windows 的线程调度方案。
存储资源通常包括内存(RAM,随机访问存储器)和外存(也称为辅助存储器)。由于外存是通过标准的I/O(输入/输出)来管理的,而内存是CPU 直接通过系统总线来访问的,所以,我们将在讨论输入/输出的时候再介绍外存,现在仅考虑内存资源的管理。内存是CPU 执行一个任务的物质基础,CPU 内部的寄存器具备计算的能力,但计算的数据从哪里来呢?除了寄存器(其本身也是一种存储资源)以外,数据的来源是系统内存。在现代操作系统中,每个任务都有其独立的内存空间,从而避免任务之间产生不必要的干扰,所以操作系统有责任为每个任务提供相对独立的内存空间。把连续编址的物理内存划分成独立的内存空间,典型的做法是段式内存寻址和页式虚拟内存管理。不同的硬件体系结构可能支持不同的方案。Intel x86 体系结构同时支持段式寻址和页式虚拟内存映射,但是,可在Intel x86 上运行的操作系统几乎都选择了虚拟内存映射作为内存管理的硬件基础。Windows 和Linux 便是典型的例子。
在支持多任务的系统中,若所有任务的内存需求加起来的总量超过了当前系统的物理内存总量,那么,系统要么停掉一些任务,要么把一些任务转移到外存(如磁盘)中,以后当内存空闲时再把这些任务转换回来。或者系统有选择地把部分不常用的内存转换到外存,并且根据适当的规则将来再慢慢地转换回来。虚拟内存的映射以及物理内存不足时的换出和换入操作,这都是操作系统管理内存资源的重要任务。前者依赖于硬件提供的机制,而后者则更多地由操作系统自己来控制。
除了计算资源和内存资源的管理以外,操作系统对其他资源都通过I/O 来管理。例如,上面提到的外存资源,像磁盘,在现代计算机中是不可或缺的部件;另外,键盘和鼠标通常是标准的输入设备,而显示器和打印机往往是标准的输出设备。操作系统为了跟I/O 设备打交道,需要三方面的技术保障:CPU 通过特定的指令来控制I/O 设备,I/O 设备通知CPU 发生了特定的事情,以及在系统主内存和设备之间传输数据。
通常,CPU 直接访问设备的寄存器来操作一个设备,在Intel x86 系统上,CPU 通过in和out 指令能够做到这一点。设备寄存器是另一个地址空间,CPU 通过I/O 端口(I/O port)来访问它们。在现代计算机中,I/O 端口的分配跟软件和硬件都有关系。不同的硬件设备会使用不同的端口编号,现代的设备大都可以通过软件方式来设置其端口号,而过去一些老的设备可能需要通过硬件跳线来改变端口号的设置。对硬件设备进行恰当的设置,也是操作系统管理硬件设备的任务之一。另外,CPU 怎么知道或检测设备的工作状态呢?一种做法是,通过不停地查询设备的状态寄存器来获知其工作状态;但是,更有效的做法是,当设备的状态发生变化时,它能够主动地通知CPU,从而操作系统可以采取相应的措施。这后者即是设备中断机制。比如说,当键盘设备接收到按键动作时,它产生一个中断,告诉CPU(和操作系统),当前哪个键被按下了。中断也有编号,中断的编号被视为系统全局资源,在早期计算机的中断控制器中,不同设备的中断号不能冲突,否则设备无法正常工作。现代计算机通常允许多个设备共享中断号,操作系统和设备驱动程序可以协商设备的中断号。
计算机的计算处理能力往往仅限于在CPU 内部寄存器和主内存
文档评论(0)