第二章操作系统--奇数资料讲解

合集下载

第二章操作系统

第二章操作系统
– (5)Linux 也支持对设备的即插即用,但 不如Windows对此功能的支持强大。
2.3 网络操作系统
• 网络操作系统是具有网络功能的操作系 统。它除了具有通用操作系统的功能外, 还具有网络的支持功能,能管理整个网 络的资源。
• 网络操作系统主要有三大阵营:NetWare、 Windows NT(New Technology)和UNIX。
..\...\User\Data.mdb
\ 表示根目录 与分隔符 .. 上一级目录
习题
• 1.什么是操作系统?有哪些主要功能? • 2.说明操作系统与硬件、软件之间的关
系。 • 3. 请例举几种常见的操作系统。 • 4. 什么是文件? • 5. 什么是文件系统?
第二章操作系统
本章要求
熟悉操作系统基础知识 了解各操作系统的特点 熟悉文件与文件系统



作 硬件 系



人们通过为 硬件逐层地添 加各类系统软 件与应用软件 后,才能形成 一个供用户使 用的功能丰富 而界面友善的 计算机应用系 统
2.1 操作系统基本知识
–操作系统(Operating System,简称OS) 是有效管理和控制计算机系统的各种资源, 协调计算机各部件的工作,合理地组织计算 机的工作流程,提供友好的用户界面以方便 用户使用计算机系统的一种系统软件。
树型结构
树状目录结构
\根目录
Windows
User1
System32 Explorer.exe
Test.doc Data.mdb
Notepad.exe Mspaint.exe
绝对路径
C:\Windows\System32\Notepad.exe

操作系统第2章PPT课件

