毕业论文终稿(一个简易操作系统的实现)(3)

2019-03-16 19:19

华北电力大学本科毕业设计(论文)

2.2.4异步性

在多道程序下允许多个进程并发执行,但是只有进程获得所需的资源后方能执行。在单处理机环境下,由于系统只有一台处理机,所有每个时刻只能有一个进程运行,其他的必须等待处理机。当正在执行的进程提出某种资源要求时,此项资源如果得不到满足,这个进程就无法继续下去。可见一个进程在系统中的运行不可能是“一帆风顺”的,而是以“走走停停”的方式运行,而且这种方式在进程运行之前是不可预见的,具有随机性,并且由于各个任务、系统、机器的之间的差异,进程通常以人们不可预知的速度向前推进,这就是进程的“异步性”。

为了应对这种进程的“异步性”,为了让系统中的各个进程都不出错地执行完自己的任务,操作系统必须具备完善的进程同步机制,使得进程之间能够协调地利用好共享的资源,获得最后想要的结果。

2.3 操作系统的主要功能

操作系统的主要任务,是为多道程序的运行提供良好的运行环境,以保证运行在系统中的各个进程能够有序、高效地运行,并能够最大程度地提高系统中各项资源的利用率,而考虑到现在的系统和人之间的交互愈发频繁,操作系统还需提供给用户的使用接口和给程序员的编程接口。

所以,操作系统应该具备这样几个主要功能:处理机管理,存储器管理,设备管理,文件管理,用户接口和程序接口。而随着网络的普及,现代操作系统一般都具备网络功能。

2.3.1 处理机管理

在未引入线程的系统中,处理机的分配和运行都是以进程为基本单位,因而对处理机的管理可以归纳为对进程的管理:创建和撤销进程(进程控制),对各个进程的运行进行协调(进程同步),进实现进程之间的信息交换(线程通信),按照一定的算法将处理机的处理时间分配给进程。

其中进程同步包括“进程互斥”和“进程同步”,“进程互斥”是指各个进程在对临界资源进行访问时,应采用互斥方式,“进程同步”是指相互合作去完成某项任务的进程之间,必须遵循某种顺序,操作系统中有同步机构对它们的执行次序加以协调。

2.3.2 存储器管理

存储器管理管理的主要任务是为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率以及能从逻辑上扩充内存。主要功能包括:内存分配、内存保护、地址映射、内存扩充。

其中,为了实现内存分配,在内存分配机制中应该有这样的设计和功能:用于实现内存分配的数据结构,内存分配功能,内存回收功能。

7

华北电力大学本科毕业设计(论文)

而内存保护的的主要任务是保证让每个程序都只能在属于自己的内存空间运行,不能访问到别的程序的空间,更不能够访问到操作系统的内存空间。此时,让内存保护得以实现,必须设置合理的内存保护机制。

内存映射功能主要是实现将程序的“逻辑地址”或“相对地址”映射为内存的“物理地址”。

内存扩充并非是扩大物理内存的实际容量,而是借助于虚拟存储技术,从逻辑上扩充内存容量,使用户能够使用的内存容量大于实际的物理内存容量。内存扩充机制主要包括:请求调入功能和置换功能。

2.3.3 设备管理

设备管理用于管理计算机系统中所有的外围设备,而设备管理的主要任务是:完成进程提出的I/O请求;为进程分配其所需要的I/O设备;提高CPU和I/O设备的利用率。

为了实现上述任务,设备管理应具备缓冲管理、设备分配、设备处理和虚拟设备等功能。

缓冲管理集中要解决的矛盾是,CPU运行的高速型和外围设备的低速性。而随着CPU速率的不断提高,而I/O又具备一定的确定性,所以这个矛盾更加严重地降低了CPU的利用率。为了提高CPU的利用率,可以在I/O设备和CPU之间设置缓冲区,用于实现提高CPU的利用率和系统吞吐量。

设备分配的任务是根据进程的I/O请求和资源情况,按照某种分配策略,为进程分配所需要的设备。如果在I/O设备和CPU之间还存在着设备控制器和I/O通道,还要未分配出去的设备分配对应的控制器和通道。为了实现设备分配,系统中应设置设备控制表、控制器控制表等数据结构,用于记录设备及控制器的标示符和状态,系统应该以这些数据结构的实时数据为依据,了解制定设备当前是否可用,是否忙碌,以供进行设备分配。

设备处理其实就是设备驱动程序,基本任务是用于实现CPU和设备控制器之间的通信,即由CPU向设备控制器发I/O命令,要求其完成指定的I/O操作;反之,由CPU接受从控制器发来的中断请求,并迅速给予响应和相应的处理。

2.3.4 文件管理

在现代计算机系统中,一般将程序和数据以文件的形式存储在磁盘或者磁带上,供所有的或者某些指定的用户使用。为了达到这个目的,操作系统必须配置文件管理机构,文件管理的主要任务是对用户文件盒系统文件进行管理,以方便用户使用,同时需要保证文件的安全性。所以,文件管理的功能主要有:对文件存储管理空间的管理、目录管理、文件的读/写管理、文件的共享与保护。

为了实现文件存储空间的管理,系统应设置相应的数据结构,用于记录文件存储空间的使用情况,以供分配存储空间时作为参考。系统还应具有对存储空间进行分配和回收的

8

华北电力大学本科毕业设计(论文)

功能。为了提高存储空间的利用率,通常采用离散分配方式对存储空间进行分配,以减少外村零头,以盘块为基本分配单位,盘块的大小通常为1—8KB。

