1
大学信息技术基础教程
1.2.3.2.1 3.2.1 操作系统

3.2.1 操作系统

操作系统是管理计算机软硬件资源的一个平台,是一组控制和管理计算机硬件和软件资源、合理地对各类作业进行调度以及方便用户的程序的集合。对内,操作系统管理计算机系统的各种资源,扩充硬件的功能;对外,操作系统提供良好的人机界面,方便用户使用计算机。它在整个计算机系统中具有承上启下的作用。

操作系统可以实现计算机的处理器管理、内存管理、文件管理、设备管理四大功能。此外,为了方便用户使用操作系统,还要向用户提供友好的用户界面。

1)操作系统的启动

一台计算机如果安装了操作系统,操作系统将驻留在硬盘上。当加电启动计算机时,CPU首先执行ROM BIOS中的自检程序,测试计算机中各个部件的工作状态是否正常。若无异常,CPU将继续执行BIOS中的自举程序,从硬盘中读出引导程序并装入内存(RAM),而后将控制权交给引导程序,由引导程序继续装入操作系统。操作系统成功装入后,整个计算机就处于操作系统的控制之下了。

2)处理器管理

处理器管理的主要任务是对处理器的使用进行分配,并对其运行进行控制和管理。为了提高CPU的利用率,操作系统一般都是若干个程序同时运行,称为“多任务处理”。所谓的“任务”,是指装入内存并启动执行的一个应用程序。下面我们以Windows操作系统为例,介绍操作系统对于处理器的管理。操作系统成功启动之后,这时除了和操作系统相关的一些程序在运行外,用户还可以根据自己的需要启动多个应用程序。这些程序可以互不干扰的独立工作。我们可以通过Ctrl+Alt+Del打开“Windows的任务管理器”窗口,窗口中有“应用程序”、“进程”、“性能”、“联网”、“用户”五个选项卡(Windows XP为例)。我们可以通过“应用程序”选项卡看到当前运行的应用程序,通过“进程”选项卡可以看到系统中的进程对CPU和内存的使用情况。

处理器的管理本质上是对进程的管理,所谓“进程”,就是指要么全做要么不做的一段程序,这段程序是原子的。Windows是一个多任务的操作系统,当应用程序对CPU有所请求时,系统就为它创建一个或多个进程并为这些进程分配资源。处理器的管理就是对这些进程的同步、进程之间的通信、进程调度进行管理。

如果我们把CPU的时间进行划分(比如1/20秒),每段时间就称为“时间片”。当我们启动多个任务,为了保证多个任务“同时”执行,操作系统中的调度程序一般通过时间片轮转的原则为这些任务分配处理器,即每个任务轮流得到一个时间片,当时间片用完后,不论这个任务多么重要,调度程序都要把时间片分配给下一个任务,依次循环下去,直至任务完成。由于CPU的处理速度极快,我们用户就感觉CPU在同时执行所有的任务。

由于不同任务的重要程度不同,请求的迫切程度也不同,所以要通过一定调度算法来确定任务的优先级,从而决定任务得到处理器的先后次序。调度算法有很多种,比如先来先服务(FCFS),也就是按时间顺序排队,先到的任务先得到服务;再如短作业优先(SJF),可以照顾到所有作业中占很大比例的短作业,使它们能够比长作业优先执行。调度算法很多也很灵活,这里就不一一列出了。

3)存储器管理

虽然计算机的内存容量不断增加,但由于经济等限制条件,内存资源是有限的。存储器管理主要是为多任务系统提供良好的环境,方便用户使用存储器,提高存储器的利用率,并能从逻辑上扩充内存。存储器管理可以实现内存分配、内存保护、地址映射、内存扩充等功能。

内存分配的主要任务是为每个程序分配内存空间,从而提高存储器的利用率,减少不可用的内存空间,允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要。

内存保护的主要任务是确保每位用户的程序都在自己的内存空间中运行,互不干扰。

一个程序经编译、链接后形成可执行文件,这些程序的起始地址都是从0开始,程序中其他地址都是相对于起始地址计算的,这些地址所形成的地址范围称为“地址空间”,其中的地址称为“逻辑地址”。而内存中的一系列存储单元所限定的地址范围称为“内存空间”,其中的地址称为“物理地址”。地址映射功能实现了由地址空间的逻辑地址到内存空间的物理地址的映射。