操作系统第2章PPT课件
第二章 进 程 管 理
第二章 进程管理
2.1 进程的基本概念 2.2 进程控制 2.3 进程同步 2.4 经典进程的同步问题 2.5 管程机制 2.6 进程通信 2.7 线程
第二章 进 程 管 理
2.1 进程的基本概念
2.1.1 程序的顺序执行及其特征
1. 程序的顺序执行 仅当前一操作(程序段)执行完后,才能执行后继操作。 例如,在进行计算时,总须先输入用户的程序和数据,然后 进行计算,最后才能打印计算结果。
第二章 进 程 管 理
I/O完 成
就绪 时间片完
进程调度
阻塞
执行
I/O请 求
图 2-5 进程的三种基本状态及其转换
第二章 进 程 管 理
3. 1) 引入挂起状态的原因 (1) 终端用户的请求。 (2) (2) 父进程请求。 (3) (3) 负荷调节的需要。 (4) (4) 操作系统的需要。
第二章 进 程 管 理
2) 进程状态的转换 (1) 活动就绪→静止就绪。 (2) (2) 活动阻塞→静止阻塞。 (3) (3) 静止就绪→活动就绪。 (4) (
执行
释放
活动 阻塞
活动 就绪
激活
挂起
激活 挂起
静止 阻塞
释放
挂 起
静止 就绪
图 2-6 具有挂起状态的进程状态图
第二章 进 程 管 理 每个结点还具有一个重量(Weight),用于表示该结点所 含有的程序量或结点的执行时间。
Ii→Ci→Pi和S1→S2→S3
P2
P5
S1
P1
P3
P8
P9
P6
S2
P4 S3
P7
(a) 具有九个结点的前趋图
图 2-2 前趋图

操作系统第二章 ppt课件

操作系统第二章 ppt课件

第二章 进程管理
30
进程的状态变迁图
18.06.2021
第二章 进程管理
31
进程的状态转换
①就绪→执行:调度 ②执行→等待:等待某个事件发生而睡眠 ③等待→就绪:因等待的事件发生而唤醒 ④执行→就绪:时间片用完 问题1:为什么不能从等待态变为运行态呢? 问题2:为什么不能从就绪态变为等待态呢? 答案:
可再现性:程序的结果与它的执行速度无 关(即与时间无关),只要给定相同的输 入,一定会得到相同的结果。
18.06.2021
第二章 进程管理
9
多道程序系统中程序执行环境的变化
▪ 计算机能够同时处理多个具有独立功能的程序(批处理系统,分时系统、 实时系统、网络与分布式系统)。这样的执行环境具有三个特点: ➢ 独立性:每道程序都是逻辑上独立的,之间不存在制约关系。 ➢ 随机性:程序和数据的输入与开始执行时间都是随机的。这种随机性形 成了操作系统必须同时处理多道程序的客观要求。 ➢ 资源共享
程序 输入 运行
干净衣服
洗衣进程
第二章 进程管理
输出 22
进程同程序的比较
程序是指令的有序集合,其本身没有任何运 行的含义,是一个静态的概念。而进程是程 序在处理机上的一次执行过程,它是一个动 态的概念;
程序可以作为一种软件资料长期存在,而进 程是有一定生命期的。程序是永久的,进程 是暂时的;
18.06.2021
第二章 进程管理
18
进程的引入
并发执行的各程序段由于同时存在于主存中,共享软硬件资 源,造成其执行结果受执行速度影响的局面。 在多道程序系统所带来的复杂环境中,程序段具有了并发、 制约、动态的特性,原来的程序概念,难以刻画系统中的情况。
➢ 程序本身完全是静态的概念

操作系统第二章

操作系统第二章
在下一个操作开始之前结束。 封闭性
程序一旦开始执行,其执行结果不受外界的影响,当程序 的初始条件给定之后,其后的状态只能由程序本身确定 ,即只有本程序才能改变它。
结果的可再现性
程序执行的结果与初始条件有关,而与执行时间无关。即 只要程序的初始条件相同,它的执行结果是相同的,不 论它在什么时间执行,也不管计算机的运行速度。
2.1 进程的基本概念
2.1.1 程序的顺序执行及其特征
2
1、程序的顺序的概念
一个程序由若干个程序段组成,而这些程序段的执行必 须是顺序的,这种程序执行的方式就称为程序的顺序 执行。
例如:
2.1 进程的基本概念
2.1.1 程序的顺序执行及其特征
3
2、程序顺序执行的特征 顺序性
处理机严格按照程序所规定的顺序执行,即每个操作必须
进程是执行中的程序。(Ken Thompson and Dennis Ritchie )
有的教材上给出的进程的定义: 进程,即是一个具有一定独立功能的程序关于某个数据集 合的一次活动。
2.1 进程的基本概念
2.1.4 进程(process)的特征与状态
21
C . 进程与程序的区别:
1)程序是指令的集合,是静态的概念。 进程是程序在处 理机上的一次执行的过程,是动态的概念。程序可以 作为软件资料长期保存。进程是有生命周期的。
16
假设有两个缓冲区,每个缓 冲区只存放一个字符,get 程序负责从输入序列f中读 一个字符,然后,送到缓 冲 区 s 中 , copy 程 序 负 责 将s中的字符复制到t中, put负责从t中提取字符打 印。 这个算法是正确与否?
YES
算法: 输入:f 输出:g {
if (f不为结束符) {

《操作系统第二章》PPT课件

《操作系统第二章》PPT课件
• 用户程序调用时控制权属于用户,OS调用时控制权属于OS。
• 系统调用的处理过程
• 为执行系统调用命令作准备。其主要工作是把用户程序的 “现场”保留起来,并把系统调用命令的编号等参数放入 约定的存储单元。访管指令有“参数区”、“参数”和 “操作数”组成。“操作数”用来表示请求操作系统所要 干的工作,并说明是否要有参数区和具体参数。
•例 – DOS:库函数,…… – Windows:API,……
• 系统调用的分类 – 设备管理 – 文件管理 – 进程管理 – 进程通信 – 存储管理
• 调用中的几个概念 – 陷入(访管)指令—把由于系统调用引起的处理机中断的指令称 为陷入(访管)指令。
– 广义指令(或称管理程序调用)—利用陷入指令来实现特殊过程调 用的指令称为广义指令。是通过执行相应的程序模块来实现的, 它是机器指令的扩充。采用访管方式来实现。通过产生一个访管 中断,使处理机由目态(用户态)转为管态(系统态)。(当中 央处理器处于目态时不允许执行特殊指令;而处于管态时可这些 包括特殊指令在内的一切机器指令)
• 命令调用 • 系统调用 • 用户接口的发展
命令调用方式
• 命令形式 – 内部命令
• 系统启动时与操作系统一起装入内存——OS的一部分 •例
– DOS:Type,Dir,copy,…… – Windows:资源管理器中的菜单、按钮,…… – 外部命令
• 以文件形式存放,调用时装入内存 •例
– DOS:Edit,…… – Windows:桌面上的图标,快捷方式(图标),……
直接耦合系统
SPOOLING方式
• 命令分类 – 环境设置 – 执行权限管理 – 系统管理 – 文件管理 – 执行管理 – 通信 – 资源要求
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、什么是PSW?其主要作用是什么? 答案:PSW是指程序状态字。PSW的作用是用来指示处理器状态,控制指令的执行顺序,并且保留和指示与运行程序有关的各种信息,主要作用是实现程序状态的保护和恢复。每个正在执行的程序都有一个与其当前状态相关的相关的PSW,而每个处理器都设置一个硬件PSW寄存器,一个程序占用处理器执行时,其PSW将占用硬件的PSW寄存器。 3、为什么现代计算机要设置两种或多种CPU状态? 答案:为了确定处理器当前是操作系统还是应用程序在其上运行,在不同的程序时根据执行程序对资源和机器指令的使用权限将处理器设置成不同的状态。 5、为什么要把机器指令分成特权指令和非特权指令? 答案:这是因为应用程序在执行有关资源管理的机器指令时易于导致系统混乱,造成系统或用户信息被破坏,因此,再多到程序设计环境中,从资源管理和多道程序执行的角度出发,必须把指令系统中的指令分为两种:特权指令和非特权指令。 7、从中断事件的性质来说,可以把它们分成哪些类型? 答案:可以分为两类:强迫性中断和自愿性中断,其中强迫性中断又分为:1、机器故障中断,2、程序性中断3、外部中断4、输入输出中断 9、从中断事件的实现来说,可以把它们分成哪些类型? 答案:分为硬中断和软中断,其中硬中断包括外中断和内中断,软中断是信号和软件中断。 11、概述程序性中断的处理方式? 答案:程序性中断常出现几种错误,如果是语法错误,程序将在编译时报错,如果逻辑错误,可有测试发现错误并报错,如果运行中产生异常,操作系统会立即执行这种中断并处理。 13、何谓中断的优先级?为什么要对中断事件进行分级? 答案:中断装置所预设的响应顺序称为中断的优先级。 因为中断是随时发生的,所以在不发生中断丢失的情况下把紧迫程度相当的中断源归为一类,紧迫程度差别大的中断源归为不同级别,级别高的中断有优先获得响应的权利,如果系统正在执行某种优先级的中断服务程序,那么只有更高优先权的中断请求才能中断此服务程序。 15、概述系统调用的执行过程? 答案:系统调用把应用程序的请求传送至内核,调用相应的内核函数完成所需的处理。将结果返回相应的程序。 17、试述时钟中断在操作系统中的重要性及其主要作用? 答案:时钟是操作系统进行调度工作的重要工具,如维护系统的绝对时间和日期、让分时进程按时间片轮转、让实时进程定时发送或接收控制信号、系统定是唤醒或阻塞进程、对用户进程记账、测量系统性能等,利用定时器能够确保操作系统在必要时获得控制权,陷入死循环的进程最终会因时间片耗尽而终止被迫让出处理器。 19、操作系统如何处理多重中断事件? 答案:对于多重中断,可能是同一优先级的不同 中断,也可能是不同优先级的中断。如果是前者,通常由同一个中断处理程序按自左至右的顺序逐个处理并清除,对于后者可分为串行处理,嵌套处理,即时处理。

21,按中断事件的来源和实现手段可将中断划分为硬中断和软中断两类。 硬中断可划分为外中断和内中断;软中断可划分为信号和软件中断。 硬中断与软中断的类比: 11.“中断”(硬中断)用于外部设备对CPU的中断(中断正在运行的任何程序),转向中断处理程序执行。 12.“异常”(硬中断)因指令执行不正常而中断CPU(中断正在执行的这条指令的程序),转向异常处理程序执行。 13.“软件中断”(软中断)用于硬中断服务程序对内核的中断,在上半部分中发出软件中断(即标记下半部分),使得中断下半部分在适当时刻获得处理。 14.“信号”(软中断)用于内核或进程对某个进程的中断,向进程通知某个特别事件发生或迫使进程执行信号处理程序。 5.每个处理器都有一个中断请求级别设置,其值随着内核代码的执行而改变,运行于核心态的线程可以提高或降低正在运行处理器的优先级,从而屏蔽低级中断。Dispatch/DPC和APC中断是内核和设备驱动程序所产生的软件中断,优先级为2和1,他们启动线程调度、延迟过程调用和异步过程调用的执行;普通线程运行于0级,允许发生所有级别的中断。当发生中断的时,陷阱调度程序讲提高处理器优先级别至中断源所具有的优先级别上,保证服务于此中断的处理器不被同级别或低级的中断抢先,被屏蔽的中断将被另一处理器响应,或被阻拦直至优先级降低到相对应的优先级以下时才能被处理。由于改变处理器的优先级别非常重要,故处理器的优先级只能在核心态改变。从而win2003动态实现了中断屏蔽功能。 3.APC:Asynchronous Procedure Call,异步过程调用,用于中断一个特定程序和执行,为应用程序和系统代码提供一种在特殊线程描述表中执行代码的方法。等待执行的APC在内核管理的APC队列中,是特定于线程而言的。 27.Linux中,处理快中断仅保存那些被常规C函数修改的寄存器,会屏蔽其他中断。快中断处理完毕后,通常会恢复现场,返回被中断的进程继续执行,属于非抢占式调度。 而处理慢中断之前需保存所有寄存器的内容,通常不屏蔽其他中断信号,慢中断处理完毕后,通常不返回被中断的进程,而是转向调度程序重新进行调度,调度结果未必是被中断的进程继续执行,属于抢占式调度。而且慢中断的工作比较多。 28.Linux中断下半部分处理的原理:提供静态创建的下半部分处理的数据结构,建立一个函数指针数组,采用数组索引的方式访问,最多有32个不同的下半部分处理函数。

31.讨论Linux的bottom half、task queue、tasklet、work queue和softirq机制。 Bottom half,提供静态创建的下半部分处理的数据结构,建立一个函数指针数组,采用数组索引的方式访问,最多有32个不同的下半部分处理函数。HB机制存在两方面的局限性:(1)下半部分处理函数的数量限制为32个,且每个HB上只能挂接一个函数,随着系统设备的增多,HB的应用范围越来越广,这个数目还不够用。(2)每个HB在全局范围内同步,即使属于不同的处理器,也不允许任何两个HB同时执行,这种机制使用方便但不够灵活,安全简单但尚存在性能瓶颈。所以在开发V2.5内核版本时,HB接口最终被抛弃。 Task queue,进一步的改进方法是引入任务队列(task queue)机制,实现对各种任务的延迟执行。为此,内核定义一组队列,每个队列包含一个由等待调用的函数组成的链表,不同队列中的函数在某个时刻会被触发执行。显然,任务队列不一定非要与中断处理有关,但是可以用它来代替HB,当驱动程序或内核相关部分要将任务排队进行延迟处理时,可将任务添加到相应的任务队列中,然后,采用适当的方式通知内核执行任务队列函数。典型的下半部分处理均有相关联的任务队列,任务队列在Linux中的应用范围相当广泛,还在其他场合被使用。任务队列与下半部分相比较,任务队列可以动态的定义和管理,而下半部分却由内核静态定义,且处理函数不能超过32种。由于任务队列的灵活性较差,无法代替整个HB接口,也不能胜任像网络等性能要求较高的子系统,此系统已从V2.5版本中除去 Tasklet,(小任务)也是一种下半部分机制,能够更好地支持对称式多处理器,它基于软中断来实现,但比软中断的借口要简单,锁保护的要求低。因为HB是全局串行处理,不适应多处理器对称系统,引入tasklet之后,不同的tasklet可同时运行于不同的CPU上。当然由系统保证相同的tasklet不会同时在不同的CPU上运行。在这种情形下,tasklet就无需是可重入的。 Work queue,工作队列,与其他机制的工作原理都不同,它把一个任务延迟,并将其交给内核线程去完成,且此任务总是在进程上下文中执行。这样,通过工作队列执行的代码能够占尽进程上下文的优势,最重要的是,工作队列允许重新调度和阻塞。如果延迟执行的任务需要阻塞、需要获取信号量或需要获得大量的主存空间,那么可以选择工作队列,否则就使用tasklet或softirq。 Softriq,迄今,Linux沿用最早的HB思想,但在此机制上实现了庞大和复杂的软中断子系统——softriq,它既是一种软中断机制,又是一个框架,包括tasklet及为网络操作专门设计的软中断。Tasklet允许动态注册,但softriq在编译时静态定义。 33.进程有哪些主要属性,试解释之。 (1)结构性 进程包含数据集合和运行于其上的程序,它至少有程序块、数据块和进程控制块等要素组成。 (2)共享性 同一程序同时运行于不同的数据集合上时,将构成不同的进程,即多个进程可以执行相同的程序,所以进程和程序不是一一对应的。共享性还表现在进程之间可以共享某些公用变量,通过引用公用变量就能够交换信号,从而进程的运行环境不再是封闭的。 (3)动态性 进程是程序在数据集合上的一次执行过程,是动态的概念,同时,进程有生命周期,由创建而产生、由调度而执行、由事件而等待、由撤销而消亡;而程序是一组有序指令所组成的序列,是静态的概念,所以程序作为一种系统资源是永久存在的。 (4)独立性 进程是系统中资源分配、保护和调度的基本单位,说明它具有独立性,凡是未建立进程的程序,都不能作为独立单位参与调度和运行。此外每个进程都可以有各自独立的、不可预知的速度在处理器上推进,即按照异步方式执行,这也表现出进程的独立性。 (5)制约性 并发进程之间存在着制约关系,造成进程执行速度的不可预测性,必须对进程的并发执行次序、相对执行速度加以协调。 (6)并发性 进程的执行可以在时间上有所重叠,在单处理器系统中可并发执行,在多处理器系统中可并发执行。对于单处理器系统而言,m个进程轮流占用处理器并发地执行。 35.五态模型的进程中,新建态和终止态的主要作用是什么? 新建态的引用对于进程管理非常有用,新建态对应于进程被处理时的状态,进程尚未进入就绪队列,创建进程要通过两个步骤:首先,为新进程分配所需资源,建立必要的管理信息;然后,设置此进程为就绪态,等待被调度执行。终止态是指进程完成任务,到达正常结束点,或因出现无法到达的错误而异常终止,或被操作系统及又终止权的进程所终止时所处的状态。处于终止状态的进程不再被调度执行,下一步将被系统撤销,最终从系统中消失。类似的,进程终止也要通过两个步骤实现:首先,等待操作系统或相关进程进行善后处理,然后,回收被占用的资源并由系统删除进程。 37.多数时间片轮转调度使用使用固定大小的时间片,请给出: (1)选择小时间片的理由。 (2)选择大时间片的理由。 时间片长短的确定遵循这样的原则:既要保证系统中各个用户进程及时地得到响应,又不要由于时间片太短而增加调度的开销,降低系统的效率。 (1) 选择小时间片的理由是:使轮转的总时间减少,是用户进程尽快得到应答。 (2) 选择大时间片的理由是:减少进程调度次数,提高系统效率。 39.什么情况下会产生挂起等待态和挂起就绪态?试举例说明。 挂起就绪态表明进程具备运行条件,但目前在辅助存储器中,只有当进程被换到主存时才能调度执行;挂起等待态则表明进程正在等待某一事件发生且进程在辅助存储器中。挂起进程等同于不在主存的进程,因此,挂起进程不会参与低级调度直到它们被对换进主存。挂起进程具有以下特征:此进程不能立即执行;此进程可能会等待某事件发生,所等待的事件独立于挂起事件,时间结束并不能导致进程具备可执行条件;此进程进入挂起状态是由于操作系统、父进程或进程自身阻止其运行;进程挂起状态的结束命令只能通过操作系统或父进程发出。

相关文档
最新文档