第一章 操作系统引论.docx

上传人:b****2 文档编号:2259160 上传时间:2022-10-28 格式:DOCX 页数:17 大小:32.54KB
下载 相关 举报
第一章 操作系统引论.docx_第1页
第1页 / 共17页
第一章 操作系统引论.docx_第2页
第2页 / 共17页
第一章 操作系统引论.docx_第3页
第3页 / 共17页
第一章 操作系统引论.docx_第4页
第4页 / 共17页
第一章 操作系统引论.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

第一章 操作系统引论.docx

《第一章 操作系统引论.docx》由会员分享,可在线阅读,更多相关《第一章 操作系统引论.docx(17页珍藏版)》请在冰豆网上搜索。

第一章 操作系统引论.docx

第一章操作系统引论

第一章操作系统引论

操作系统的目标有方便性,有效性,可扩充性,开放性。

操作系统的作用有:

作为用户与计算机硬件系统之间的接口,作为计算机系统资源的管理者,用作扩充机器。

用户使用计算机的三种方式:

命令方式,系统调用方式,图形、窗口方式。

资源分为四种:

处理器,存储器,I/O设备,信息(数据和程序)。

推动操作系统发展的主要动力有:

不断提高计算机资源利用率,方便用户,器件的不断更新换代,计算机体系结构的不断发展。

操作系统同计算机系统发展的几个阶段:

无操作系统的计算机系统,单道批处理系统,多道批处理系统,分时系统,实时系统。

操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。

分时系统是指,在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。

实时系统是指,系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。

实时任务可分为周期性实时任务和非周期性实时任务,也可分为硬实时任务和软实时任务。

操作系统都具有四个基本特征:

(程序)并发,(资源)共享,虚拟和异步。

并行性指两个或多个事件在同一时间发生,并发性指两个或多个事件在同一时间间隔内发生。

共享指系统中地资源可供内存中多个并发执行的进程(线程)共同使用,可分为互斥共享方式和同时访问方式。

虚拟指通过某种技术把一个物理实体变为若干个逻辑上的对应物。

如果n是某物理设备所对应的虚拟的逻辑设备数,则虚拟设备的平均速度必然是物理设备速度的1/n。

操作系统的功能:

处理机管理,存储器管理,设备管理和文件管理。

处理器管理包括:

进程控制,进程同步,进程通信,调度。

存储器管理包括:

内存分配,内存保护,地址映射,内存扩充。

设备管理包括:

缓冲管理,设备分配,设备处理。

文件管理包括:

文件存储空间管理,目录管理,文件的读写管理和保护。

操作系统向用户提供的接口有:

命令接口,程序接口,图形接口。

操作系统的结构发展:

无结构,模块式结构,层次式结构,微内核OS结构。

软件,是指当计算机运行时,能提供所要求的功能和性能的指令和程序的集合。

微内核技术,是指精心设计的、能实现现代OS核心功能的小型内核,它与一般的OS(程序)不同,它更小更精炼,它不仅运行在核心态,而且在开机后常驻内存,它不会因内存紧张而换出内存来。

微内核提供的通常都是一些最基本的功能:

进程管理,存储器管理,进程通信管理,低级I/O功能。

第二章进程管理

程序顺序执行的特征:

顺序性,封闭性,可再现性。

前趋图是一个有向无循环图,DAG,用于描述进程之间执行的前后关系。

进程的实体由程序段、相关的数据段和进程控制块PCB构成。

创建和撤消进程都是指创建或撤消进程中的PCB。

进程具有结构性、动态性、并发性、独立性和异步性的特征。

进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。

进程的三种基本状态是就绪状态、执行状态和阻塞状态(等待状态)。

(见P31图2-5)

系统根据PCB控制进程,PCB是进程存在的唯一标志。

PCB常驻内存,系统将所有PCB组织成若干链表(或队列),存放在操作系统专门开辟的PCB区内。

进程控制块PCB主要包括四方面的信息,进程标识符(内部标识符和外部标识符),处理机状态(一些寄存器中断时的信息),进程调度信息,进程控制信息。

进程控制块的组织方式通常有链接方式(指针链接)和索引方式(索引表)两种。

PCB中都设置了家族关系表项,以标明自己的父进程及所有的子进程。

进程创建进程的典型事件可分为四类:

用户登录,作业调度,提供服务,应用请求。