现在的操作系统一般都采用虚存(也称“虚拟内存”)技术进行存储器管理。虚存技术从逻辑上对物理内存进行扩充,使用户感觉到的内存容量比实际内存容量大得多。也就是说,使系统能运行比实际内存容量大得多的应用程序,或者能让更多的用户并发运行。虚存机制会先假设把用户程序的地址空间划分成若干大小的区域,一般是4KB,称为“页面”。启动一个任务时,只允许装入当前要执行的一部分程序和数据页面,其余页面放在硬盘提供的虚拟内存中,然后开始执行程序。在执行过程中,如果要执行的页面尚未调入内存,则被认为缺页,此时调用请求页面功能将他们调入内存,使任务能继续执行下去。如果此时内存已满,则根据相应的页面置换算法将内存中暂时不用的页面调到磁盘上,腾出足够的内存空间后将所要访问的页面调入内存,使之能够执行下去。

选择换出页面的算法称为“页面置换算法”。页面置换算法很多,如先进先出(FIFO)算法,该算法总淘汰最先进入内存的页面;最佳置换(OPT)算法会选择永不使用或者在最长时间内不被访问的页面;最近最久未使用(LRU)算法会选择最近最久未使用的页面予以淘汰。置换算法的好坏直接影响系统的性能,不适当的算法会使刚被换出的页很快又被访问,必须重新调入,还必须再选一页调出,如此频繁的更换页面会使大部分时间都浪费在页面置换工作上,这是我们所不希望的。

4)文件管理

文件是具有文件名的一组相关信息的集合。在现代计算机系统中,程序和数据都是以文件的形式存储在外存储器中,供所有或指定的用户使用,而用户必须以文件为单位对外存中的信息进行访问和操作。为此,操作系统中必须有文件管理机构。文件管理的主要任务是对用户文件和系统文件进行管理,它能实现包括文件存储管理、目录管理、文件的读/写管理、文件的共享与保护等功能。

每个文件都有自己的名字,称为“文件名”,用户利用文件名来访问文件。在Windows中,文件名可以长达255个字符,但不能包含下列符号之一:“\”、“/”、“:”、“?”、“*”、“"”、“<”、“>”、“|”。文件中除了文件名外还有一些文件的说明信息。在文件的图标上单击鼠标右键,在快捷菜单中选择“属性”,打开“属性”窗口,就可以看到文件类型、文件长度、文件物理位置(存储在硬盘上的位置)、文件的存取控制、文件的时间(创建、最近修改、最近访问等)、文件的创建者、文件的摘要等。文件的说明信息和文件的具体内容是分开存放的,前者保存在该文件的目录中,后者全部保存在磁盘的数据区中。

为了有序存放文件,操作系统把文件组织在若干文件目录中。通过目录管理为每个文件建立目录项,并对众多的目录项进行有效的组织,方便文件的按名存取。在Windows系统中文件目录也称为“文件夹”,采用多级层次结构(也叫“树状结构”)。每个磁盘或磁盘分区作为一个根目录,包含若干文件夹,每个文件夹中可以包含文件和下一级文件夹,也可以是空的,依此类推形成了多级文件夹结构。文件夹也有自己的说明信息,除了文件名以外,还包括存放位置、大小、创建时间、文件夹属性(存档、只读、隐藏等)。还可以设置文件夹的共享属性,以便网络上的其他用户可以共享访问该文件夹中的内容。

5)设备管理

在计算机系统中,除了主机外,还有若干外设用于实现信息的输入、输出和存储。设备管理的主要任务是完成I/O请求,为用户分配I/O设备。设备管理能实现包括缓冲管理、设备分配和设备处理等功能。

缓冲管理的基本任务是管理好各种类型的缓冲区,以缓和CPU和I/O设备速度不匹配的矛盾。很多系统会使用通过增加缓冲区容量的办法来改善文件系统的功能。

设备分配的任务是根据用户的请求为之分配所需的I/O设备,同时标记设备的分配情况。系统根据设备的描述标记,可以知道当前设备是否可用、是否忙碌,以供分配时参考。

设备处理程序又称为“设备驱动程序”。当系统中出现I/O请求时,设备处理程序首先检查I/O请求的合法性,了解设备的状态是否空闲,然后向设备控制器发出I/O命令,启动I/O设备完成指定的I/O操作。