操作系统理论 第一章(操作系统引论)—第四节(操作系统的主要功能)

写在前面:

  1. 本系列笔记主要以《计算机操作系统(汤小丹…)》为参考,大部分内容出于此书,笔者的工作主要是挑其重点展示,另外配合下方视频链接的教程展开思路,在笔记中一些比较难懂的地方加以自己的一点点理解(重点基本都会有标注,没有任何标注的难懂文字应该是笔者因为强迫症而加进来的,可选择性地忽略)。
  2. 视频链接:操作系统(汤小丹等第四版)_哔哩哔哩_bilibili

一、处理机管理功能

        在传统的多道程序系统中,处理机的分配和运行都是以进程为基本单位的,因而对处理机的管理可归结为对进程的管理。处理机管理的主要功能有:创建和撤消进程,对诸进程的运行进行协调,实现进程之间的信息交换,以及按照一定的算法把处理机分配给进程

1、进程控制

(1)在传统的多道程序环境下,要使作业运行,必须先为它创建一个或几个进程,并为之分配必要的资源,当进程运行结束时,立即撤消该进程,以便能及时回收该进程所占用的各类资源。

(2)进程控制的主要功能是为作业创建进程、撤消已结束的进程,以及控制进程在运行过程中的状态转换。

2、进程同步

(1)为使多个进程能有条不紊地运行,系统中必须设置进程同步机制。进程同步的主要任务是为多个进程(含线程)的运行进行协调。

(2)进程同步有两种协调方式:

①进程互斥方式。诸进程(线程)在对临界资源进行访问时,应采用互斥方式。

②进程同步方式。在相互合作去完成共同任务的诸进程(线程)间,由同步机构对它们的执行次序加以协调。

3、进程通信

(1)在多道程序环境下,为了加速应用程序的运行,应在系统中建立多个进程,并且再为一个进程建立若干个线程,由这些进程(线程)相互合作去完成一个共同的任务,而在这些进程(线程)之间,又往往需要交换信息。进程通信的任务就是用来实现在相互合作的进程之间的信息交换。

(2)例如有三个相互合作的进程,它们是输入进程、计算进程和打印进程。

①输入进程负责将所输入的数据传送给计算进程。

②计算进程利用输入数据进行计算,并把计算结果传送给打印进程。

③最后,由打印进程把计算结果打印出来。

4、调度

(1)在后备队列上等待的每个作业,通常都要经过调度才能执行。

(2)在传统的操作系统中,包括作业调度和进程调度两步。

①作业调度的基本任务,是从后备队列中按照一定的算法,选择出若干个作业,为它们分配其必需的资源(首先是分配内存),将它们调入内存后,便分别为它们建立进程,使它们都成为可能获得处理机的就绪进程,并按照一定的算法将它们插入就绪队列。

②进程调度的任务,是从进程的就绪队列中选出一新进程,把处理机分配给它,并为它设置运行现场,使进程投入执行。

二、存储器管理功能

        存储器管理的主要任务是为多道程序的运行提供良好的环境,提高存储器的利用率方便用户使用,并能从逻辑上扩充内存,为此存储器管理应具有内存分配和回收、内存保护、地址映射和内存扩充等功能

1、内存分配

(1)OS在实现内存分配时,可采取静态和动态两种方式。

①在静态分配方式中,每个作业的内存空间是在作业装入时确定的,在作业装入后的整个运行期间,不允许该作业再申请新的内存空间,也不允许作业在内存中“移动”。

②在动态分配方式中,每个作业所要求的基本内存空间,也是在装入时确定的,但允许作业在运行过程中,继续申请新的附加内存空间,以适应程序和数据的动态增涨,也允许作业在内存中“移动”。

(2)为了实现内存分配,在内存分配的机制中应具有这样的结构和功能:

①内存分配数据结构,该结构用于记录内存空间的使用情况,作为内存分配的依据。

②内存分配功能,系统按照一定的内存分配算法,为用户程序分配内存空间。

③内存回收功能,系统对于用户不再需要的内存,通过用户的释放请求,去完成系统的回收功能。

2、内存保护

(1)内存保护的主要任务是确保每道用户程序都只在自己的内存空间内运行,彼此互不干扰。

(2)为了确保每道程序都只在自己的内存区中运行,必须设置内存保护机制。一种比较简单的内存保护机制是设置两个界限寄存器,分别用于存放正在执行程序的上界和下界,系统须对每条指令所要访问的地址进行检查,如果发生越界,便发出越界中断请求,以停止该程序的执行。

