3.2 操作系统的功能组成
教学微视频
操作系统是一个非常复杂的系统,负责管理计算机的硬件资源和软件资源,用户通过操作系统可以方便的使用这些资源。操作系统主要包括用户接口、处理器管理、内存管理、设备管理和文件管理五大功能。
3.2.1 用户接口
用户接口(User Interface,简称UI)是系统和用户之间进行交互的手段,操作系统管理着计算机系统的各种硬件资源和软件资源,用户想要使用计算机的各种资源就必须有一个供用户使用其资源的接口,即用户接口。用户接口接受到用户请求后,将其解释给操作系统,操作系统按照请求执行相关操作,这样用户就使用了计算机资源,获得了操作系统提供的相关服务,这方便了用户与操作系统之间的双向交互。用户接口一般包括命令接口、程序接口、图形接口三种,最初的操作系统使用命令接口,现在的操作系统大多使用图形接口。命令接口是由用户输入命令,后台执行完成命令后将结果呈现在前台界面上的方式;图形接口采用易于识别的各种图标来表示系统的各项功能、应用程序和文件等,用户无需输入命令,仅利用鼠标就可以完成部分操作。对比命令接口与图形接口,命令接口资源利用率高、作业运行效率高但难以预料错误,图形接口使用起来方便、直观、生动但实现的代码规模大,对内外存容量、CPU速度和显示器要求较高。图3-4和图3-5分别为Windows的图形接口和Windows的命令接口。
图3-4 Windows图形接口形式
图3-5 Windows命令接口形式
3.2.2 处理器管理
处理器管理主要负责处理器的调度、分派、回收等工作。最初计算机在一段时间内只能运行一个程序,而现在计算机可以支持多个程序并发执行,但这需要处理器调度这些程序有序的使用处理器资源。了解进程、线程以及调度的含义和工作原理才能更好的理解处理器管理的过程。
1.进程
程序是对代码和数据的描述,而进程从广义上来看是一个程序关于某个数据集合的一次运行,从狭义上来看是正在运行的程序。操作系统引入进程的目的就是为了有效管理计算机中运行着的程序。程序是静态的,可以把它看作是一种长期存在的软件,同一程序可以对应多个进程,即一个程序同时在多个数据集合上运行;进程是动态的,具有一定的生命期,能更真实的描述并发。
系统执行一个程序就要先创建对应的进程,由于进程执行时存在一定的间断,因此进程存在三种状态,即就绪状态、运行状态和阻塞状态。就绪状态是指除了处理器资源,进程所需的其他资源都已准备就绪,只要按照系统的调度策略分配了处理器,进程就可以马上执行;运行状态是指进程占用了处理器,正在执行过程中;阻塞状态是指进程等待某个条件的发生,如I/O操作、进程同步等,如果该条件没有满足,那么即使分配给进程处理器资源也无法被执行,当条件满足时,该进程就可以回到就绪队列等待被执行。进程的三个基本状态以及状态之间的相互转化如图3-6所示。
图3-6 进程状态及相互转化
2.线程
线程是进程中的实际运作单位,在线程的生命周期内,存在新线程状态、可运行状态、阻塞状态和死亡状态等四种状态。一个进程可以并发多个线程,每条线程都是进程中的一个单一顺序控制流,且与其他线程执行的任务不同。图3-7是某时刻“Windows任务管理器”窗口中显示的进程和线程的相关信息,从图中可以看到,此时的“任务管理器”进程含有24个线程,“金山PDF”进程含有18个线程。
图3-7 “Windows任务管理器”窗口中进程和线程信息
3.调度
调度的实质是一种资源分配。当进程数目小于处理机数目时,每个进程都能分配到处理器资源,但实际情况是进程数目往往大于处理机数目,那么选择将处理器资源分配给哪个进程就需要依据调度策略,处理器的调度策略大概可以分为先来先服务策略、时间片轮转策略和最高优先级策略三种。先来先服务策略是按照进程进入就绪队列的先后次序分配处理器,一个进程一旦被调度,就会一直执行下去,直到执行完毕或阻塞才释放处理器资源。时间片轮转策略是按照一定的时间间隔把处理器资源分配给就绪队列中的进程,使得每个进程都可以被执行一个时间片,所有进程轮流占用处理器资源。最高优先级策略是指具有最高优先级的进程会优先得到处理器资源,若新进入就绪队列的进程的优先级高于正在运行的进程,那么系统会强行剥夺正在运行进程的处理器资源,并将处理器资源分配给具有更高优先级的进程使用。在实际生活中,调度策略往往是综合使用的,这样可以使整体的组织安排更合适、更优化。
3.2.3 内存管理
内存管理主要目的是快速高效的分配内存资源,并在恰当的时候释放和回收内存资源。
内存管理对于多任务系统是非常重要的,因为在同一时刻多任务系统中可能运行多个应用程序,它们共享内存,如果存在一些原因使得某个应用程序需要更多的内存时,系统可能会改变其它应用程序所分配的内存。计算机的内存空间有限,但用户的需求需要系统同时运行更多更大的程序,虚拟内存管理的出现缓和了用户需求与系统性能之间的矛盾。
虚拟存储技术就是将内存空间和外存空间结合成一个远大于实际内存空间的虚拟存储空间。虚拟存储空间的工作原理是将内存划分为大小相同的若干块,称为页帧;同样也将进程划分为大小相同的块,称为页。进程运行时需要用到的页就会被调入内存,暂时不用的就保存在外存中,需要时可调入内存,同样内存中暂时用不到的页也会被调出内存,存放到外存当中。这样就为用户提供了一个远大于实际内存空间的虚拟内存。图3-8是虚拟内存管理的示意图。
图3-8 虚拟内存管理示意图
3.2.4 设备管理
设备管理的主要职责是分配、控制、读写外围设备等。外围设备是计算机系统中的重要组成部分,包括输入设备、输出设备、外存储器等,可以传输、存储数据和信息。外围设备扩充了计算机系统,但外围设备种类繁多,且性能方面存在较大的差异,控制也较为复杂,这不利于操作系统充分利用各种设备资源,不便于用户对设备的控制和访问。设备管理可以较好地缓和上述问题,它可以完成外围设备的分配、读写等工作、缓冲区管理工作等,如外围设备的读写速度较慢,设备管理会将数据提前读到内存、延迟写回设备。
3.2.5 文件管理
文件的范畴很广,公文书信、各种软件都可以称为文件。计算机文件也是文件的一种,它以计算机硬盘为载体,集合了已命名的相关信息,可以是文本、音乐、图片、视频等。文件名是操作系统进行存取文件的依据,不同的操作系统有不同的文件命名规则,一般情况下文件名中都含有扩展名,扩展名可以识别不同的文件格式。用扩展名来辨别文件格式的方式使用在CP/M操作系统中,后来DOS操作系统和Windows操作系统都采用了这一方式。
文件管理是操作系统的五大职能之一,通过对各种文件进行管理,可以实现文件的存储、访问、操作、共享、保存等功能。操作系统采用目录系统管理文件,可以方便用户查找和操作文件,这类似书籍的目录,方便读者查找相关内容。