操作系统概念Word格式.doc
《操作系统概念Word格式.doc》由会员分享,可在线阅读,更多相关《操作系统概念Word格式.doc(7页珍藏版)》请在冰豆网上搜索。
5用户接口。
2操作系统的主要特征:
1并发性:
两个或多个事件在同一时刻发生;
2共享性:
系统中多个资源可供内存中多个并发执行的进程共同使用,有互斥和同步两种共享方式;
3虚拟性:
将一个物体影射为若干个逻辑实体;
4不确定性:
又称异步性,a程序执行结果不确定,程序执行结果不能再现,b多道程序设计环境下,程序按异步方式运行。
1操作系统的结构包括1内核,2核外部分,它通常是一些实用程序。
1传统的操作系统结构设计模式(针对单处理机)1整体式结构设计模式;
2层次式结构设计模式;
3、模块化结构设计模式。
2现代的操作系统结构设计模式(针对多处理机)1客户/服务器模式2面向对象技术3对称多处理模式。
1操作系统的分类:
单用户(微机)操作系统;
批处理系统;
分时系统;
网络操作系统;
分布式操作系统;
多处理机操作系统。
2批处理系统:
操作员把用户提交的作业分类,把一批作业编成一个作业执行序列,由专门编制的监督程序(monitor)自动依次处理。
为了提高资源利用率和系统吞吐量
3批处理系统特点:
用户脱机使用计算机、成批处理、多道程序运行。
1分时系统:
两个或两个以上的事件按时间划分轮流地使用计算机系统的某一资源。
在一个计算机系统中如果多个用户分时地使用同一计算机,那么这样的计算机系统就称为分时系统。
2.分时系统的实现原理
3.分时系统的特点:
1)同时性,若干用户可以同时操作,共同使用统一系统的资源。
2)独立性:
用户各占一个终端,感觉像独占主机;
3)及时性:
用户请求能在容许的响应周期内及时获得响应,响应周期通常在3秒以内;
4)交互性:
用户通过终端与系统进行广泛的人机对话,以请求系统提供多方面的服务。
程序顺序执行:
程序执行时,必须按某种先后次序,只有当前操作完成后才能执行后继操作,它体现了某种算法。
程序的并发执行:
在一定时间内物理机器上有两个或两个以上的程序同处于开始运行但尚未结束的状态,并且次序不是事先确定的。
并发执行是指两个程序的执行在时间上是重叠的。
多个程序的并发执行:
宏观上同时处于运行状态微观上各程序交替地间断运行。
资源共享:
系统中硬件和软件资源不再为单个用户程序所独占,而由几个用户程序共同使用。
程序并发执行和资源共享是现代操作系统的基本特性,它们之间互为依存。
并发的特征:
1失去了程序的封闭性2程序和机器执行程序的活动不再一一对应3)并发程序间的相互制约.
进程:
程序的一次执行,该程序可与其它程序并发执行。
由程序、数据集合和进程控制块三部分组成。
程序部分描述了进程所要完成的功能;
数据集合包括程序在执行时所需要的数据和工作区;
进程控制块(PCB):
用来描述进程当前状态的数据结构,是进程的动态特性的集中反映。
随着进程的创建而产生,进程的撤销而被收。
PCB应包含如下一些信息:
进程表示名或标示数,位置信息,状态信息,进程的优先级,现场保护区,资源清单,队列指针或链接字,进程同步和通信等其它信息。
进程的特征:
1结构性,由程序+数据+进程控制块组成了进程实体,称之为进程映像。
进程控制块是进程存在的标志;
2动态性,进程是进程实体的执行过程,它由创建而产生,由调度而执行,因某事件而暂停,由撤销而消亡。
在生命周期内,进程在三种基本状态之间动态转换;
3并发性,多个进程同时存于内存中,一起向前推进,并发执行;
4独立性,进程是独立获得资源和独立调度的基本单位;
5异步性,各进程都各自独立的不可预知的速度向前推进
程序与进程之间的区别:
进程更能真实地描述并发,而程序不能;
进程是由程序、数据和进程控制块三部分组成的;
程序是静态的,进程是动态的;
进程有生命周期,有诞生有消亡,短暂的;
而程序是相对长久的;
一个程序可对应多个进程,反之亦然;
进程具有创建其他进程的功能,而程序没有。
进程的调度状态:
1运行状态:
进程占有CPU,并在CPU上运行2就绪状态:
一个进程已经具备运行条件,但由于无CPU暂时不能运行的状态(当调度给其CPU时,立即可以运行)3阻塞状态:
指进程因等待某种事件的发生而暂时不能运行的状态(即使CPU空闲,该进程也不可运行)
创建、撤消进程以及完成进程各状态之间的转换。
由具有特定功能的原语完成。
内核的各项功能是通过执行原语来实现的
原语的定义是指若干条机器指令构成的并用以完成特定功能的一段程序,这段程序在执行期间是不可分割的。
由以下原语完成:
进程创建原语,进程撤消原语,阻塞原语、唤醒原语,挂起原语、激活(解挂)原语
进程图是用于描述进程家族关系的有向图,子进程可以继承父进程所拥有的资源。
运行程序请求提供服务(如:
打印文件),由OS创建4)运行中进程因自己的需要,由它自己创建子进程
进程的创建过程:
一旦发现了要求创建新进程的事件,OS便调用创建原语,按以下过程创建新进程。
1)分配一个唯一的进程标识符,索取一个空白PCB2)为新进程的程序和数据分配内存空间3)初始化进程控制块,初始化标识符信息(填入)、处理机的状态信息(指令指针,栈指针)和控制信息(状态,优先级...)4)设置相应的链接,把新进程加到就绪队列的链表中
交通控制程序:
主要职能是管理进程状态之间的转变和协调进程间的通讯。
大多数的操作系统并未单独设置交通控制程序,而是将其功能分散到各处,以原语或广义指令的面貌出现。
进程调度程序:
在进程状态变化中,从就绪到运行的转变由有一个专门的程序来完成的,该程序称为进程调度程序。
进程调度方式
(1)非剥夺方式,在非剥夺方式下,调度程序一旦把CPU分配给某一进程后便让它一直运行下去,直到进程完成或发生某事件而不能运行时,才将CPU分给其它进程。
这种调度方式通常用在批处理系统中。
它的主要优点是简单、系统开销小。
(2)剥夺方式与非剥夺方式不同,这种方式规定,当一个进程正在执行时,系统可以基于某种策略剥夺CPU给其它进程。
剥夺的情况有:
优先级策略和时间片策略。
显然这种调度方式通常用在分时系统和实时系统中,以便及时响应各进程的请求。
进程调度的时机是指什么情况下引起进程调度程序工作。
进程调度的时机是与进程调度的方式有关的。
进程调度的时机如下1正在执行的进程正确完成,或由于某种错误而终止运行(陷阱或中断)2)执行中的进程提出I/O请求,等待I/O完成时;
3)在分时系统中,按照时间片轮转,分给进程的时间片用完时4)按照优先级调度时,有更高优先级进程变为就绪时(剥夺方式)5)在进程通讯中,执行中的进程执行了某种原语操作,如P操作、阻塞原语和唤醒原语时,都可能引起进程调度。
由于共享资源,使得系统中本来没有逻辑关系的进程,因相互竞争资源而产生了制约关系。
这种因共享资源而使并发执行的各进程之间产生的关系,叫做互斥关系(间接制约关系)这种关系可以用进程-资源-进程”来描述。
通常,一个用户作业要涉及一组并发进程(输入、计算和输出进程),这些进程必须相互协作共同完成这项任务。
具体说,在运行过程中,某进程可能要在某些同步点上等待另一伙伴(协作进程)为它提供消息,在未获得消息之前,该进程处于等待状态,获得消息后被唤醒进入就绪态,此后,才能继续运行。
进程之间的这种制约关系叫做直接制约关系,又叫同步关系。
这种关系可用“进程-进程”来描述。
临界资源(互斥资源):
系统中一次只允许一个进程访问的资源。
这些资源既包括I/O设备,如打印机等资源,也包括软件资源,如共享变量、共享文件等。
临界区(互斥区):
并发执行的进程中,访问临界资源的必须互斥执行的程序段叫临界区。
临界区分散在每个要并发执行的进程中,它们都对某个共享的数据结构(共享资源)进行访问。
通信过程:
发送进程在自己的空间里制造一个消息,用发送原语将此消息发送出去;
接收进程在自己的空间里开辟一个空间区,利用接收原语将此消息复制到消息队列对首指针指定的接收区
信箱通讯,信箱用于存放信件,而信件是一进程发送给另一进程的消息。
信箱为接收进程所拥有。
信箱的数据结构:
信箱名:
boxname;
信箱大小:
boxsize;
已存信件数:
mesnum,接收进程的私用信号量,初值0;
空的格子数:
fromnum,发送进程的私用信号量,初值为格子数;
用发送和接受原语实现:
1)Send(boxname,msg)根据boxname找到信箱;
判断信箱是否有空格子p(fromnum):
若有则按第二个参数指出的地址把信件送入该信箱。
2)Receive(boxname,msg)1)根据boxname找到信箱;
2)判断信箱中是否有信件P(mesnum):
若有则取出一封信放入按第二个参数给出的进程中。
死锁:
一组进程中,每个进程都无限等待被该组进程中另一进程所占有的资源,因而永远无法得到的资源,这种现象称为进程死锁,这一组进程就称为死锁进程
说明:
参与死锁的进程最少是两个;
参与死锁的进程至少有两个已经占有资源;
参与死锁的所有进程都在等待资源。
注:
如果死锁发生,会浪费大量系统资源,甚至导致系统崩溃。
死锁产生的原因1.竞争资源引起2.进程推进顺序不当引起,对资源采用“申请--分配--使用--释放”模式,由于推进顺序不当两进程都要申请对方已占有的资源
永久性资源:
可以被多个进程多次使用(可再用资源)
剥夺性资源(CPU、内存)非剥夺性资源(磁带机、打印机)争非剥夺性资源会引起死锁
临时性资源:
只可使用一次的资源;
如信号量,中断信号,同步信号等(可消耗性资源)。
竞争临时性资源也会引起死锁
产生死锁的四个必要条件1)互斥条件(资源独占):
一个资源每次只能给一个进程使用;
2)不可剥夺条件(不可强占):
资源申请者不能强行的从资源占有者手中夺取资源,资源只能由占有者自愿释放;
3)请求和保持条件:
(部分分配,占有申请)在申请新的资源的同时保持对原有资源的占有。
4)循环等待条件:
存在一个进程-等待资源环形链{P1,P2,…,Pn},其中P1等待P2占有的资源,P2等待P3占有的资源,…,Pn等待P1占有的资源。
对死锁采取的对策:
鸵鸟策略,采取不理睬的策略;
预防策略,破坏死锁的四必要条件;
避免策略,精心地分配资源,动态地回避死锁;
检测和解除,一旦发生死锁,及时检测出来,并采取措施解除死锁。
死锁的预防,系统设计时确定资源分配算法,保证不发生死锁。
做法是破坏产生死锁的四个必要条件之一。
1.破坏“不可剥夺”条件,在允许进程动态申请资源前提下规定,一个进程在申请新的资源不能立即满足而变为等待状态之前,必须释放已占有的全部资源,若需要再重新申请。
2.破坏“请求和保持”条件,要求每个进程在运行前必须一次性申请它所要求的所有资源,且仅当该进程所要资源均可满足时才给予一次性分配。
3.破坏“循环等待”条件,采用资源有序分配法:
把系统中所有资源编号,进程在申请资源时必须严格按资源编号的递增次序进行,否则操作系统不予分配。
4、破坏“互斥性”条件,允许一个资源可由多个进程同时使用。
缺点:
对有的资源行不通,例如打印机
死锁定理:
如果资源分配图中没有环路,则系统中没有死锁,如果图中存在环路则系统中可能存在死锁。
如果每个资源类中只包