ch2第2章 操作系统结构-曲明成解析
操作系统 第2章
S3
(a) 程序的顺序执行
(b) 三条语句的顺序执行
图 2-1
程序的顺序执行
第二章 进 程 管 理 2. 程序顺序执行时的特征 (1) 顺序性:处理机的操作严格按照程序所规定的顺序 执行,即每一操作必须在上一个操作结束之后开始。 (2) 封闭性:程序是在封闭的环境下执行的,即程序运 行时独占全机资源,资源的状态(除初始状态外)只有本程序 才能改变它。程序一旦开始执行,其执行结果不受外界因素 影响。 (3) 可再现性:只要程序执行时的环境和初始条件相同, 当程序重复执行时,不论它是从头到尾不停顿地执行,还是 “停停走走”地执行,都将获得相同的结果。 程序顺序执行时的特性,为程序员检测和校正程序的错 误带来了很大的方便。
第二章 进 程 管 理
就绪 时间片完 I/O 完成 进程调度
阻塞
I/O 请求
执行
图2-5 进程的三种基本状态及其转换
第二章 进 程 管 理 3. 挂起状态 1) 引入挂起状态的原因
在不少系统中进程只有上述三种状态,但在另一些系统中,
又增加了一些新状态,最重要的是挂起状态。引入挂起状态的 原因有: (1) 终端用户的请求。当终端用户在自己的程序运行期间 发现有可疑问题时,希望暂时使自己的程序静止下来。亦即,
第二章 进 程 管 理 2) 执行状态 进程已获得CPU,其程序正在执行。在单处理机系统中, 只有一个进程处于执行状态; 在多处理机系统中,则有多个 进程处于执行状态。 3) 阻塞状态 正在执行的进程由于发生某事件而暂时无法继续执行时, 便放弃处理机而处于暂停状态,亦即进程的执行受到阻塞,把 这种暂停状态称为阻塞状态,有时也称为等待状态或封锁状态。 致使进程阻塞的典型事件有:请求I/O,申请缓冲空间等。通 常将这种处于阻塞状态的进程也排成一个队列。有的系统则根 据阻塞原因的不同而把处于阻塞状态的进程排成多个队列。
操作系统二章课件ppt课件
文件目录管理
文件控制块(FCB):为了能对一个 文件进行正确的存取,必须为文件设 置用于描述和控制文件的数据结构, 称之为“文件控制块(FCB)”。文 件管理程序可借助于文件控制块中的 信息对文件进行各种操作。
索引结点:在检索目录文件的过程中 ,只用到了文件名,仅当找到一个目 录项(查找文件名与目录项中文件名 匹配)时,才需要从该目录项中读出 该文件的物理地址。也就是说,在检 索目录时不需要用到其他那些对该文 件进行描述的信息,而只有在检索到 某一目录项时,系统才需要从该目录 项中读出该文件的物理地址和文件的 属性。
链接分配
这是按单个物理块逐个进行的。每个物理块中(一般是最后一个单元)设有一个指针,指 向其后续连接的下一个物理块的地址,从而使得存放同一文件的物理块链接成一个链表。
索引分配
这是另一种对文件存储不连续分配的方法。系统为每个文件建立一张索引表,索引表中的 每一表项指出文件信息所在的逻辑块号和与之对应的物理块号。
多处理器操作系统与并行计算
多处理器操作系统的基本 概念
并行计算的基本概念和技 术
多处理器操作系统的调度 和同步
并行算法的设计和实现
THANKS。
设备控制器向CPU发出中断请求
中断响应
CPU响应中断,保存现场,转入中断处理程序
中断处理与设备驱动程序
中断处理
处理中断事件,如读/写数据、状态处理等
中断返回
恢复现场,继续执行原程序
中断处理与设备驱动程序
设备驱动程序的功能
对设备控制器进行编程,实现I/O操作
设备驱动程序的层次结构
与设备无关的操作系统软件、设备驱动程序接口、设备驱动程序实现
微内核与宏内核的比较
微内核操作系统的优点 和缺点
ch1 概述-曲明成
2018/1/9 28
操作系统
第1章 操作系统概述
操作系统
第1章 操作系统概述
1.1 操作系统的概念
什么是操作系统? 操作系统的定义:
计算机系统中的一个系统软件,它是这样一些程序模 块的集合:它们能有效地组织和管理计算机系统中的 硬件及软件资源,合理地组织计算机工作流程,控制 程序的执行,并向用户提供各种服务功能及相应接口, 使用户能够灵活、方便和有效地使用计算机,使整个 计算机系统能高效地运行。
操作系统
第1章 操作系统概述
1.1 操作系统的概念
研究和观察操作系统 用户角度 系统角度 OS是资源 管理者 管理资源 的观点 静态观 察方法
处理器管理 存储管理 设备管理 文件管理
用户、资源、方法
OS是服务 提供者
服务用户 的观点
OS是程序执 行控制者
进程交互 观点 动态观察 方法
进程、线程、调度 互斥与同步 通信 死锁
由于作业是被串行执行, 故称“单道批处理” 特征:自动性、顺序性、单道性
是
源程序 有错吗? 否
行 运 目标程序
配 装 目标程序
单道批处理流程
2018/1/9 27
操作系统
第1章 操作系统概述
1.3 OS的发展和主要成就
1.3.1 操作系统的发展 3. 多道程序批处理系统
●标志现代意义上的OS出现
背 景:计算机进入第三代
操作系统第二章学习纲要[教学]
第2章进程管理辅导与自测2.1 本章知识点进程是操作系统中最基本、最重要的概念之一,在计算机系统中,进程不仅是最基本的并发执行的单位,而且也是分配资源的基本单位。
引入进程这个概念,对于我们理解、描述和设计操作系统具有重要意义。
本章的主要知识点为:(1)进程的概念进程是程序在并发环境中的执行过程。
进程最根本的属性是动态性和并发性。
要注意进程与程序的区别。
进程的五个基本特征是:动态性、并发性、独立性、制约性、结构性。
一个进程实体通常由程序、数据、栈和进程控制块(PCB)这四部分组成。
进程控制块是进程组成中最关键的部分。
每个进程有唯一的进程控制块。
操作系统根据PCB对进程实施控制和管理。
进程的动态、并发等特征是利用PCB表现出来的。
为了对所有进程进行有效地管理,常将各进程的PCB用适当的方式组织起来。
一般说来,进程队列有以下几种方式:线性方式、链接方式和索引方式。
进程有三个基本状态:运行态、就绪态和阻塞态。
在一定的条件下,进程的状态将发生转换。
下图所示为进程的状态及其转换。
图进程状态及其转换(2)进程管理就如同人类的族系一样,系统中众多的进程也存在族系关系:由父进程创建子进程,子进程再创建子进程,从而构成一棵树形的进程族系图。
进程作为有“生命期”的动态过程,对它们的实施管理主要包括:创建进程、撤消进程、挂起进程、恢复进程、改变进程优先级、封锁进程、唤醒进程、调度进程等。
在Linux系统中,进程有5种状态。
进程分为系统进程和用户进程。
其中,系统进程只运行在内核模式下;用户进程既可以在用户模式下运行,也可以通过系统调用等运行在内核模式下。
Linux的task_struct结构相当于其进程控制块。
Linux系统对进程的操作常用命令有:ps、kill、sleep等。
常用的系统调用有:fork,exec,wait,exit,getpid,sleep,nice等。
(3)进程通信进程通信是指进程间的信息交换。
根据进程间交换信息量的多少,分为高级进程通信和低级进程通信。
周国运《操作系统》讲义[第2章2.3]
引起进程挂起的原因(2)
(4) 用户要求挂起自己的进程, 以便进行某些调试、检查和改正。 (5)父进程要求挂起后代进程, 以进行某些检查和改正。 (6)操作系统为改善系统性能或 系统出现故障,需要挂起某些进 程以改善系统性能或排除故障。
具有挂起进程功能的进程状态
进程增加了两个新状态: • 挂起就绪态(ready suspend)表明 进程具备运行条件但目前在二级存储 器中,当它被对换到主存才能被调度 执行。 • 挂 起 等 待 态 ( blocked suspend ) 表明进程正在等待某一个事件且在二 级存储器中。
2、CPU模式切换
用户态到核心态、或者核心态到用户态 的转变,都是CPU模式的切换。
•
如当中断发生时,暂时中断正在执行的 用户进程,把进程从用户状态切换到核心状 态,去执行操作系统例行程序以获得服务, 这就是一次模式切换。 中断事件运行的环境: 内核(例行程序)在被中断了的进程的 上下文中对这个中断事件作处理,即使该中 断可能不是此进程引起的。
是一个可并发执行的、具有 独立功能程序的、关于某个数 据集合的一次执行过程。它是 操作系统进行资源分配和保护 的基本单位 。
2.3.1之——进程的属性
• 结构性 构成三要素:程序块、 数据块、进程控制块。 • 动态性 有生命期,其动态过 程为:创建——运行——消亡。 • 独立性 资源分配的独立单位、 独立运行单位、独立调度单位。 • 并发性 内存中同时有多个进 程,各进程并发执行。
进程上下文组成(三部分):
• 用户级上下文:由用户程序块、用 户数据块和用户堆栈组成的进程地址 空间。 • 系统级上下文:又进程控制块、内 存管理信息、进程环境块,及系统堆 栈等组成的进程地址空间。 • 寄存器上下文:由PSW寄存器和各 类控制寄存器、地址寄存器、通用寄 存器组成、用户栈指针等组成。
第2章 Windows 操作系统(赵绪)
3.设置“屏幕保护程序” 设置“屏幕保护程序” 设置 如果暂时不对计算机进行任何操作, 屏幕保护程序” 如果暂时不对计算机进行任何操作,“屏幕保护程序”就会 将显示屏幕关掉,这样可以节省电能,保护显示器。 将显示屏幕关掉,这样可以节省电能,保护显示器。
4.设置分辨率和颜色 设置分辨率和颜色 拖动小滑块来调整分辨率,分辨率越高, 拖动小滑块来调整分辨率,分辨率越高,在屏幕上显示的画 面就越逼真。 颜色质量” 面就越逼真。在“颜色质量”下拉列表框中设置显示的颜色 质量位数,设置的位数越高,显示画面的质量越好。 质量位数,设置的位数越高,显示画面的质量越好。
2.5.1 对文件和文件夹的基本操作
1.新建文件 新建文件 2种方式: 种方式: 种方式 1) “文件”菜单|新建 ) 文件”菜单| 2)鼠标右键|新建 )鼠标右键| 2.新建文件夹 新建文件夹 2种方式: 种方式: 种方式 1) “文件”菜单|新建 文件夹 ) 文件”菜单|新建|文件夹 2)鼠标右键|新建 |文件夹 )鼠标右键| 文件夹
2.4 窗口操作
2.4.1 窗口的基本组成
标题栏 菜单栏 工具栏 滚动条
工作区域
2.4.2窗口的操作 窗口的操作
1.打开和关闭窗口 打开和关闭窗口 打开窗口的3种方式 打开窗口的 种方式 : 1)双击 ) 2)鼠标右键 |打开 ) 打开 3)单击某个文件, 在“文件”菜单下点击“打开”命令 文件”菜单下点击“打开” )单击某个文件, 关闭窗口的4种方式 关闭窗口的 种方式 : 1)点击标题栏的 “ ” ) 2)鼠标右键 |关闭 ) 关闭 3)同时按下“Alt”和“F4” )同时按下“ 和 4)在“文件”菜单下点击“关闭” 文件”菜单下点击“关闭” )
3.帮助和支持 帮助和支持
操作系统(徐宗元主编)ppt第二章-第二部分解析
Windows2000的基元成分――对象-1
• Windows 2000中的实体,当数据或资源对用户态开放时, 或者当数据访问是共享的或受限制时,才使用对象。采 用对象方法表示的实体有文件、进程、线程、信号量、 互斥量、事件、计时器等。Windows 2000通过对象管理 器以一致的方法创建和管理所有的对象类型,对象管理 器代表应用程序负责创建和删除对象,并负责授权访问 对象的数据和服务。 • 每一个对象都有一个对象头和一个对象体。对象管理 器控制对象头,各执行体组件控制它们自己创建的对象 类型的对象体。 • 当进程通过名称来创建或打开一个对象时,它会收到一 个代表进程访问对象的句柄。所有用户态进程只有获得 了对象句柄之后才可以使用这个对象。句柄作为系统资 源的间接指针来使用,这种不直接的方式阻止了应用程 序对系统数据结构直接地随便操作。
4.Windows 2000的基元成分― ― 对象(object)、进程(process)、线程(Thread) 对象、进程、线程是Windows2000三个基元成 份,它们之间有互相交叉的关系。
• 对象是一个抽象的数据结构,在Windows2000中用以 表示广义的资源。它是构成OS的三个基元成份中非 活动的成份,对象是数据和有关操作的封装体,它 包装数据、数据的属性以及可以施加于数据的操作 等三个成份。具有相同特性的对象也可归为一个对 象类,在软件设计中定义了对象类(称为类Class), 而对象则是对象类一个具体实现的示例。对象作为 抽象数据而封装在其内部的操作函数所提供的操作 也给人活动成份的感觉,但是从操作系统这一角度 来认识,对象是构成操作系统的非活动成份。而进 程和线程则是构成OS的两个活动成份。
当一个线程调用CreateProcess时,系统就会创建 一个进程内核对象,为新进程创建一个虚拟地 址空间,并将可执行文件加载到该进程的地址 空间中。然后系统再为新进程的主线程创建一 个线程内核对象。通过执行启动代码,该主线 程便开始运行,它最终调用WinMain、 wWinMain、main或wmain函数。如果系统成功 地创建了新进程和主线程,该函数便返回 TRUE。
计算机体系结构课后详解王志英
第1章计算机系统结构的基本概念1.1 解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。
这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。
虚拟机:用软件实现的机器。
翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。
解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。
执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。
计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。
在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。
计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。
系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。
Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。
程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。
包括时间局部性和空间局部性。
CPI:每条指令执行的平均时钟周期数。
测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。
存储程序计算机:冯·诺依曼结构计算机。
其基本点是指令驱动。
程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。
系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。
操作系统第2章ppt课件
6
第二章 烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人
进
程
管
理
2.1.3 程序的并发执行及其特征
1. 程序的并发执行
程序并发执行可分为两种:
• 多道程序系统的程序执行环境变化所引起的多道程序的并发 执行
由于资源有限,多道程序的并发执行总是伴随着资源的共享与 竞争,制约了各道程序的执行速度。
14
第二章 烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人
进
程
管
理
例:若有两条语句c:=a-b和w:=c+1,判断它们是否 可以并发执行?
解:它们的“读集”和“写集”分别为
R(c:=a-b)={a,b};R(w:=c+1)={c} W(c:=a-b)={c} ; W(w:=c+1)={w} R(c:=a-b)∩W(w:=c+1)={Φ} R(w:=c+1)∩W(c:=a-b)={c} 所以:两条语句不能并发执行。
图 2-2 前趋图
5
第二章 烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人
进
程
管
理
注意,前趋图中必须不存在循环。
如在图2-2(b)中的前趋关系:
S2→S3, S3→S2
图 2-2 前趋图
显然这种前驱关系是不可能满足的,S3的执行要依赖于S2的 执行结果,S2的执行结果又要依赖于S3的执行结果,这种程 序是不可能执行下去的。
4
第二章 烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人
操作系统概论重点整理(2021年张琼声版)
操作系统概论重点整理(2021年张琼声版) 操作系统概论-02323(2021年张琼声版本)第一章:操作系统简介操作系统概念:操作系统是一种复杂的系统软件,是不同程序代码、数据结构、初始化文件的集合,可执行。
操作系统是提供计算机用户与计算机硬件之间的接口,并管理计算机软件和硬件资源,并且通过这个接口使应用程序的开发变得简单、高效。
接口是两个不同部分的交接面。
接口分为硬件接口和软件接口,计算机的所有功能最终都是由硬件的操作来实现的,计算机屏蔽了对硬件操作的细节。
操作系统完成的两个目标:1与硬件相互作用,为包含在所有硬件平台上的所有底层可编程部件提供服务。
○ 2为运行在计算机系统上的应用程序(即用户程序)提供执行环境○现代计算机特点是支持多任务,,一方面保证用户程序的顺利执行,另一方面使计算机系统资源得到高效的利用,保证计算机系统的高性能操作系统的功能:处理机管理、内存管理、设备管理、文件管理。
? 操作系统的发展:无操作系统--单道批处理系统--多道批处理系统--微机操作系--实时操作系统无操作系统阶段:电子管,无存储设备,第一台:1946年宾夕法尼亚大学的「埃尼阿克」单道批处理系统:晶体管,磁性存储设备,内存中有一道批处理作业,计算机资源被用户作业独占。
吞吐量是指单位时间内计算机系统处理的作业量多道程序系统:集成电路芯片,出现了分时操作系统(多个终端)。
微机操作系统:第一台Intel公司顾问GaryKildall 编写的CP/M系统,是一台磁盘操作系统,用于Intel8080.实时操作系统:广泛应用于各种工业现场的自动控制、海底探测、智能机器人和航空航天等。
? 批处理、实时、分时系统的优缺点比较:单道批处理系统:自动性、顺序性、单道性。
优点:减少了等待人工操作的时间缺点:CPU资源不能得到有效的利用。
多道批处理系统:多道性、无序性、调度性、复杂性。
优点:能够使CPU和内存IO资源得到充分利用,,提高系统的吞吐量。
操作系统课件:ch2-2-操作系统结构(Artechature)
中断机制
中断-中断系统组成
中断系统组成:硬件中断装置和软件中断 处理程序
–硬件中断装置:负责捕获中断源发出的 中断请求,以一定方式响应中断源,然 后将处理器控制权交给特定的中断处理 程序(发现问题)
–软件中断处理程序:中断系统的策略部 分。负责辨别中断类型并做出相应的操 作。(解决问题)
中断处理过程-开始串糖葫芦…
操作系统结构
2.1 •中断机制?
2.2 •中断的实现原理
2.3 • 特权指令和非特权指令
2.4 •目态、管态及其转换
中断
• 中断:CPU对系统中或系统外发生的某个事件作出的一种反应; 如外部设备完成数据传输,实时设备出现异常等。
• 引入中断的目的:中断机制是操作系统得以正常工作的最重 要的手段,有人把操作系统称为是由“中断驱动”或者 “(中断)事件驱动”。它可以解决: –主机与外设的并行工作问题 –提高可靠性 –实现实时控制 –中断是实现多道程序的必要条件
–每个中断均有其相应的处理程序,中断在使用前 必须在IDT中注册信息,以保证发生中断时能找到 相应的处理程序;
–发出中断请求的设备为了标识自己,向CPU发送一 个该设备在IDT中表目的索引,通过此索引值找到 中断处理程序
中断技术-中断优先级 (如何管理)
• 原因:由于可能有很多中断源请求同时发生,通过中 断优先级加以判定响应哪个中断请求。
➢ 有:处理器挂起当前程序的执行,并执行一个中断 处理程序;当中断处理程序完成后,处理器在中断 点恢复对用户程序的执行。
➢ 没有:则取下一条执行继续执行。
中断技术-中断向量表 (如何处理)
• 中断向量表(IDT):一个存放中断处理程序入口地 址和程序运行所需处理机状态字的内存单元。
计算机组成原理-第二版-唐朔飞著-课后习题详解
第1章电脑系统概论1. 什么是电脑系统、电脑硬件和电脑软件?硬件和软件哪个更重要?解:P3电脑系统:由电脑硬件系统和软件系统组成的综合体。
电脑硬件:指电脑中的电子线路和物理装置。
电脑软件:电脑运行所需的程序及相关资料。
硬件和软件在电脑系统中相互依存,缺一不可,因此同样重要。
2. 如何理解电脑的层次结构?答:电脑硬件、系统软件和应用软件构成了电脑系统的三个层次结构。
〔1〕硬件系统是最内层的,它是整个电脑系统的基础和核心。
〔2〕系统软件在硬件之外,为用户提供一个基本操作界面。
〔3〕应用软件在最外层,为用户提供解决具体问题的应用系统界面。
通常将硬件系统之外的其余层称为虚拟机。
各层次之间关系密切,上层是下层的扩展,下层是上层的基础,各层次的划分不是绝对的。
3. 说明高级语言、汇编语言和机器语言的差异及其联系。
答:机器语言是电脑硬件能够直接识别的语言,汇编语言是机器语言的符号表示,高级语言是面向算法的语言。
高级语言编写的程序〔源程序〕处于最高层,必须翻译成汇编语言,再由汇编程序汇编成机器语言〔目标程序〕之后才能被执行。
4. 如何理解电脑组成和电脑体系结构?答:电脑体系结构是指那些能够被程序员所见到的电脑系统的属性,如指令系统、数据类型、寻址技术组成及I/O机理等。
电脑组成是指如何实现电脑体系结构所表达的属性,包含对程序员透明的硬件细节,如组成电脑系统的各个功能部件的结构和功能,及相互连接方法等。
5. 冯•诺依曼电脑的特点是什么?解:冯•诺依曼电脑的特点是:P8●电脑由运算器、控制器、存储器、输入设备、输出设备五大部件组成;●指令和数据以同同等地位存放于存储器内,并可以按地址访问;●指令和数据均用二进制表示;●指令由操作码、地址码两大部分组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置;●指令在存储器中顺序存放,通常自动顺序取出执行;●机器以运算器为中心〔原始冯•诺依曼机〕。
6. 画出电脑硬件组成框图,说明各部件的作用及电脑系统的主要技术指标。
操作系统概论重点整理(张琼声版)
操作系统概论—02323(2017年张琼声版本)第一章:操作系统简介操作系统概念:操作系统就是一种复杂得系统软件,就是不同程序代码、数据结构、初始化文件得集合,可执行。
操作系统就是提供计算机用户与计算机硬件之间得接口,并管理计算机软件与硬件资源,并且通过这个接口使应用程序得开发变得简单、高效。
接口就是两个不同部分得交接面。
接口分为硬件接口与软件接口,计算机得所有功能最终都就是由硬件得操作来实现得,计算机屏蔽了对硬件操作得细节.操作系统完成得两个目标:错误!与硬件相互作用,为包含在所有硬件平台上得所有底层可编程部件提供服务。
错误!为运行在计算机系统上得应用程序(即用户程序)提供执行环境现代计算机特点就是支持多任务,,一方面保证用户程序得顺利执行,另一方面使计算机系统资源得到高效得利用,保证计算机系统得高性能操作系统得功能:处理机管理、内存管理、设备管理、文件管理。
操作系统得发展:无操作系统-—单道批处理系统—-多道批处理系统—-微机操作系-—实时操作系统无操作系统阶段:电子管,无存储设备,第一台:1946年宾夕法尼亚大学得「埃尼阿克」单道批处理系统:晶体管,磁性存储设备,内存中有一道批处理作业,计算机资源被用户作业独占。
吞吐量就是指单位时间内计算机系统处理得作业量多道程序系统:集成电路芯片,出现了分时操作系统(多个终端).微机操作系统:第一台Intel公司顾问GaryKildall 编写得CP/M系统,就是一台磁盘操作系统,用于Intel8080、实时操作系统:广泛应用于各种工业现场得自动控制、海底探测、智能机器人与航空航天等。
批处理、实时、分时系统得优缺点比较:单道批处理系统:自动性、顺序性、单道性。
优点:减少了等待人工操作得时间缺点:CPU资源不能得到有效得利用。
多道批处理系统:多道性、无序性、调度性、复杂性。
优点:能够使CPU与内存IO资源得到充分利用,,提高系统得吞吐量。
缺点:系统平均周转时间长,缺乏交互能力.分时系统:多路性、及时性、交互性、独立性。
ch2第2章 操作系统结构-曲明成解析
15
2019/2/22
操作系统
第2章 操作系统结构
2.4 系统调用类型
五大类:进程控制、文件管理、设备管理、信息维护、通信
应用程序
用户态
类似于微 内核,核 心内核具 系统调用接口 有基本功 核 能,内核 内核(进程管理、 模块 心 掌握其他 存储管理、文件 态 模块加载 和通信的 管理、设备管理、 设备驱动 接口,模 网络管理) 块之间可 以相互调 用 计算机硬件 Linux单内核结构 19
系统库(函数库)
单 内 核
2019/2/22
将集成到操作系统中,一些语音命令将 同传统的图形用户接口和命令行具有相同的能力。
2019/2/22
操作系统
第2章 操作系统结构 总结前述最重要的概念 2.3 系统调用
命令行: 命令程序+shell+字符显示 GUI: 消息处理程序+消息框架+图形显示 应用程序: 将上述部分组成一个整体…
2019/2/22
UNIX操作系统
21
操作系统
第2章 操作系统结构
2.6 操作系统结构 3. 微内核结构:将最基本的功能作为内核存在,主要包括最小的 进程管理、内存管理和通信功能,其他功能作为系统程序或 用户程序出现。采用CS模式(client-server)
用户 进程
客户 进程1
操作系统 服务进程
检查
内核态可以访问任何数据, 用户态不能访问内核数据
DPL 被调用代码段级别
操作系统结构
蒲晓蓉操作系统原理课件第2章-1
超时 超时
I/O请求
29 s+0 30 s+1 31 s+2 32 s+3 33 s+4 34 s+5
35 a+6 36 a+7 37 a+8 38 a+9 39 a+10 40 a+11
41 s+0 42 s+1 43 s+2 44 s+3 45 s+4 46 s+5
• 系统分别记载各PCB链表的起始地址
PCB多级队列
就绪队列指针
PCB1 Ready
PCB2 Ready
某阻塞队列指针
PCB1 Blocked
PCB2 Blocked
执行指针
PCB1 Running
Λ
图2.5 多级队列
PCBn Ready
Λ
PCBn Blocked
Λ
2.2 进程的状态
进程执行轨迹
• 假设分派程序分派处理机需要依次执行 指令序列:s+0,s+1,…,s+5
• 进程A的执行轨迹为a+0,a+1,a+2,a+3,…
• 进程B的执行轨迹为b+0,b+1,b+2,b+3,…
• 进程C的执行轨迹为c+0,c+1,c+2,c+3,当它 执行到c+3指令时遇到了I/O指令,需要 释放处理机,进行输入/输出操作
PCB1 Running
PCB1
PCB2 Ready
PCB2
图2.3 单一队列PCB
华电操作系统第二章
2.1
进程的基本概念(14)
进程控制块(PCB)
2.进程控制块中的信息
3)进程调度信息: 在PCB中还存放一些与进程调度和进程对换有关的信息。包括: ★进程状态——作为调度和对换时的依据。 ★进程优先级——由于描述进程使用处理机的优先级别的一 个整数,优先级高的进程优先获得处理机。 ★进程调度所需的其它信息——它们与所采用的进程调度算 法有关。…… ★事件——即阻塞原因。
2.1
进程的基本概念(9)
进程的特征与状态
进程的三种基本状态的转换:
引起进程状态转换的典型事件:
进程调度:就绪态执行态 时间片完:执行态就绪态 请求I/O:执行态阻塞态 I/O完成:阻塞态就绪态
2.1
进程的基本概念(10)
有些系统除了进程的三种基 本状态外,还有挂起状态。
进程的特征与状态
1.引起进程阻塞和唤醒的事件
▲无新工作可做
系统往往设置一些具有特定功能的系 统进程,每当这种进程完成任务后, 便把自己阻塞起来以等待新任务到来。 如,系统中发送数据的进程,……
2.2
进程控制(2)
2.2.1 进程的创建
当用户进程提出某种请求 后,系统将专门创建一个 进程来提供用户所需的服 务。如,文件打印。
1.引起创建进程的事件
▲用户登录
▲作业调度
▲提供服务
▲应用请求:是基于应用进程的需求,由应用进 上述三种情况,都是由系统内核 程自己创建一个新进程,以便新进 为它创建一个新进程。 程以并发运行方式完成特定任务。
2.2
进程控制(4)
越界错误 保护错 —— 试图访问不允许访问的 资源或文件,或者以不适当方式访问 非法指令 特权指令错 —— 用户程序试图执行 只允许OS执行的指令 运行超时 等待超时算术运算错——被0除 I/O故障
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2019/2/22
操作系统
第2章 操作系统结构
2.1 操作系统服务
操作系统服务一般包括:
用户界面:CUI、GUI 程序执行:装入程序、运行程序 I/O 操 作:底层的I/O操作(启动、读写、关闭等) 文件系统操作:创建/复制/移动/删除/检索文件/目录、 列举文件信息等 通 信:IPC(进程间通信)、RPC(远程过程调用)等 错误检测:硬件错误、算术溢出、非法地址访问等 资源分配:CPU、存储器、外部设备等 统 计:用户用时记帐、资源利用率等 保护与安全:登录验证、进程越界访问、非法访问等
2019/2/22
2
操作系统
第2章 操作系统结构
2.2 操作系统的用户界面
对大多数用户来说,操作系统是一个“黑盒子” 系统接口—用户通过它来使用操作系统
键盘命令 鼠标点击 网络数据
…
操作系统
…
屏幕输出 文件改变
引导告诉了我们这个盒子是盒子”之前要“了解盒子的入口” 3
Java API 10000多个 Linux2.X版本有200多个系统调用 SystemCall更底层,使用需知道更多细节 API是用SystemCall封装而成,使用方便, 程序可移植性好
15
2019/2/22
操作系统
第2章 操作系统结构
2.4 系统调用类型
五大类:进程控制、文件管理、设备管理、信息维护、通信
应用程序 系统驻留程序 MS-DOS设备驱动 ROM BIOS设备驱动
2019/2/22 哈工大计算机学院 MS-DOS 层次结构 18
操作系统
第2章 操作系统结构
2.6 操作系统结构 2. 模块化:面向对象技术生成模块化的内核。使用动态加载模 块,现代UNIX,Solaris,Linux, Mac os X
怎么实现系统调用? 2.3 系统调用
• 将内核程序和用户程序隔离比较安全!
区分内核态和用户态:一种处理器“硬件设计”
核心态
OS服务 用户态 处理器保护环 当前指令段 最低2位 访问的数据 2019/2/22 段最低2位 CPL(CS) RPL(DS) 0 1 23
当前程序执行在什么态(哪层环)? 由于CS:IP是当前指令,所以用 CS的最低两位来表示: 0是内核态,3是用户态
操作系统
第2章 操作系统结构
2.2 操作系统的用户界面
2.2.1 命令解释程序
命令解释程序是OS的特殊程序 DOS中的
UNIX、Linux中的Shell(B-Shell、C-Shell)
命令解释程序的主要作用是获取并执行用户给定 的下一条命令
内部命令、外部命令
面向专业人员
操作系统
第2章 操作系统结构
基本内容
讨论操作系统结构,一般包括3个方面:
操作系统所提供的服务 2.1 操作系统服务 操作系统为用户和程序员提供的接口 2.2 操作系统的用户界面 2.3 系统调用(重点) 2.4 系统调用类型 2.5 系统程序 操作系统组成部分及其相互关系 2.6 操作系统结构 2.7 虚拟机与分区操作系统
Windows
硬件输入 系统消息队列
应用程序i
WinMain()
消息循环
WM_MOUSEDOWN
WinProc1
WinProc2
应用消息队列i void COutputDlg::OnOK() { GetDlgItemText(IDC_EDIT1,m_outStr); OUTPUT按钮的WinProc() {case WM_MOUSEDOWN: OnOK(); } 使GUI工作,OS提供消息
由谁做? 库函数!
(1) 用户程序中写上一段包含int指令的代码 (2) OS写中断处理代码,获取欲调用程序的编号
(3) OS根据编号转去执行相应的代码
2019/2/22
系统调用编号
11
操作系统
第2章 操作系统结构
系统调用的处理过程
2.3 系统调用
系统调用陷入机构
系统调用处理子程序
A0 SUB0
保护CPU现场 0 1
restore all;
}
用户态
2019/2/22
核心态
13
操作系统
第2章 操作系统结构
2.3 系统调用 系统调用参数传递:规则谁来制定?谁来实现规则? 答案:编译器
系统调用号: 用寄存器eax内容指定
最多直接传递3个参数:用寄存器ebx,ecx,edx 有3种传递参数的方式: (1)直接用寄存器ebx,ecx,edx,最多3个参数 (2)指定内存块,任意多个参数,可以用ebx、 ecx、edx任意2个指定地址和个数 (3)用系统栈,任意多个参数,寄存器可用可不 用(因为参数个数可放在栈内)
2019/2/22 4
操作系统
第2章 操作系统结构
2.2 操作系统的用户界面
命令行是怎么回事?命令是什么? 命令输入后发生了什么?
#include <stdio.h>
int main(int argc, char * argv[ ]) { printf(“ECHO:%s\n”, argv[1]); } gcc –o output output.c ./output “hello”
系统调用
• 用户使用计算机总结:应用操作系统提供的接口编写程序;应用这 些程序解决问题 因此:用户通过OS接口使用计算机;OS接口影响计算机的使用
方式
这么重要,得起个名字: 接口表现为函 数调用,又由OS提供,叫系统调用
系统调用是学习操作系统的首要任务…
2019/2/22 9
操作系统
系统调用
第2章 操作系统结构
更严格的分层:第i层只能调用i-1层提供的函数或调用
分层操作系统结构模型
20
操作系统
第2章 操作系统结构
2.6 操作系统结构 2. 分层结构:整个操作系统分为若干层,至底向上层层封装
最高层:接口 中间层:对对象进行操纵和管理的软件集合 最底层:OS操纵和管理的对象,包括各类软硬件资源
Windows
检查
内核态可以访问任何数据, 用户态不能访问内核数据
DPL 被调用代码段级别
对于指令跳转也一样 实现了隔离…
10
操作系统
第2章 操作系统结构
2.3 系统调用 硬件提供了“主动进入内核的方法” 对于Intel x86,那就是中断指令int(trap陷阱指令) DOS为INT 21H,Windows2K为 2EH,Linux为080H) int指令将使CS中的CPL改成0,“进入内核” 这是用户程序发起的调用内核代码的唯一方式 若用户程序想调内核代码: 须有用户态进入内核态 ,写一段包 含int指令的代码 系统调用的实现:
TaskManager,RegEdit,PS,LS,Kill等
程序开发支持:各类语言编辑/编译器,IDE开发环境,
数据库系统
通
信:远程登录,网上邻居,网页浏览器等
2019/2/22
17
操作系统
第2章 操作系统结构
2.6 操作系统结构 1. 简单结构:整个操作系统近乎是个单一的整体,不注重模 块的划分和接口与功能层次。典型例子:DOS
5
我们可以自己开发的命令行界面!!
操作系统
第2章 操作系统结构
2.2 操作系统的用户界面
2.2.2 图形用户界面
DOS 中的Windows1.0-3.12 Windows中的Desktop Linux中的X-Window Mac OS X Aqua
2019/2/22
操作系统
第2章 操作系统结构 GUI是怎么回事 ? • 鼠标点击OUTPUT以后…
用 户 态 核 心 态
客户 文件服 进程服 主存服 进程2 务器 务器 务器
……
微内核(消息传递、进程调度、内存管理)
计算机硬件
客户通过微内 核发送消息给 2019/2/22 文件服务器 微内核结构模型(QNX, Mach,Vxworks)
22
操作系统
第2章 操作系统结构
2.6 操作系统结构 3. 微内核结构:将最基本的功能作为内核存在,主要包括最小的 进程管理、内存管理和通信功能,其他功能作为系统程序或 用户程序出现。
2019/2/22
14
操作系统
第2章 操作系统结构
2.3 系统调用 API与SystemCall的区别与联系?
API:Application Program Interface API是对SystemCall的封装 Win32 API 2000多个
POSIX API 100多个
信:创建/删除通信连接、收发消息、连接/断开远
端设备
哈工大计算机学院 16
操作系统
第2章 操作系统结构
2.5 系统程序
系统程序:介于操作系统与用户应用程序之间的程序,主要提 供一个方便的环境,利用开发程序和执行程序
文件管理:创建、删除、复制、命名、备份、格式化
等,如资源管理器等
系统维护:监测、设置、性能分析等,如:安装软件,
FILE *fp=fopen("d:\\out.txt","w");
fprintf(fp,m_outStr,m_outStr.GetLength());
2019/2/22 fclose(fp); }
框架和相关API
7
操作系统
第2章 操作系统结构
2.2 操作系统的用户界面
2.2.3还有其他形式的用户界面吗?
操作系统
第2章 操作系统结构
2.6 操作系统结构 2. 分层结构:整个操作系统分为若干层,至底向上层层封装