第一章 操作系统概述(三)

1.1.3 操作系统的作用和功能

操作系统内核作为最贴近计算机硬件的软件,其作用主要体现在两个方面:一是作为系统资源的管理者,二是作为应用程序的服务提供者。在系统资源管理方面,被管理对象主要包括CPU、内存、各类设备、为用户持久保存的数据等,内核要根据各类资源的特点合理调配,尽可能提高资源利用率;在提供系统服务方面,内核将对自身管理的各类资源进行抽象,屏蔽繁琐的底层操作细节,提供更加便于访问的虚拟资源,并最终以统一的系统调用形式提供给应用程序使用。

操作系统内核的具体功能可以根据所管理资源类型以及提供服务方式归入五个部分,下面对每一部分的目标及最关键的功能进行简要说明。

(1)处理机管理:目标是要让CPU尽可能的繁忙,只要有可执行的程序就不让CPU空等。现代操作系统中会有多道程序驻留内存处于随时准备执行的状态,内核需要在多个候选者中挑选一个,把处理机分配给这个程序使其执行,这一过程称为调度;当前一个执行中的程序由于某种原因无法继续执行时,调度程序选中下一个要执行的程序后,需要修改CPU的状态以适应新选中程序的执行,这一处理称为切换。多道程序之间来回切换执行被称为并发,并发执行的程序可能会因为访问共同资源而导致不确定的结果,为了避免这种情况内核需要提供机制进行协调,被称为同步机制。

(2)内存管理:目标尽可能把给定容量的物理内存充分利用,需要把尽可能多的程序装入内存,这是并发执行的前提;要把物理内存在不同应用程序之间、应用程序与内核之间来回调配,以获得最好的系统性能;借助CPU提供的硬件机制实现虚拟存储管理,使得在较小的物理内存中可以运行规模很大的应用程序。内核还需要在应用程序地址空间中划分不同区域,并从可执行文件中读取内容装入不同区域。内存中同时存在的多个应用程序不应该相互影响,内核要实现内存的隔离和保护。

(3)设备管理:目标是让应用程序更容易地访问各种硬件设备,并最大限度提高设备的利用率和访问速度。为了让设备正常工作,内核中需要包含“设备驱动程序”向各个设备的控制寄存器发出命令,并利用中断、DMA等机制使设备可与CPU并行工作。为了降低访问难度,内核为不同设备提供一致的标识方法和访问方法;为了提高设备利用率,可以使用假脱机技术将独占使用的实际设备改造成可以共享访问的虚拟设备;为了提高访问速度,内核大量使用缓冲机制来适配不同速率设备、减少设备实际访问次数。

(4)文件管理:目标是让应用程序可以方便地以文件形式按名保存和读取数据。文件系统是建立在存储设备之上的,而存储设备一般是按照“位置”存放数据的,文件实际上是一个逻辑概念,其最主要的作用是建立一个“文件名”与存储设备上一个“位置集合”之间的对应关系。为了实现文件管理,内核需要在存储设备上划分不同区域并规定用途,需要管理存储设备上的可用空间,需要定义属于一个文件的“位置集合”的表示方式,需要组织不同文件之间的逻辑关系以便于应用程序访问。

(5)系统调用:这是应用程序调用内核功能的统一入口。内核的开发者会仔细挑选应用程序需要使用的功能,形成一个“内核服务集合”,然后通过统一的接口提供出来。应用程序对内核的功能不同于简单的过程调用,因为调用代码运行在用户态而被调用代码运行在核心态,因而在控制转移的同时需要有执行态的切换,这一般依赖于CPU提供的专用指令来触发。内核通常把所有的“内核服务集合”通过一个入口访问,按照一个预定的编号找到对应的内核服务。

读者如果第一次接触操作系统概念,不能完全理解上面这些功能描述是正常的,这可以看作是本书主要内容的一个提要,后面章节按此主线展开,当读完本书全部内容后,就会在理解的基础上记住这些功能。


【临时注记】这一部分内容写的较少,因为觉得在这里想讲的很全不现实,另外学生初次读到不太会有概念。另外在文字中尽可能回避“进程”等专业词汇,因为这需要在后面渐进式解释说明。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值