操作系统讲义Word下载.docx
- 文档编号:16550995
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:75
- 大小:459.37KB
操作系统讲义Word下载.docx
《操作系统讲义Word下载.docx》由会员分享,可在线阅读,更多相关《操作系统讲义Word下载.docx(75页珍藏版)》请在冰豆网上搜索。
3.5页式虚拟组织存储虚拟管理算法
3.6段式虚拟存储器
3.7段式虚拟存储器
第四章输入和输出李明、刘娜、杨玲玲
4.1概述
4.2终端
4.3时钟
第五章文件系统基础林碧华、王琳、程晓
5.1概述
5.2文件
5.3目录
5.4文件系统实现
5.5文件系统的可靠性及性能
第一章引论
1.1操作系统的作用和功能
首先,让我们对操作系统的作用和功能有一个基本的了解,操作系统作为计算机系统中最重要的系统软件,它的作用可以从两个角度来观察,从用户的角度来说,操作系统是对用户所提供的使用计算机的界面(Interface),也就是我们将要讨论的虚拟机的概念。
而从机器的角度来说,操作系统又是对计算机各种系统资源的管理者,负责对各种硬件和软件资源进行分配。
所以,了解一下操作系统的基本作用和功能对于全面理解操作系是十分重要的。
1.1.1从虚拟机角度观察OS
大家知道,用户直接使用裸机是非常不方便的,例如,用户对裸机进行输入、输出操作时,必须直接对硬件进行繁琐的程序设计,这对多数用户而言是难以胜任的。
而操作系统的主要任务就是将这些复杂的硬件操作与用户隔离开来,代替用户对计算机硬件进行控制,如磁盘读写、中断响应、内存管理等。
从用户的角度来看,他们所直接面对的不再是令人头疼的硬件,而是使用起来方便的多的操作系统了,这就是我们所说的虚拟机(VirtualMachine)。
1.1.2从资源管理者角度观察OS
购置计算机的用户最关心的莫过于系统性能与价格是否相称,能否高效地工作,能否给他们带来一定的经济效益,而在这时操作系统的任务就是合理而有效地管理好系统中所有的软、硬件资源,按照需要和一定规则对它们进行分配、控制和回收,以便经济而高效地向用户提供各种性能优良的服务。
1.2操作系统基本概念
操作系统和用户程序之间的界面是由操作系统所提供的一套“扩展指令”(ExtendedInstruction)来定义的,这些“扩展指令”又被称作系统调用(SystemCall)。
这些系统调用的任务就是创建、删除以及使用各种由操作系统所管理的软件对象,如进程和文件。
本节就对这些基本概念进行简要的介绍。
1.2.1进程(Process)
进程在操作系统中是一个十分重要的概念,它指的是程序的一次执行,是一个动态的概念。
进程包括可执行的程序代码、程序的数据和堆栈、程序计数器、堆栈指针、有关寄存器、以及所有运行程序所必须的其它信息。
1.2.2文件(Files)
文件是具有名称的一组信息系列,它可以表示范围非常宽广的对象。
系统和用户都可以将其有一定独立功能的程序模块,一组数据命名成为一个文件。
例如用户的一个C源程序、一个目标代码程序、系统中的库程序和各种系统程序、一篇文章等都可以构成一个文件。
操作系统中负责管理和存取文件信息的软件机构称为文件管理系统。
文件系统为用户提供了一个简便、统一的存取和管理信息的方法,用户就可以通过文件名、按照文件的逻辑结构,使用简单而直观的操作存取所需要的信息。
从而使用户摆脱了存储介质的特性及输入/输出指令的细节。
1.2.3系统调用
系统调用有时也被称为广义指令或管理程序调用,它是在用户态下运行的程序和操作系统之间的界面(Interface),用户态程序使用系统调用可以获得操作系统所提供的各种服务。
用户编制程序时,虽然可以把系统调用看做是他所使用的语言的一部分,但实际上系统调用的功能是由操作系统提供的,它是操作系统对裸机加以扩充和构造后呈现在用户态程序面前的外特征。
1.2.4作业控制和命令解释器(Shell)
Shell,即命令解释器(CommandInterpreter),它本身并不属于操作系统的一部分,但由于它的使用包含了操作系统的特性,所以通过它可以很好地说明系统调用是如何被使用的。
一旦用户进入系统,Shell就被启动了,它将用户终端做为标准输入和标准输出。
它在屏幕上会显示一个提示符(Prompt),如一个'
$'
号,表示它在等待用户输入命令。
例如,用户键入命令'
Date'
,Shell就创建一个子进程来运行Date程序,当该进程完成时,Shell就把结果告诉用户,并且重新显示提示符,等待用户键入下一个命令。
1.3操作系统的特性
现在我们已经知道,操作系统是一种相当重要而又复杂的系统软件。
在对它的基本概念和功能有了一个初步的了解之后,让我们对操作系统的几个特性进行说明。
1.3.1并发(Concurrency)
并发指的是在操作系统中存在许多同时的或平行的活动。
例如,输入输出活动和计算活动的并行;
又如,在内存中同时存在几道用户程序,它们在处理机上交互运行等。
由并发而引起的一些问题是:
要能从一个活动转向另一个;
保护一个活动使其不受另外一些活动的影响;
有相互依赖的活动之间能相互协调、实施同步并进行信息交换。
1.3.2共享(Sharing)
系统中存在的各种并发活动要共享系统软、硬件资源,之所以这样做有四个理由:
(1)从经济上考虑。
计算机系统的价格仍然很昂贵,资源共享是提高经济效益的一种比较合理的解决方法。
(2)当若干程序员协同工作开发软件时,可能需要互相使用他人拥有的软件资源。
(3)许多用户往往要同时使用某一资源,特别是系统软件。
例如,某种语言的编译程序、文本编辑程序等。
为了节省存储空间,提高工作效率,可以使这些用户共享这些资源,而不是向每个用户提供一个副本。
(4)几个用户要求运行不同的程序,但可能要使用相同的数据。
与共享有关的问题是资源分配、对数据的同时存取、不同的活动要能同时执行一个程序以及必要的保护等。
1.3.3长期的信息储存(Long-termstorage)
为了实现用户对程序和数据的共享,便于用户随时取用它们,需将这些信息长期存储于系统内。
与此有关的问题是要提供简单的存取方法;
要阻止用户有意或无意地对信息进行非法的操作;
在系统发生故障时要提供保护,以免存储的信息遭到破坏。
1.3.4不确定性(Nondeterminacy)
如果同一程序在同一数据集上运行,则不论今天或每天,产生的结果应该是相同的。
从这个意义上来说,操作系统应该是确定的。
但是同样一个程序在同一数据集上运行,这次需要三分钟,下一次则可能需要三分半钟。
同一组程序pr1、pr2、pr3,它们一起提交操作系统运行,这次可能pr1先完成,然后pr2、pr3;
下一次却可能是pr2,然后是pr1、pr3。
从这个意义上看,操作系统的工作又带有某种不确定性。
系统外部表现的不确定性是有其内部原因的。
系统内进行的各种活动错综复杂,与这些活动有关的事件,例如从外部设备来的中断、输入、输出请求,程序运行时发生的故障等,发生的时间是不可预测的。
由这些事件组成的事件序列数量巨大,它们可能发生的时间同样也是不能预测的。
所以操作系统需要处理的就是不确定的事件序列。
如果考虑不周、设计不当,则操作系统在处理某一事件序列时可能工作正常,在处理另一事件序列时则出错。
而且这种错误很难复现,同样带有不确定性。
1.4操作系统的性能
在本章的最后,让我们来讨论一下如何对一个操作系统进行评价,一般来说,我们要考虑以下几个方面:
1.4.1可靠性
计算机系统的用户都希望在一个工作稳定、值得信赖的环境中工作,所以一个操作系统最好是绝对可靠,不会产生如何错误的。
但实际上并不存在这种系统。
其主要原因是系统中包含了大量软、硬件,至今还没有一种设计和实施技术能够保证它们永远不发生故障。
另外,系统的使用环境复杂多变,系统操作员和一般用户的各种误动作也可能造成系统工作不正常。
但是,如若在下列几个方面加以努力,则可望产生一个可靠性较好的操作系统。
(1)在设计和实施的各个阶段中采取各种措施,尽可能避免软、硬件故障。
(2)在系统运行过程中,一旦出错要能够及时检测出来,以减少它对系统造成的损害。
(3)检测出错误后要迅速找到造成错误的原因,确定故障位置并采取相应措施排除故障。
(4)尽可能对错误造成的损害进行修复,使系统恢复正常运行。
1.4.2效率
不言而喻,效率是操作系统的一个重要的性能指标。
但到目前为止,还没有一个统一的标准来衡量系统的工作效率。
几种常用的标准是:
吞吐量、各种资源的使用效率、批处理系统的作业周转时间、分时系统的响应时间等。
吞吐量(Throughput)是指一个在固定时间间隔内(例如1小时)解决大、中、小型各类问题的能力,是系统中所有软、硬件在操作系统管理下协同工作的结果。
显然,与CPU速度相比,吞吐量比较全面和客观。
各种资源的使用效率是系统中各个部件、各种设备的使用程度。
它反应了系统内资源的利用状况。
一个系统中如果仅仅是CPU非常忙碌,而其它各种外部设备却常常空闲着,这种状况显然是不能令人满意的,也是很不经济的。
批处理系统的作业周转时间(turn-roundtime)指的是用户从提交作业到获得执行结果所需要的时间,有时也称解题周期。
当然周转时间越短越好。
作业周转时间与计算机系统中各种资源的能力,对这些资源进行管理调度的效能等因素有关。
分时系统的响应时间(responsetime)是指用户通过终端发出命令到系统进行应答所需的时间。
1.4.3可维护性
系统投入工作后,维护人员要对其进行经常性的维护。
例如软、硬件工作情况的测试;
故障的检测和排除;
文件系统的定期复制等。
这些维护工作应该易于进行,要求的工作量比较小。
为了提高可维护性,系统结构应该清晰,具有良好的可读性,并且必须提供完整的说明文件以及配置有较强的系统维护工具等。
除此以外,有时也将可移植性(portability)和系统大小作为评价操作系统效能的另外两个方面。
第二章进程管理
2.1进程基本概念
2.1.1程序的顺序执行
在程序设计中,程序员习惯于用顺序方式编制程序。
例如,一个比较典型的顺序程序是:
先从某一外部设备(例如磁盘)上输入数据,随之一步一步进行计算,最后将计算结果输出。
计算机中的这种程序活动有如下几个特点:
(1)一个程序在机器中运行时独占全机资源,因此除了初始状态外,只有程序本身规定的动作才能改变这些资源的状态。
(2)机器严格地顺序执行程序规定的动作。
每个动作都必须在前一动作结束后才能开始,除了人为干预造成机器暂时停顿外,前一动作的结束就意味着后一动作的开始。
程序和机器执行程序的严格一一对应。
(3)程序的执行结果与它的运行速度无关。
也就是说,处理机在执行程序两个动作之间的停顿不会影响程序的执行结果。
上述特点概况起来就是程序的封闭性和可再现性。
所谓封闭性指的是程序一旦开始运行,其计算结果就只取决于程序本身,除了人为地改变机器的运行状态或机器故障以外,没有其它因素能够对程序的运行过程施加影响。
所谓再现性就是当机器在同一数据集上重复执行同一程序时,机器内部的动作系列完全相同,最后获得的结果也相同。
这种工作方式的特点是简单、清晰、便于调试程序。
2.1.2资源共享和程序的并行运行
为了提高计算机系统内各种资源的使用效率,现代计算机系统设计中普遍采用了多道程序技术。
与单道程序相比,多道程序的工作环境发生了很大变化,主要表现在下列两个方面:
(1)资源共享
资源共享指的是系统中的软、硬件资源不再为单个用户程序独占,而由几道用户程序共同使用。
于是,这些资源的状态就不再取决于一道程序,而是由多道程序的活动所决定。
这就从根本上打破了了一道程序封闭于一个系统中运行的局面。
(2)程序的并发运行
系统中各个部分不再以单纯的串行方式工作。
换言之,在任一时刻系统中不再只有一个活动,而是存在着许多并行的活动。
从硬件方面看,处理机、各种外设、存储部件常常并行地进行着工作。
从程序方面看,则可能有若干个作业程序或者同时、或者互相穿插在系统中并行运行。
这时,机器不再是简单地顺序执行一道程序。
也就是说,一道程序的前一动作结束后,系统不一定立即执行其后续操作,而可能转而执行其它程序的某一操作。
对于程序中可以执行的操作也可能不需要等待另一操作结束,系统就开始执行它们。
这样也就打破了程序执行的顺序性。
同时,多个程序活动可能是在不同的数据集上执行同一个程序,所以程序以及机器执行程序的活动不再有严格的一一对应关系。
2.1.3进程概念的引入和描述
综上所述,可见在多道程序工作环境下,一个程序活动不再能独占系统资源,因此也就不再能单独决定这些资源的状态;
程序和机器执行程序的活动之间也不再有一一对应关系。
总之,程序活动不再处于一个封闭的系统中,而是和其它程序活动之间存在着相互依赖和制约的关系,因而呈现出并发、动态以及相互制约这些新的特征。
在这种情况下,程序这个静态的概念已经不能如实地反映程序活动的这些特征。
为此,六十年代中期MULTICS操作系统的设计者和E.W.Dijkstra为首的T.H.E操作系统的设计者开始广泛应用进程(process)这一新的概念来描述系统和用户的程序活动。
“进程”是操作系统的最基本的,也是最重要的概念之一。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 讲义