操作系统概论doc.docx
- 文档编号:12014938
- 上传时间:2023-04-16
- 格式:DOCX
- 页数:61
- 大小:57.84KB
操作系统概论doc.docx
《操作系统概论doc.docx》由会员分享,可在线阅读,更多相关《操作系统概论doc.docx(61页珍藏版)》请在冰豆网上搜索。
操作系统概论doc
第一章
1.计算机系统:
1定义:
是能按照人的要求接受和自动进行数据处理和计算,并输出结果的机器系统。
2组成:
硬件(子)系统和软件(子)系统,其中硬件子系统是系统赖以工作的实体,它是有关的各种物理部件的有机的结合。
软件子系统由各种程序以及程序所处理的数据组成,这些程序的主要作用是协调各个硬件部件,使整个计算机系统能够按照指定的要求进行工作。
3硬件子系统:
包括中央处理器CPU、存储器、输人输出控制系统和各种外围设备。
4软件子系统:
包括系统软件、支撑软件和应用软件三个部分。
2.操作系统OS:
1定义:
是管理计算机系统资源、控制程序执行、改善人机界面和为应用软件提供支持的一种系统软件。
2作用:
操作系统管理计算机系统的资源;操作系统为用户提供方便的使用接口;操作系统具有扩充硬件的功能。
3操作系统管理哪些资源:
管理计算机系统的资源,其中硬件资源主要包括中央处理器、主存储器和各种外围设备;软件资源包括了程序和数据,通常这些程序和数据是以文件的方式存储和使用的。
它说明资源的使用情况,实现多用户共享计算机系统的各种资源。
4操作系统有哪些基本功能,从资源管理的观点来看:
✓处理器管理。
操作系统按照一定的调度算法分配处理机。
✓存储管理。
负责分配、回收和保护存储单元。
✓文件管理。
涉及到文件存储空间的分配与回收、文件目录管理、文件读写与保护。
✓设备管理。
对设备进行分配、回收与控制。
✓作业管理。
负责作业的调度和作业控制。
✓用户接口。
3.操作系统的形成和基本类型
1推动操作系统发展的动力:
1.不断提高资源利用率的需要2.方便用户操作3.硬件的不断更新换代4.计算机体系结构的不断发展。
2批处理操作系统:
✓“单道批处理系统”:
每次只允许一个作业执行。
一批作业的程序和数据交给系统后,系统顺序控制作业的执行,当一个作业执行结束后自动转入下一个作业的执行。
✓“多道批处理系统”:
允许若干个作业同时装入主存储器,使一个中央处理器轮流地执行各个作业,各个作业可以同时使用各自所需的外围设备。
✓多道批处理系统提高了计算机系统的资源使用率,但作业执行时用户不能直接干预作业的执行。
但作业执行中发现出错,由操作系统通知用户重新修改后再次装入执行
3分时操作系统(简称分时系统)1)分时操作系统是多个用户通过终端机器同时使用一台主机,这些终端机器链接在主机上,用户可以同时与主机进行交互操作而不干扰。
它以时间片为单位轮流使用计算机中某一资源的系统。
2)分时操作系统的主要特点:
同时性、独立性、及时性、交互性。
4实时操作系统1)计算机系统接收到外部信号后及时进行处理,并且要在严格的时限内处理完接收的事件并且给出反馈信号的系统称为实时系统。
2)实时操作系统的主要特点:
快速响应,及时处理;高可靠性和安全性。
3)实时操作系统的及时性更强。
5批处理操作系统、实时操作系统和分时操作系统各有什么特点?
✓批处理操作系统是将一批作业的程序和数据交给系统后,系统顺序控制作业的执行,当一个作业执行结束后自动转入下一个作业的执行。
多道批处理操作系统,允许若干个作业同时装入主存储器,处理器轮流地执行各个作业,各个作业同时使用各自所需的外围设备。
✓实时操作系统接收到外部信号后及时进行处理,并且要在严格的时限内处理完接收的事件。
实时操作系统要求要有比分时操作系统更强的及时性。
可靠性是实时系统最重要的设计目标之一。
✓分时操作系统的主要特点是:
①交互性。
用户能够直接与计算机系统交互。
②及时性。
由于支持人机交互,所以主机应该尽快地对用户的要求给予响应。
③独立性。
这主要是指多个用户虽然在同时使用主机系统,但是他们相互之间是不干扰的。
④多路性。
分时操作系统在宏观上看,整个系统同时在为多个用户服务。
4.前台作业和后台作业:
在批处理兼分时的系统中,由分时系统控制的作业称为前台作业;由批处理系统控制点作业称为后台作业。
5.操作系统的发展
1微机操作系统的主要功能是实现文件管理、输入/输出控制和命令的解释。
系统每次只允许一个用户使用计算机,称为“单用户操作系统”。
如CP/M,MS-DOS等。
操作系统提供给用户的接口是“命令语言”,用户通过键盘或鼠标输入命令请求操作系统服务。
2网络操作系统(NOS):
把为计算机网络配置的操作系统称为网络操作系统。
网络操作系统的主要功能是实现各台计算机系统之间的通信以及网络中各种资源共享。
3分布式操作系:
是由多台计算机组成的一种特殊的计算机网络。
分布式操作系统采用客户/服务器模式(C/S)。
主要特点:
统一性、透明性。
4嵌入式操作系统:
是指运行在嵌入式(计算机)系统中对各种部件、装置等资源进行统一协调、处理和控制的系统软件。
主要特点:
微型化和实时性。
5网络操作系统与分布式操作系统的异同:
同:
1)都是安装在计算机网络上的操作系统;2)都能实现资源共享和通信。
异:
1)是否有主次之分。
网络操作系统有,但分布式操作系统没有。
2)是否共同完成一项任务。
分布式操作系统是,但网络操作系统不是。
6当前流行的操作系统简介:
✓Windows:
多用户、多任务、图形化、窗口式的操作系统。
✓UNIX:
多用户、多任务、分时操作系统。
UNIX的主要特点:
①短小精悍;②具有可装卸的多层次文件系统;③可移植性好;④网络通信功能强。
UNIX是目前唯一可以安装和运行在从微机、工作站、大型机到巨型机上的操作系统。
✓Linux:
多用户、多任务、通用操作系统。
继承了UNIX的优点,Linux的特点:
支持TCP/IP网络协议,并能与其他网络集成,使异种机能方便地入网;它支持并行处理和实时处理,能充分发挥硬件性能;它支持多种文件系统,方便用户使用,等等。
6.处理器的工作状态
1特权指令:
✓把CPU执行的指令分成两类:
特权指令和非特权指令。
✓把不允许用户程序中直接使用的指令称为特权指令,其余的为非特权指令。
例如,I/O指令、设置时钟、设置控制寄存器、停机指令、设置中断屏蔽、传送PSW的指令等都是特权指令。
✓I/O指令只允许在操作系统中使用,不允许在用户程序中使用。
若用户程序直接使用这些指令,则可能引起冲突或由于某些意外而造成错误。
✓为什么要把“I/O指令”等定义为特权指令:
若用户程序中直接使用I/O指令,则可能引起冲突或由于某些意外而造成错误。
例如,用户程序中要启动磁带后取磁带上的,但可能操作员错拿了另一用户的磁带,把它以磁带机上,这时用户程序启动磁带机后从磁带上得到的实际上不是自己需要的,就可能造成程序执行后得到结果不正确。
更糟糕的是当用户程序启动磁带机的目的是要把一些记到磁带上,将可能覆盖已在磁带上的,即把另一用户磁带上的破坏了。
为了防止类似于这样一类的错误启动外围设备的工作不是用户程序直接做,而是由操作系统来做。
2管态和目态:
✓为避免用户程序中错误地使用特权指令,计算机硬件结构中的中央处理器具有两种工作状态:
目态和管态。
系统程序运行的状态为管态(包括特权指令)。
用户程序运行的状态为目态。
✓操作系统是如何防止用户使用特权指令的:
为了防止用户程序中使用特权指令,计算机硬件结构区分两种操作模式:
目态和管态,其中目态下只能使用除特权指令以外的指令,管态下可以使用全部指令。
当在目态下使用特权指令时,硬件就发出信号:
“程序使用非法指令”,且不允许程序继续执行下去。
所以可以把用户程序置在目态下运行,而操作系统中必须使用特权指令的那部分程序可在管态下运行,这样可保证计算机系统的可靠。
3程序状态字(PSW):
是用来控制指令执行顺序并且保留和指示与程序有关的系统状态。
包含三部分:
1)程序基本状态(指令地址、条件码、目态/管态、等待/计算)2)中断码3)中断屏蔽位。
7.操作系统与用户的接口:
1操作系统提供了两类接口:
程序员接口(为用户程序提供服务功能)和操作员接口(为用户提供控制作业执行的途径;)。
2什么是访管指令?
常见的有:
访管指令不是特权指令,既可在管态下执行,又可在目态下执行,主要功能是自愿进管,引起访管中断。
例如,INT,drop。
3系统调用:
✓定义:
操作系统编制了许多不同功能的子程序,供用户程序执行中调用。
这些由操作系统提供的子程序称为系统功能调用程序。
✓为什么提供系统调用:
系统调用是操作系统为用户程序提供的一种服务界面,或者说,是操作系统保证程序设计语言能正常工作的一种支持。
在源程序一级,用户用程序设计语言描述算题任务的逻辑要求,例如读文件、写文件、请求主存资源等。
这些要求的实现只有通过操作系统的系统调用才能完成,其中有些要求还必须执行硬件的特权指令(如I/O指令)才能达到目的。
✓用户程序执行时,若取了访管指令,CPU将转入了管态。
当系统调用程序后,CPU回到了目态。
8.操作系统提供了让联机用户表示作业执行步骤的手段:
操作控制命令、作业控制语言。
第二章
1.多道程序设计
1程序的顺序执行:
一个计算的若干操作必须按照严格的先后次序顺序地执行的这类计算过程。
(首先输入用户的程序和数据——然后进行计算——最后打印计算结果)。
2程序的并行执行
✓处理器和外围设备能够并行
✓分成三个可独立执行的程序模块:
输入程序,处理程序,打印程序
✓输入机,处理机,打印机并行工作
3多道程序设计:
让多个算题同时进人一个计算机系统的主器并行执行,这种程序设计方法称为“多道程序设计”。
对具有处理器与外围设备并行工作能力的计算机采用多道程序设计后,能充分发挥处理器的使用效率,增加单位时间内的算题量,提高整个系统的效率。
2.进程
1定义:
把一个程序在一个数据集上的一次执行,由程序、数据集和进程控制块组成。
2进程与程序的区别:
程序是静止的,进程是动态的。
进程包括程序和程序处理的对象(数据集),进程能得到程序处理的结果。
进程和程序并非一一对应的,一个程序运行在不同的数据集上就构成了不同的进程。
通常把进程分为“系统进程”和“用户进程”两大类,把完成操作系统功能的进程称为系统进程,而完成用户功能的进程则称为用户进程。
3为什么引入进程
✓提高资源的利用率;
✓正确描述程序的执行情况。
4进程的属性
✓进程是动态的,包括数据集和运行在数据集上的程序
✓多个进程可以含有相同的程序
✓多个进程可以并发执行
✓进程有三种基本状态:
a)等待态:
等待某个事件的完成;
b)就绪态:
等待系统分配处理器以便运行;
c)运行态:
占有处理器正在运行
✓进程状态变迁
a)运行态→等待态:
正在运行的进程等待某事件的发生,如:
申请资源得不到满足,出现故障(程序错误、主存错误等),变成等待干预状态。
b)等待态→就绪态:
正在等待的事件完成,等待态的进程被唤醒。
如:
外围设备工作结束;等待的资源得到满足;故障排除后等待干预的进程结束等待。
c)运行态→就绪态:
正在运行的进程时间片到,由执行转为就绪。
CPU被高优先级的进程抢占,正在运行的进程就被迫进入就绪态。
d)就绪态→运行态:
有多个进程等待分配处理器时,系统按照一个的策略从多个处于就绪态的进程中选择一个,让它占用处理器,被选中的进程的状态就变成了运行态。
✓列举进程状态发生变化的事件。
a)引起就绪态=>运行态的变迁的事件有:
✧正在运行的进程时间片到而进入就绪队列。
✧正在运行的进程因为等待某个事件而转入等待状态时。
✧正在运行的进程出现故障或正常完成时。
✧就绪队列中出现更高优先数的进程抢占CPU时。
b)引起运行态=>就绪态的变迁的事件有:
✧正在运行的进程时间片到,由执行转人就绪。
✧CPU被高优先数的进程抢占,正在运行的进程被迫转人就绪。
c)引起运行态_等待态的变迁的事件:
✧正在运行的进程等待某种事件的发生时。
如一个进程运行中启动了外围设备,等待外围设备传输;
✧进程在运行中申请(主存空间、外围设备)得不到满足变成等待状态;
✧进程在运行中出现了故障(程序错、主存错等)变成等待干预状态。
d)引起等待态=>就绪态的变迁的事件:
✧正在等待的事件完成时,等待态的进程被唤醒。
如外围设备工作结束,使等待外围设备传输结束等待;
✧等待的资源得到满足(另一进程归还);故障排除后等待干预的进程结束等待。
3.进程控制块
1定义:
PCB,是操作系统为进程分配的用于标志进程,记录各进程执行情况的。
进程控制块是进程存在的标志,它记录了进程从创建到消亡动态变化的状况,进程队列实际也是进程控制块的链接。
操作系统利用进程控制块对进程进行控制和管理。
2基本内容:
包含四类信息:
✓标志信息:
用于标识一个进程。
✓说明信息:
用于说明进程情况。
✓现场信息:
用于保留当前运行进程暂时让出处理器时存放在处理器中的各种信息,以便能在继续运行时得以恢复。
✓管理信息:
用于管理进程。
3作用:
✓记录进程的有关信息,以便操作系统的进程调度程序对进程进行调度。
这些信息包括标志信息、说明信息、现场信息和管理信息等;
✓标志进程的存在,进程控制块是进程存在的唯一标志。
4控制进程的原语:
✓创建原语:
为一个程序分配一个工作区和建立一个PCB,并置该进程为就绪态;
✓撤销原语:
一个进程完成工作后,,收回工作区和PCB;
✓阻塞原语:
进程运行过程中发生等待事件时,把进程状态改为等待态;
✓唤醒原语:
当等待的事件发生时,进程状态改为就绪态。
4.进程队列
1定义:
把处于相同状态的进程链接在一起。
2进程队列的链接:
在多道程序设计的系统中往往会同时创建多个进程.在单处理器的情况下,每次只能让一个进程运行,其他的进程处于就绪状态或等待状态。
为了便于管理,经常把处于相同状态的进程链接在一起,称“进程队列”,由于进程控制块能标志进程的存在和动态刻画进程的特性,因此,进程队列可以用进程控制块的连接来形成。
链接的方式有两种:
单向链接和双向链接。
3进程基本队列:
✓就绪队列:
由若干就绪进程按一定次序链接起来的队列。
✓等待队列:
把等待资源或等待某些事件的进程排列的队列
4进程的入队和出队:
✓出队和入队:
当发生的某个事件使一个进程的状态发生变化时,这个进程就要退出所在的某个队列而排入到另一个队列中去。
✓出队:
一个进程从所在的队列退出的操作称为出队
✓入队:
一个进程排入到一个指定的队列的操作称为入队。
✓队列管理:
系统中负责进程入队和出队的工作。
✓无论单向链接还是双向链接,解决入,出队问题,都是首先找到该队列的队首指针,沿链找出要入队的进程以及它要插入的位置,或找出要出队的进程,然后修改本进程指针(入队情况)和相邻进程的有关指针值即可。
£假定就绪状态的进程按其优先数自小到大顺序排成队列,当有一进程要进入就绪队列时,应按照它的优先数排在相应的位置上,试写出进程入队程序。
→将就绪进程的进程控制块按照从小到大顺序排成队列,当一进程就绪时,应把它的进程控制块按优先数插入就绪队列。
考虑单向链接方式,入队过程如下:
varhead,p,q,addpcb:
link;
begin
ifhead=nil
thenbegin
head:
=addpcb;
head↑.next:
=nil
end;
elsebegin
P:
=head;
whileP<>nillandaddpcb↑.Pri<=P↑.Pri
dobegin
q:
=p;
p:
=p↑.next
end;
q↑.next:
=addpcb;
add↑.next:
=p
end;
end;
5.中断和中断处理:
1中断定义:
由于某些事件的出现,中止现行进程的运行,而由操作系统去处理出现的事件,待适当的时候再让被打断的进程继续运行的过程。
✓中断源:
引起中断的事件。
✓中断处理程序:
对出现的事件进行处理的程序。
2中断类型:
从中断事件的性质出发,中断可以分为两大类:
✓强迫性中断事件:
由于外界的原因迫使正在运行的进程被打断而引起的中断,包括:
✧硬件故障中断;
✧程序中断;
✧外部中断;
✧输入/输出中断。
✓自愿性中断事件:
是由正在运行的进程执行一条访管指令用以请求系统调用而引起的中断,这种中断也称为“访管中断”。
✓自愿中断的断点是确定的,而强迫性中断的断点可能发生在任何位置。
3中断响应:
✓定义:
处理器每执行一条指令后,硬件的中断位置立即检查有无中断事件发生,若有中断事件发生,则暂停现行进程的执行,而让操作系统的中断处理程序占用处理器的过程。
✓中断装置要做以下三项工作:
♒是否有中断事件发生
♒判别自愿性中断,只要检查操作码是否为访管指令。
♒判别强迫性中断,则要检查中断寄存器内容。
若为0,则无中断;若非0,则表示有中断事件发生。
♒若有中断发生,保护断点信息。
✓程序状态字:
Ø每个程序都有一个程序状态字(PSW)来反映本状态的执行状态,如基本状态、中断码和中断屏蔽位等内容。
Ø处理器设有一个“程序状态字寄存器”用来存放当前运行程序的PSW.程序状态字可分为当前PSW、旧PSW和新PSW。
Ø当出现中断事件后,把被中断进程的PSW保存为旧PSW,即完成断点信息保护。
Ø启动操作系统的中断处理程序工作。
Ø中断装置通过“交换PSW”过程完成此项任务,即把出现的中断事件存放到当前PSW中断码位置,然后把该当前PSW保存为旧PSW,再把操作系统中断处理程序的新PSW送到程序状态字寄存器中,成为当前的PSW。
4中断处理:
✓处理进行:
♒保护好被中断进程的现场信息;
♒根据旧PSW中指示的中断事件进行具体处理
✓处理原则:
♒硬件故障中断事件的处理;
♦必须进行人工干预
♦只能输出提示信息
♦中断的进程→等待干预态
♦排除故障,重新启动→就绪态
♒程序中断事件的处理;
♦与程序的具体编制有关,不同用户有不同要求;
♦中断处理程序把出现的事件交给用户;
♦若用户没有提出解决办法,将事件报告给操作员。
♒外部中断事件的处理;
♦控制台中断:
根据中断键的编号将处理送给一个例行程序;
♦时钟中断
♒输入/输出中断事件的处理;由I/O设备的控制器或者通道发出,
♦I/O操作正常结束:
如果要继续I/O操作,需要在准备好以后重新启动I/O,若请求I/O进程正处于等待I/O状态,则应将其唤醒。
♦I/O异常结束:
需要重新执行失败的I/O操作;重试次数有上限,次数过大,系统将判定硬件故障。
♒访管中断事件的处理
♦通过系统调用使用操作系统的功能;
♦系统调用程序入口表,找到相应的例行程序
£硬件发现中断事件后应做哪些工作?
✶首先把出现的中断事件存放到程序状态字寄存器中的中断码位置,
✶然后把程序状态字寄存器中的“当前PSW”作为“旧PSW”存放到预先约定好的主存固定单元中保护起来,
✶再把已经确定好的处理程序的“新PSW”送到程序状态字寄存器,成为“当前PSW”,这一过程称“PSW”。
中断装置通过交换PSW使被中断进程让出处理器,且使处理器按照中断处理程序的“新PSW”控制执行。
✶于是中断处理程序就占用了处理器,它先从保存好的旧PSW中取出中断码,分析发生的具体事件,从而可完成对中断事件的处理。
£中断处理程序应做哪些主要工作?
✶保护尚未被硬件保护的现场,如通用寄存器内容,控制寄存器内容;
✶设置中断屏蔽,使硬件只能响应比当前级别高的中断事件,而不响应其他事件;
✶按不同中断事件进行不同处理;
✶对事件处理结束后,转向进程调度程序。
由进程调度程序去选择一个可以运行的进程。
6.处理器调度
1处理器的两级调度:
✓作业调度:
宏观调度,对存放在辅存设备上的大量作业,以一定的策略进行挑选,分配主存等必要的资源,建立作业对应的进程,使其投入运行。
✓进程调度:
在装入作业时就为每个作业创建一个进程,这些进程的初始状态都为“就绪态”,从就绪态中选取一个进程,让他们占用处理器,就是进程调度。
也称处理器调度。
✓进程调度怎样使被选中的进程能占用处理器:
进程设计通过将选中进程的进程控制块中有关的现场,如通用寄存器、控制寄存器和程序寄存器的内容送入处理器相应的处理器中,来使该进程占有处理器。
✓比较进程调度与作业调度的不同点:
作业调度是宏观调度,它决定了哪一个作业能进入主存。
进程调度是微观调度,它决定各作业中的哪一个进程占有中央处理器;作业调度是选符合条件的收容态作业装入主存。
进程调度是从就绪态进程中选一个占用处理器。
✓作业调度选择作业的必要条件:
不同的计算机系统可以采用不同的规则来进行作业调度,但不管怎么样,都必须遵循一个必要条件,即系统现有的尚未分配的资源可以满足被选作业的资源要求。
只有这样,才能避免进入主存储器的作业因得不到资源而无法执行的现象,才能保证系统有较高的吞吐量。
✓进程调度怎样使被选中的进程能占用处理器?
→进程调度程序按照某种调度算法从就绪状态的进程中选择一个进程,把被选中的进程控制块中有关的现场信息,如通用寄存器、控制寄存器、程序状态寄存器等的内容选入处理器响应的寄存器中,从而使它占用处理器运行。
2作业调度算法:
✓考虑原则:
♒公平性;
♒平衡资源的使用;
♒极大的流量。
✓目标:
提高系统效率,使进入系统的作业及时得到计算结果。
✓作业调度算法性能的衡量:
采用平均周转时间和平均带权周转时间来衡量作业调度算法性能的好坏。
◆周转时间:
一个作业提交给计算机系统到该作业的结果返回给用户所需要的时间。
◆定义:
Ti=Ei–Si (Ti—作业i的周转时间;Si—作业i进入输入井的时间;Ei—作业i的完成时间)
◆意义:
说明作业i在系统中停留时间的长短。
◆
平均周转时间:
T=
✓常用的作业调度算法:
♒先来先服务算法FCFS:
♦策略:
按作业来到的先后次序进行调度。
♦特点:
简单,易实现,可能使短作业等待长时间。
♒计算时间短的作业优先算法
♦策略:
按作业请求运行的时间长短进行调度
♦特点:
易实现,系统吞吐量高;只照顾短作业,而没有考虑长作业的利益
♒响应比高者优先算法
♦响应比=等待时间/计算时间
♦策略:
按作业的响应比进行调度
♦特点:
既优先短作业,又考虑长作业能执行
♒优先级调度算法:
设置作业的优先级别,优先级高的先选取,同级别的按先来先服务原则调度。
♒均衡调度算法:
从不同类的作业中去挑选作业,尽可能使得使用不同资源的作业同时执行。
£在一个单处理器多道程序设计系统中,现有两道作业在同时执行,一道以计算为主,另一道以输入输出为主,你将怎样赋予作业进程占有处理器的优先级?
为什么?
→应该让输人输出为主的作业具有较高的优先级。
当这种作业先占用处理器执行时,因常常要启动外围设备,一旦启动外围设备,它就会让出处理器,另一道作业就可占用处理器,使处理器和外围设备都处于忙状态。
3进程调度算法:
✓进程调度的职责:
按选定的进程调度算法从就绪队列中选择一个进程,让它占用处理器。
✓选择进程调度算法的几个准则:
♦提高处理器利用率
♦增大吞吐量
♦减少等待时间
♦缩短响应时间
✓进程的切换:
进程调度将从就绪队列中另选一个进程占用处理器,使一个进程让出处理器,由另一个进程占用处理器的过程称“进程切
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 概论 doc
![提示](https://static.bdocx.com/images/bang_tan.gif)