为了实现用户能方便的在外存上找到自己的文件,通常由文件系统为每个文件建立一个目录项。目录项包括文件名、文件属性、文件在磁盘上的物理位置等等描述文件的信息。而若干个目录项又可以构成一个目录文件。目录管理的主要任务是为每个文件建立目录项,并对所有的目录项进行有效的管理,以方便按名存取,即用户只需要提供文件名就可以对该文件进行存取。

文件的读/写管理实际上是简化用户对文件的操作,当用户想要打开、添加、修改、删除一个文件时,操作系统先根据用户给出的文件名去检索文件目录,从中获得文件在外存的位置,然后利用读/写指针,对文件进行读或写。

文件的保护是系统为用户的文件提供保护,以达到这几个目标:防止没有权限的用户存取文件,防止冒名顶替存取文件,防止以不正确的方式使用文件。

2.3.5 用户接口

用户接口是提供给用户使用的接口,用户可以通过该接口取得操作系统的服务。设置用户接口的目的是为了方便用户直接或者间接地控制自己的作业,用户可以通过这个接口向作业发出命令以控制作业的运行。用户接口分为联机用户接口和脱机用户接口,联机用户接口又分为命令行接口和图形接口。

命令行接口是由一组键盘操作命令组成,当用户在终端或者控制台上每次键入一条命令后,系统便立即转入命令解释程序,对这条命令加以解释并执行该命令。

图形接口是为了解决用户必须熟记各种命令的名字和格式的问题而生的,其采用图形化的操作界面,用非常容易识别的各种图标来将系统的各项功能、各种应用程序和文件形象逼真地表现出来,用户不需要用键盘输入命令,只需要用鼠标点击就能够控制操作系统。

联机用户接口都能够实现用户与进程的实时交互,而脱机用户接口则是为批处理作业的用户提供的,故也可以称作是批处理用户接口。批处理作业的用户不能直接与自己的作业交互作用,只能委托系统代替用户对作业进行控制和干预。

2.3.6 程序接口

程序接口是为用户程序在执行中访问系统资源而设置的,是用户所编制的程序取得操程序接口的本质是一组系统调用,每一个系统调用都是一个能完成特定功能的子程序,早期版本的系统调用都是用汇编语言提供的, 只有在用汇编语言书写的程序中才能直接使用系统调用;但在高级语言以及C语言中,玩玩提供了与各系统调用一一对应的库函数,这样应用程序就可以通过调用对应的库函数来来使用系统调用。

9

作系统服务的唯一途径。

每当应用程序要求OS提供某种服务时,便调用具有相应功能的系统调用。

华北电力大学本科毕业设计(论文)

与早期操作系统系统调用不同的是,近几年的操作系统中,系统调用本省已经采用C语言进行编写,并以函数的形式提供,所以,在C语言编制的程序中,可以直接使用系统调用。

10

华北电力大学本科毕业设计(论文)

第3章 32位保护模式介绍

80386以上的X86处理器有两种工作模式:实模式和保护模式。尽管实模式下的80386的功能要大大超过先前处理器(8086/8088,80186,80286),但只有在保护模式下,80386才能真正发挥作用。

3.1 32位保护模式简述

32位保护模式相对于实模式的优势体现在这几个方面:在保护模式下,80386处理器的32根地址线全部有效,可寻址达到4GB的物理地址空间;保护模式所独有的存储器分段管理机制和可选的存储器分页管理机制,前者为存储器的共享和保护提供了硬件支持,后者为实现虚拟存储器提供了硬件支持;支持多任务,在保护模式下,80386处理器给予系统开发者极大便利,可以快速地进行任务切换和保护任务环境;80386处理器有4个特权级和完善的特权检查机制,既能高效的实现资源共享,又能保证代码及数据的安全和保密,以及任务之间的隔离;在保护模式下可以用虚拟8086方式来执行8086程序。

3.1.1 存储管理机制和地址转换机制简介

为了对存储器中的程序和数据实现保护和共享提供硬件支持,80386在保护模式下采用了扩充的存储器分段管理机制;为了对实现虚拟存储器提供硬件支持,80386在保护模式下提供了可选的存储器分页管理机制。这些存储管理机制有80386的存储器管理部件MMU实现。

由于本文实现的操作系统没有使用更高级更复杂的分页管理机制,所以在这里重点介绍与分段有关的地址转换,不详细介绍分页管理机制。

保护模式下的虚拟存储器由大小可变的存储块构成,这样的存储块称为段。80386采用称为描述符的数据来描述段的位置、大小、使用情况以及其他属性。虚拟存储器的地址(即“逻辑地址”)由指示描述符的“选择子”和“偏移地址”两部分构成,这样的地址集合称为“虚拟地址空间”。

很显然,只有在物理存储器中的程序才能运行,只有在物理存储器中的数据才能访问,一切的地址都要映射到物理地址,二维的虚拟地址(“选择子”+“偏移地址”)必须转换成为一维的物理地址(实际内存的地址)。由于物理地址远小于虚拟地址,所以只有一部分虚拟地址空间能真正映射到物理存储器。

因为每一个任务都有一个虚拟地址空间,而为了避免多个并行任务的多个虚拟空间直接映射到一个物理地址空间,所以,采用线性地址空间隔离虚拟地址空间和物理地址空间。线性地址空间和物理地址空间对等,大小一样。

如图3-1所示。80386分两步实现虚拟地址空间到物理地址空间的映射。第一步是通过虚拟地址中的“选择子”在描述符表GDT中查询得到段描述符,在段描述符中记载着这

11


毕业论文终稿(一个简易操作系统的实现)(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2018两会要点:防止因病致贫、因病返贫

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: