操作系统是计算机系统资源的管理者,其主要任务是对系统中的硬件、软件资源实施有效的管理,以提高系统资源的利用率。操作系统的主要功能包括处理机管理,内存管理,设备管理,文件管理以及方便用户而提供的友好的用户接口。
1.2.1 处理机管理
处理机是计算机系统中的核心资源,对处理机管理的好坏直接关系到系统的整体性能。处理机管理完成对处理机的分配调度与运行管理等功能。在传统的操作系统中,处理机的分配调度是以进程(Process)为单位,因此处理机管理最终归为对进程的管理。现代操作系统中,都引入了线程(Thread),处理机管理还需包含对线程的管理。进程管理主要包括:
1、进程控制
在传统的多道程序环境下,要使作业运行,必须先为它创建一个或者几个进程,并为之分配必要的资源。进程运行结束时,立即撤销该进程,以便能及时回收该进程所占用的各类资源。进程控制的主要功能是为作业创建和撤销进程,控制进程在运行过程中的状态转换(如阻塞与唤醒进程,挂起与激活进程)。
在引入线程的操作系统中,进程控制还应具有为一个进程创建若干个线程的功能和撤销已完成任务的线程的功能以及其他控制功能。
2、进程同步
进程同步的主要任务是协调多个并发执行的进程(线程)之间的推进步骤。为使多个进程能有条不紊地并发执行,系统中必须设置进程同步机制。
进程同步有两种协调方式:
1)进程互斥方式。这是指诸进程(线程)在对临界资源进行访问时,应采用互斥方式。
2)进程同步方式。指在相互合作完成共同任务的诸进程(线程)间,由同步机构对他们的执行次序加以协调。
为了实现进程同步,系统中必须设置进程同步机制。最简单的用于实现进程互斥的的机制是为每一个临界资源配置一把锁,当锁打开时,进程(线程)可以对该临界资源进行访问;而当锁关上时,则禁止进程(线程)访问该临界资源。信号量机制是各个操作系统采用的行之有效的同步机制。
3、进程通信
进程通信的任务是用来实现在相互合作的进程之间的信息交流。通过进程之间的信息交换,来协调合作进程间的推进关系。
在多道程序环境下,为了加速应用程序的运行,应在系统中建立多个进程,并且再为一个进程建立若干个线程,由这些进程(线程)相互合作去完成一个共同的任务。这些进程(线程)之间往往需要交换信息。例如,有三个相互合作的进程,它们是输入进程、计算进程、打印进程。输入进程负责将所输入的数据传送给计算进程;计算进程利用输入数据来进行计算,并把计算结果传送给打印进程;最后,由打印进程把计算结果打印出来。进程通信的任务是用来实现相互合作的进程之间的信息交流。
进程通信方式主要有直接通信和间接通信两类。当相互合作的进程(线程)处于同一计算机系统时,通常采用直接通信方式,即由源进程利用发送命令直接将消息(message)挂到目标进程的消息队列上,以后由目标进程利用接收命令从消息队列中取出消息。间接通信采用信箱完成信息交换,主要用于处于不同计算机节点进程之间的通信。
4、进程调度
进程调度的任务是:从进程的就绪队列中选出一个进程,把处理机分配给它,并为它设置运行现场,使进程投入执行。值得一提的是,在多线程OS中,通常是把线程作为独立运行和分配处理机的基本单位。为此,需要把就绪线程排成一个队列。每次调度时,从就绪线程队列中选出一个线程,把处理机分配给他。
1.2.2 存储管理
存储管理的主要任务是提高内存利用率,为用户程序提供足够的存储空间,方便进程并发执行,为多道程序的运行提供良好的环境,为用户使用存储器提供方便。存储管理的功能包括以下几个方面:
1、内存分配
OS在实现内存分配时,可采用动态和静态两种方式。
静态分配方式:每个作业的内存空间是在作业装入时确定的;在作业装入后的整个运行期间,不允许该作业再申请新的内存空间,也不允许作业再内存中移动。
动态分配方式:每个作业所要求的基本内存空间,也是在装入时确定的,但允许作业在运行过程中,继续申请新的内存空间,以适应程序和数据的动态增长,也允许作业在内存中为了实现内存分配,在内存分配的机制中应用具有这样的数据结构和功能。
1)内存分配数据结构:该结构用于记录内存空间的使用情况,作为内存分配的依据。
2)内存分配功能:系统按照一定的内存分配算法,为用户程序分配内存空间。
3)内存回收功能:系统对于用户不再需要的内存,通过用户的释放请求,去完成内存的回收功能。
2、内存保护
内存保护的主要任务是确保每道用户程序都只在自己的内存空间内运行,彼此互不干扰。为了确保每道程序都只在自己的内存区中运行,必须设置内存保护机制。一种简单实用的内存保护方式是设置两个界限寄存器,分别用于存放正在执行程序地址的上界和下届,系统对每条指令所要访问的地址进行检查,如果发生越界,便发出越界中断请求,以停止该程序的执行。越界检查由硬件实现,对发生越界后的处理,还必须与软件配合来完成。
3、地址映射
地址映射实现进程逻辑地址到内存物理地址的转换,以便程序能够正确的运行。
一个应用程序(源程序)经编译后,通常会形成若干个目标程序。这些目标程序再经过链接 便形成了可装入程序。这些程序的地址都是从0开始的,程序中的其他地址都是相对于起始地址计算的,我们把程序中使用的地址称为逻辑地址或者相对地址,由这些地址所形成的地址范围称为逻辑地址空间。此外,由内存中的一系列单元所限定的地址范围称为物理地址空间,其中的地址称为物理地址。
在多道程序系统中,多道程序地址空间内的逻辑地址和内存空间中的物理地址往往不一致。为使程序能正确的运行,存储器管理必须提供地址映射功能,将地址空间中的逻辑地址转换到内存空间中与之对应的物理地址。该功能应在硬件的支持下完成。
4、内存扩充
一般来说,内存容量是有限的。在多道程序设计环境下往往内存容量不能满足用户作业的需求。存储器管理中的内存扩充任务,是利用虚拟存储技术,从逻辑上扩充内存容量,使用户所感觉到的内存容量比实际的内存容量大得多,而并非去扩大物理内存容量。这样,可以满足大作业的需要及增加内存中并发进程数,既改善了系统的性能,又基本上不增加硬件成本。
1.2.3 设备管理
设备管理的目标是提高IO设备利用率,方便用户使用设备。在计算机系统的硬件资源中,除了CPU和内存外,还有许多外部设备。外部设备种类繁多,物理特性相差很大,因此,操作系统的设备管理往往很复杂,设备管理的主要任务是:完成用户进程提出的IO请求,为用户进程分配其所需的IO设备,提高CPU和IO 设备的利用率,提高IO速度,实现设备的独立性,方便用户使用IO。
因此,设备管理应该具备缓冲管理,设备分配与回收,设备处理意见虚拟设备等功能。
1、缓冲管理
CPU运行的高速性和IO低速性的矛盾随着CPU速度的迅速提高,而使得此矛盾更加突出,严重影响了CPU的利用率。在IO设备和CPU之间引入缓冲,即在内存中开辟相应的区域作为IO设备与CPU之间的缓冲区。例如,输入时先将数据输入到内存缓冲区中暂时保存,需要时CPU直接从内存缓冲区中读取,从而达到接近内存的存取速度使用慢速输入设备。这样可以有效的缓和CPU和IO设备速度不匹配的矛盾,提高CPU的利用率,进而提高系统吞吐量。
2、设备分配与回收
设备分配与回收的基本任务是:根据用户进程的IO请求,系统现有资源情况以及按照某种设备分配策略,为之分配其所需的设备,如果在IO设备和CPU之间,还存在着设备控制器和IO通道时,还必须为分配出去的设备分配相应的控制器和通道。在用户进程使用设备完毕后,应立即由系统回收。
3、设备处理
设备处理程序又称为设备驱动程序。对于未设置通道的计算机系统,其基本任务是用于实现CPU和设备控制器之间的通信。即由CPU向设备控制器发出IO命令,要求它完成指定的IO操作,反之由CPU接收从控制器发来的中断请求,,并且给予迅速的响应和相应的处理。
对于设置了通道的计算机系统,设备处理程序还应该能根据用户的IO请求,自动的生成通道程序。
4、实现设备独立性和虚拟设备
为了方便用户使用设备,提高设备可适用性,应该考虑设备的独立性,设备独立性即设备无关性,是指应用程序独立于具体的物理设备,应用程序中使用逻辑设备,从而与物理设备的物理特性无关。设备管理还应该能实现虚拟设备的功能,即通过虚拟技术将低速的独占设备构造成高速的共享设备。
1.2.4 信息管理
处理机管理,存储管理和设备管理都属于硬件管理,软件资源的管理称作信息管理。计算机系统中的信息(程序和数据)以文件的形式存储在外存储器中(如磁盘)供用户使用,操作系统由文件管理系统来实现信息管理。文件管理的主要任务是实现软件资源的存储,共享、保密和保护。文件管理包括:文件存储空间的管理,目录管理,文件的读写管理和存取控制。
1、文件存储空间的管理
由文件系统对计算机系统中的文件及文件的存储空间实施统一的管理。其主要的任务是为每个文件分配必要的外存空间,提高外存的利用率,并且能够有助于提高文件系统的运行速度。为此,系统应该要设置相应的数据结构,用于记录文件存储空间的使用情况,以供分配存储空间时参考;系统还应有对存储空间有进行分配和回收的功能。
2、目录管理
目录管理的主要任务是:为每个文件建立其目录项,并对众多的目录项加以有效的组织,以实现按名存取。
3、文件的读写管理和保护
文件的读写管理是文件管理的最基本内容,文件系统根据用户给出的文件名去查找文件目录,从中得到文件在外存中的存储位置,对文件进行读写。
为了防止系统中的文件被非法窃取或者破坏,在文件系统中应建立有效的保护机制,防止未经核准的用户存储文件,防止冒名顶替存取文件,防止以不正确的方式使用文件,以保证文件系统的安全性。
1.2.5 用户接口
操作系统的作用之一是提供一个友好的用户访问计算机系统的接口,它屏蔽了计算机硬件的操作细节,使用户和程序员与系统硬件隔离开来。用户通过使用这些接口达到方便使用计算机的目的。操作系统为用户提供了命令接口,程序接口与图形用户接口。
1、命令接口
他由一组键盘操作命令以及命令解析程序所组成。当用户在终端或控制台上建立一条命令后,系统便立即转入命令解析程序,对该命令加以解释并执行该命令。
2、程序接口
程序接口是为用户程序在执行中访问系统资源而设置的,是用户程序取得操作系统服务的唯一途径。它是由一组系统调用组成,每一个系统调用都是一个能完成特定功能的子程序,每当应用程序要求操作系统提供某种服务时,便调用具有相应功能的系统调用。
3、图像接口
用各种图标(Icon)来代替各种命令。
操作系统是计算机系统资源的管理者,主要功能包括处理机管理、内存管理、设备管理、文件管理和用户接口。处理机管理涉及进程控制、进程同步和进程通信;内存管理涵盖内存分配、内存保护、地址映射和内存扩充;设备管理包括缓冲管理、设备分配与回收、设备处理和虚拟设备;信息管理则关注文件存储空间、目录管理和文件保护;用户接口有命令接口、程序接口和图形用户接口。

8714

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