进程创建步骤:

1申请空白PCB,2分配资源,3初始化PCB,4插入就绪队列。

初始化进程控制块包括:

初始化标识信息;初始化处理机状态信息;初始化处理机控制信息。

引起进程终止的事件有:

正常结束,异常结束,外界干预。

进程终止步骤:

1根据被终止进程的标识符,在PCB集合中检索出该进程的PCB,读取其状态,2若处于执行状态,立即终止,置调度标志为真,用于指示该进程被终止后应重新进行调度,3如果有的话,终止所有子进程,4将被终止进程拥有的全部资源归还其父进程或系统,5将被终止进程PCB从所在队列(或链表)中移出,等待其他程序来搜集信息。

引起进程阻塞或唤醒的条件:

请求系统服务,启动某种操作,新数据未到,无新工作做。

进程阻塞过程:

调用阻塞原语block把自己阻塞,如在执行状态,立即停止执行,修改PCB中状态为“阻塞”,PCB插入阻塞队列。

转调度程序将CPU重新调度给另一就绪进程。

进程唤醒过程:

调用唤醒原语wakeup,将被阻塞的进程从等待该事件的阻塞队列中移出,将PCB中状态改为“就绪”,将PCB插入到就绪队列中去。

进程挂起过程:

调用挂起原语suspend,如进程为活动就绪状态就改为静止就绪,如活动阻塞状态就改为静止阻塞,如进程正在执行就转向调度程序重新调度。

进程激活过程:

调用激活原语active,先将进程从外存调入内存,如进程为静止就绪就改为活动就绪,如静止阻塞就改为活动阻塞,判定新就绪的进程的优先级是否能抢夺CPU。

进程之间包括互斥和同步两种关系。

进程同步的主要任务,是使并发执行的诸进程之间能有效地共享资源和相互合作,从而使程序的执行具有可再现性。

临界区CS(criticalsection)是指每个进程中访问临界资源的那段代码。

临界区前面用于检查是否能访问临界资源的代码叫进入区,后面加上一段代码退出区用于恢复标志,其余的代码部分叫做剩余区。

进程同步可以采用信号量机制和管程机制。

同步机制遵循的原则:

空闲让进,忙则等待,有限等待,让权等待。

记录型信号量采用wait(S)和signal(S)来防止类似整型信号量会导致的忙等。

AND型信号量采用Swait(S1,S2,…Sn)和Ssignal(S1,S2,…Sn)来防止死锁。

信号量集用Swait(S,t,d)表示,S为信号量,t为下限值,d为需求值。

例子:

利用信号量实现前趋关系。

(P45,图2-10)

例子:

利用记录型信号量解决生产者-消费者等问题。

(P46)

一个管程定义了一个数据结构和能为并发进程所执行(在该数据结构上)的一组操作,这组操作能同步进程和改变管程中的数据。

管程由三部分组成:

局部于管程的共享变量说明;对该数据结构进行操作的一组过程;对局部于管程的设置初始值的语句。

例子:

利用管程解决生产者-消费者问题。

(P52)

进程通信包括低级通信(进程之间的互斥和同步)和高级通信(共享存储器系统,消息传递系统以及管道通信系统),又可分为直接通信(通信原语)和间接通信(信箱)。

高级进程通信,是指用户可直接利用操作系统所提供的一组通信命令,高效的传送大量数据的一种通信方式。

可归结为三大类:

共享存储系统、消息传递系统以及管道通信系统。

管道通信具有三方面的协调能力:

互斥,同步,确定对方是否存在。

进程通信可分为直接通信方式和间接通信方式。

直接通信方式指利用OS提供的发送命令,直接把消息发送给目标进程。

通常系统提供两条通信命令(原语):

Send(Receive,Message)和Receive(Sender,Message)。

间接通信方式指进程之间的通信需要通过作为共享数据结构的实体,通常称之为信箱。

信箱可分为私用信箱(单向通信链路的信箱),公用信箱(双向通信链路的信箱)和共享信箱。

拥有私用信箱的进程结束时,信箱随之消失。

公用信箱在系统运行期间始终存在。

公用信箱和共享信箱的区别在于公用信箱是由操作系统创建,并提供给系统中的所有核准进程使用的。

而共享信箱是由某进程创建给它和其他指定共享进程使用的。

两种方式建立一条通信链路:

用显式的“建立连接”命令原语请求系统为之建立(常用于计算机网络中);利用发送命令原语,系统自动为之建立(常用于单机系统中)。

通信链路可分为:

点对点连接通信链路和多点连接链路;单向通信链路和双向链路;无容量通信链路(无缓冲区)和有容量通信链路(有缓冲区)。

消息分为消息头(控制信息)和消息正文(实际上发送的数据)。

进程同步方式有:

1发送进程阻塞,接收进程阻塞(又称为汇合)2发送进程不阻塞,接收进程阻塞3发送进程接收进程都不阻塞。

消息缓冲队列通信机制及其中的发送原语和接收原语。

(P59)

在操作系统中引入线程,是为了减少程序在并发执行所付出的时控开销,使操作系统具有更好的并发性。

在多线程OS中,通常是在一个进程中包含多个线程,每个线程都是作为利用CPU的基本单位,是花费最小开销的实体。

线程具有以下属性:

轻型实体,独立调度和分派的基本单位,可并发执行,共享进程资源。

线程的状态:

状态参数和运行状态(也有执行状态,就绪状态,阻塞状态)

线程被中止后并不立即释放它所占有的资源,只有当进程中的其它线程执行了分离函数后,被终止的线程才与资源分离,此时的资源才能被其他线程利用。

多线程OS中的进程:

进程仍是系统分配资源的基本单位,每个进程都含有多个相对独立的线程,进程不是一个可执行的实体,而是把线程作为独立运行的基本单位。

所谓进程处于“执行”状态,实际上是指该进程中的某线程正在执行。

把某个进程挂起或激活,该进程的所有线程也都被挂起或激活。

线程同步和通信机制有:

互斥锁,条件变量,信号量机制。

互斥锁适合于高频度使用的关键共享数据和程序段,关锁lock和开锁unlock操作mutex

每个条件变量通常都和一个互斥锁一起使用。

线程首先对mutex执行关锁操作,若成功便进入临界区,然后查找用于描述该资源状态的数据结构,以了解资源的情况。

只要发现所需资源R正处于忙碌状态,线程便转为等待状态,并对mutex执行开锁操作后,等待资源被释放;若资源处于空闲状态,表明线程可以使用该资源,于是将该资源设置为忙碌状态,再对mutex执行开锁操作。

线程的实现方式有用户级线程和内核支持线程。

内核支持线程是无论是用户进程中的线程还是系统进程中的线程,他们的创建、撤消和切换等,都是依靠内核实现的。

此外,内核空间中还每个线程设置了一个线程控制块。

用户级线程仅存在于用户空间中。

这种线程的创建、撤消、同步等都无须利用系统调用来实现。

所以线程的切换速度特别快。

内核完全不知道用户级线程的存在。

用户级线程的调度以进程为单位,而内核支持线程的调度以线程为单位。

用户级线程的实现可分为运行时系统和内核控制线程。

第三章处理机调度和死锁

高级调度又称为作业调度或长程调度,用于决定把外存上处于后备队列中的哪些作业调入内存,并为它们创建进程,分配必要的资源,然后,再将新创建的进程排在就绪队列上。

低级调度称为进程调度或短程调度,用来决定就绪队列中的哪个进程应获得处理机,然后再由分派程序执行把处理机分配给该进程的具体操作。

进程调度可分为非抢占方式和抢占方式(优先权原则/短作业优先原则/时间片原则)。

中级调度又称中程调度。

引入中级调度的主要目的是为了提高内存利用率和系统吞吐量,实际上就是存储器管理中的对换功能。

三种调度队列模型:

仅有进程调度的调度队列模型,具有高级和低级调度的调度队列模型,同时具有三级调度的调度队列模型。

调度算法是指:

根据系统的资源分配策略所规定的资源分配算法。

先来先服务调度算法(FCFS),短作业(进程)优先调度算法(SJF),高优先权优先调度算法,基于时间片的轮转调度算法。

(P76)

高优先权优先调度算法分为非抢占式优先权算法和抢占式优先权调度算法。

优先权分为静态优先权和动态优先权。

基于时间片的轮转调度算法可分为时间片轮转法和多级反馈队列调度算法。

实现实时调度的条件:

提供必要的信息,系统处理能力强,采用抢占式调度机制,具有快速切换机制。

抢占调度的时机可在时钟中断发生的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1