3、地址映射

(1)一个应用程序(源程序)经编译后,通常会形成若干个目标程序,这些目标程序再经过链接便形成了可装入程序。这些程序的地址都是从“0”开始的,程序中的其它地址都是相对于起始地址计算的,由这些地址所形成的地址范围称为“地址空间”,其中的地址称为“逻辑地址”或“相对地址”;此外,由内存中的一系列单元所限定的地址范围称为“内存空间”, 其中的地址称为“物理地址”。

(2)在多道程序环境下,每道程序不可能都从“0”地址开始装入(内存), 这就致使地址空间内的逻辑地址和内存空间中的物理地址不相一致。为使程序能正确运行,存储器管理必须提供地址映射功能,以将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址,该功能应在硬件的支持下完成。

4、内存扩充

(1)存储器管理中的内存扩充任务,并非是去扩大物理内存的容量,而是借助于虚拟存储技术,从逻辑上去扩充内存容量,使用户所感觉到的内存容量比实际内存容量大得多,或者是让更多的用户程序能并发运行,这样既满足了用户的需要,改善了系统的性能,又基本上不增加硬件投资。

(2)为了能在逻辑上扩充内存,系统必须具有内存扩充机制用于实现下述各功能:

①请求调入功能。系统允许在仅装入部分用户程序和数据的情况下,便能启动该程序运行,在程序运行过程中,若发现要继续运行时所需的程序和数据尚未装入内存,可向OS发出请求,由OS从磁盘中将所需部分调入内存,以便继续运行。

②置换功能。若发现在内存中已无足够的空间来装入需要调入的程序和数据时,系统应能将内存中的一部分暂时不用的程序和数据调至硬盘上,以腾出内存空间,然后再将所需调入的部分装入内存。

三、设备管理功能

        设备管理用于管理计算机系统中所有的外围设备,而设备管理的主要任务有:①完成用户进程提出的I/O请求;为用户进程分配其所需的I/O设备;提高CPU和I/O设备的利用率;提高I/O速度;方便用户使用I/O设备。为实现上述任务,设备管理应具有缓冲管理、设备分配和设备处理,以及虚拟设备等功能

1、缓冲管理

(1)CPU运行的高速性和I/O低速性间的矛盾自计算机诞生时起便已存在,而随着CPU速度迅速、大幅度的提高,使得此矛盾更为突出,严重降低了CPU的利用率。如果在I/O设备和CPU之间引入缓冲,则可有效地缓和CPU和I/O设备速度不匹配的矛盾,提高CPU的利用率,进而提高系统吞吐量,因此,在现代计算机系统中,都毫无例外地在内存中设置了缓冲区,而且还可通过增加缓冲区容量的方法,来改善系统的性能。

(2)最常见的缓冲区机制有单缓冲机制、能实现双向同时传送数据的双缓冲机制,以及能供多个设备同时使用的公用缓冲池机制。

2、设备分配

(1)设备分配的基本任务是根据用户进程的I/O请求、系统的现有资源情况以及按照某种设备分配策略,为之分配其所需的设备。如果在I/O设备和CPU之间,还存在着设备控制器和I/O通道时,还须为分配出去的设备分配相应的控制器和通道。

(2)为了实现设备分配,系统中应设置设备控制表、控制器控制表等数据结构,用于记录设备及控制器的标识符和状态,据这些表格可以了解指定设备当前是否可用,是否忙碌,以供进行设备分配时参考。在进行设备分配时,应针对不同的设备类型而采用不同的设备分配方式。对于独占设备(临界资源)的分配,还应考虑到该设备被分配出去后,系统是否安全。设备使用完后,还应立即由系统回收。

3、设备处理

(1)设备处理程序又称为设备驱动程序,其基本任务是用于实现CPU和设备控制器之间的通信,即:

①由CPU向设备控制器发出I/O命令,要求它完成指定的I/O操作。

②由CPU接收从控制器发来的中断请求,根据该中断请求的类型,调用相应的中断处理程序进行处理。对于设置了通道的计算机系统,设备处理程序还应能根据用户的I/O请求,自动地构成通道程序。

(2)设备处理的一般过程:

①设备处理程序首先检查I/O请求的合法性,了解设备状态是否是空闲的,了解有关的传递参数及设置设备的工作方式。

②向设备控制器发出I/O命令,启动I/O设备去完成指定的I/O操作。

四、文件管理功能

        文件管理的主要任务是对用户文件和系统文件进行管理以方便用户使用,并保证文件的安全性。为此,文件管理应具有对文件存储空间的管理、目录管理、文件的读/写管理以及文件的共享与保护等功能

1、文件存储空间的管理

(1)由文件系统对诸多文件及文件的存储空间,实施统一的管理,其主要任务是为每个文件分配必要的外存空间,提高外存的利用率,并能有助于提高文件系统的运行速度。

(2)系统应设置相应的数据结构,用于记录文件存储空间的使用情况,以供分配存储空间时参考;系统还应具有对存储空间进行分配和回收的功能。为了提高存储空间的利用率,对存储空间的分配,通常是采用离散分配方式,以减少外存零头,并以盘块为基本分配单位,盘块的大小通常为512 B~8 KB。

2、目录管理

(1)为了使用户能方便地在外存上找到自己所需的文件,通常由系统为每个文件建立一个目录项,目录项包括文件名、文件属性、文件在磁盘上的物理位置等。若干个目录项又可构成一个目录文件。

(2)目录管理的主要任务是为每个文件建立其目录项,并对众多的目录项加以有效的组织,以实现方便的按名存取,即用户只须提供文件名,即可对该文件进行存取。其次,目录管理还应能实现文件共享,这样,只须在外存上保留一份该共享文件的副本。此外,目录管理还应能提供快速的目录查询手段,以提高对文件的检索速度。

3、文件的读/写管理和保护

(1)文件的读/写管理。该功能是根据用户的请求,从外存中读取数据,或将数据写入外存。在进行文件读(写)时,系统先根据用户给出的文件名,去检索文件目录,从中获得文件在外存中的位置,然后利用文件读(写)指针对文件进行读(写),一旦读(写)完成便修改读(写)指针,为下一次读(写)做好准备。由于读和写操作不会同时进行,故可合用一个读/写指针。

(2)文件保护。

①防止未经核准的用户存取文件。 

②防止冒名顶替存取文件。

③防止以不正确的方式使用文件。

五、操作系统与用户之间的接口

        为了方便用户对操作系统的使用,操作系统向用户提供了“用户与操作系统的接口”。

1、用户(命令)接口

(1)为了便于用户直接或间接地控制自己的作业,操作系统向用户提供了命令接口,用户可通过该接口向作业发出命令以控制作业的运行

(2)该接口又进一步分为联机用户接口、脱机用户接口和图形用户接口三种。

①联机命令接口:又称交互式命令接口,适用于分时或实时系统的接口,它由一组键盘操作命令组成,用户通过控制台或终端输入操作命令向系统提出各种服务要求。用户每输入完一条指令,控制权就转入操作系统的命令解释程序,然后由命令解释程序对输入的命令解释并执行,完成指定的功能,之后控制权又转回到控制台或终端,此时用户可以输入下一条指令。

②脱机命令接口:又称批处理命令接口,适用于批处理系统,它由一组作业控制命令(或称作业控制语句)组成,脱机用户不能直接干预作业的运行,应事先用相应的作业控制命令写成一份作业操作说明书,连同作业一起提交给系统,当系统调度到该作业时,由系统中的命令解释程序,对作业说明书上的命令或作业控制语句逐条解释执行,从而间接地控制作业的运行,直到遇到作业结束语句时系统才停止该作业的运行。

③图形用户接口:图形用户接口采用了图形化的操作界面,用非常容易识别的各种图标来将系统的各项功能、各种应用程序和文件直观、逼真地表示出来,用户可通过菜单(和对话框)用移动鼠标选择菜单项的方式取代命令的键入,以方便、快捷地完成对应用程序和文件的操作,从而把用户从繁琐且单调的操作中解脱出来。

2、程序接口

(1)程序接口由一组系统调用命令(简称系统调用,也称广义指令)组成,用户通过在程序中使用这些系统调用命令来请求操作系统为其提供服务,如使用各种外部设备进行有关磁盘文件的操作、申请分配和回收内存以及其它各种控制要求。

(2)操作系统不允许用户直接操作各种硬件资源,因此用户程序只能通过系统调用的方式来请求内核为其服务,间接地使用各种资源,这是为了保证系统的稳定性和安全性,防止用户进行非法操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zevalin爱灰灰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值