第二章计算机操作系统官方课件第四版
合集下载
计算机操作系统课件(第四版)第二章资料
索引方式
系统根据所有进程的状态建立相应的索引表 就绪索引表、阻塞索引表等,索引表在内存的首地址记 录在内存的一些专用单元中。
PCB1
PCB2 PCB3 PCB4
执行指针
PCB1 4 PCB2 3 PCB3 0 PCB4 8 PCB5
就绪队列指针
阻塞队列指针
PCB5
PCB6 PCB7 PCB8
进程控制信息: 程序和数据的地址 同步和通信机制 资源清单 链接指针
PCB数目
4、进程控制块的组织方式
一个系统中的PCB数目可为数十个、数百个甚至数千个
线性方式
把所有的PCB都组织在一张线性表中,将表的首地址放 在内存的专用区中。
链接方式
把具有同一状态的PCB,用其链接字链接成一个队列 就绪队列、若干个阻塞队列、空队列
进程的结构图示:
进程控制块
PCB 动态特征的集中反映
程序段
描述要完成的功能
数据段
操作对象及工作区
进程的其他定义:
进程是一个具有一定独立功能的程序在一个 数据集合上的一次动态执行过程。 进程是并发程序的一次执行过程。是系统进 行资源分配和调度的独立单位。 进程是可以和别的计算并发执行的计算。
2.2 进程的描述
进程的定义和特征 进程的基本状态和转换 挂起操作和状态转换 进程管理中的数据结构
2.2.1、进程的定义和特征 进程的定义 进程的特征
进程的定义
进程: 进程是进程实体的运行过程,是系统进行资 源分配和调度的一个独立单位。 进程实体=程序段+相关的数据段+PCB Linux 进 程 组 成
进程的挂起状态
活动 就绪
调度 释放 I/O请求
操作系统教程第四版(孙钟秀)全部课件
• 虚化的例子—虚拟设备、虚拟存储器、虚拟屏幕( 终端)、虚拟信道 、虚拟文件 。
10
3) 资源抽象
• 资源抽象用于处理系统的复杂性,重点解决资源 的易用性。
• 资源抽象指通过创建软件来屏蔽硬件资源物理特 性和接口细节,简化对硬件资源的操作、控制和 使用的一类技术。
• 单级资源抽象与多级资源抽象。
资源抽象
(处理系统的复杂性, 解决资源的易用性)
8
1)资源复用
(1)空分复用共享 --该资源可进一步分割成更多和 更小的单位供进程使用。如内存、磁盘。
(2)时分复用共享--并不把资源进一步分割成更小的 单位,进程可在一个时间片内独占使用整个物理 资源。如处理器。
9
2) 资源虚化
• 是对资源进行转化、模拟或整合,把物理上的一 个资源变成逻辑上的多个对应物的一类技术。
工作流程如下: 操作员集中一批用户提交的作业,由管理程序将 作业从纸带或卡片机输入到磁带上,每当一批作 业输入完成后,管理程序自动把磁带上的第一个 作业装入主存,并把控制权交给作业。当该作业 执行完成后,作业又把控制权缴回管理程序,管 理程序再调入磁带上的第二个作业到主存执行
40
管理程序阶段(2)
2
1.1.1 操作系统的定义和目标
操作系统是管理系统资源、控制程序执行,改善 人机界面,提供各种服务,合理组织计算机工作 流程和为用户有效使用计算机提供良好运行环境 的最基本的一种系统软件。
3
操作系统的主要目标
方便用户使用 扩充机器功能 管理系统资源 提高系统效率 构筑开放环境
中断处理
设备驱动
作业定序
命令和JCL语言解释器
用 户 程 序 区
管理程序的主存组织
10
3) 资源抽象
• 资源抽象用于处理系统的复杂性,重点解决资源 的易用性。
• 资源抽象指通过创建软件来屏蔽硬件资源物理特 性和接口细节,简化对硬件资源的操作、控制和 使用的一类技术。
• 单级资源抽象与多级资源抽象。
资源抽象
(处理系统的复杂性, 解决资源的易用性)
8
1)资源复用
(1)空分复用共享 --该资源可进一步分割成更多和 更小的单位供进程使用。如内存、磁盘。
(2)时分复用共享--并不把资源进一步分割成更小的 单位,进程可在一个时间片内独占使用整个物理 资源。如处理器。
9
2) 资源虚化
• 是对资源进行转化、模拟或整合,把物理上的一 个资源变成逻辑上的多个对应物的一类技术。
工作流程如下: 操作员集中一批用户提交的作业,由管理程序将 作业从纸带或卡片机输入到磁带上,每当一批作 业输入完成后,管理程序自动把磁带上的第一个 作业装入主存,并把控制权交给作业。当该作业 执行完成后,作业又把控制权缴回管理程序,管 理程序再调入磁带上的第二个作业到主存执行
40
管理程序阶段(2)
2
1.1.1 操作系统的定义和目标
操作系统是管理系统资源、控制程序执行,改善 人机界面,提供各种服务,合理组织计算机工作 流程和为用户有效使用计算机提供良好运行环境 的最基本的一种系统软件。
3
操作系统的主要目标
方便用户使用 扩充机器功能 管理系统资源 提高系统效率 构筑开放环境
中断处理
设备驱动
作业定序
命令和JCL语言解释器
用 户 程 序 区
管理程序的主存组织
2024版计算机操作系统第四版ppt课件
分布式处理系统的应用
如云计算、大数据处理等。
分布式文件系统与数据库系统
分布式文件系统的基本概念
01
将文件分布在多个计算机节点上,通过网络进行访问和
管理。
分布式数据库系统的基本概念
02
将数据库分布在多个计算机节点上,通过网络进行访问
和管理,同时保持数据的一致性和完整性。
分布式文件系统和数据库系统的关键技术
文件共享是指多个用户或进程可以同时访问和使用同一文件。
文件保护
文件保护是指操作系统采取一定的措施,防止文件被非法访问、修 改或破坏。
共享与保护的实现方法
操作系统可以通过访问控制列表(ACL)、权限位和加密等机制来 实现文件的共享和保护。
文件操作及实现方法
文件操作
文件操作包括文件的创建、打开、读/写、定位和关闭等。
调度算法的性能评价指标
包括系统吞吐量、处理机利用率、周转时间、响应时间等。
典型的多处理机调度算法
如最短作业优先算法、最高响应比优先算法等。
分布式处理系统的特点与分类
分布式处理系统的特点
自治性、并发性、资源共享、透 明性等。
分布式处理系统的分类
根据系统中计算机的类型和互连 方式,可分为同构型分布式系统 和异构型分布式系统。
并行处理系统的基本结构 包括多个处理单元、互连网络、存储器等部件,通过相互 协作完成并行任务。
并行处理系统的分类 根据处理单元的数量和互连方式,可分为共享内存系统和 分布式内存系统。
多处理机调度算法及性能评价
多处理机调度算法的种类
包括静态调度算法和动态调度算法,其中动态调度算法又可分为集中式调度和分布式调度。
进程调度算法的实现需要考虑系统 效率、公平性和实时性等因素。
操作系统-第2章(3) (第四版)
原语Receive(P1,m1) 表示接收由P1发来的消息m1。 形式: 对称形式:一对一 非对称形式:多对一 (顾客/服务员) 如:提供打印服务的进程; Receive (id,message); 有缓冲(有界,无界),无缓冲;
第二章 进 程 管 理
2. 消息缓冲队列通信机制(直接通信)
消息缓冲通信:是一种直接通信方式,一种可直接以较高的效率传递 较多数据的信息交换方式,被广泛应用于本地进程之间的通信。 每当发送进程欲发送消息时,便形成一个消息缓冲区,其结构如下: typedef struct message buffer { int sender; 发送者进程标识符 int size; 消息长度 char *text; 消息正文 struct message_buffer *next 指向下一个消息缓冲区的指针 }; 消息缓冲区是内存中的一个区域,其中可以存放一条消息。 发送进程可以把消息填写到消息缓冲区中,并把该消息缓冲区插入到 接收进程的消息链上,以待接收进程进行加工处理。
线
程
进程的概念和结构是传统操作系统工作的基础。但是,随着计算机体 系结构从早期的单处理机结构发展到目前的多处理机结构,在多任务的环 境中,为了减少处理机的空转时间以及处理机调度切换时的时间和空间开 销,提高系统的并行能力,因此产生了更小的控制单位:线程。
第二章 进 程 管 理 补充:
多线程的概念首先是在多处理机的并行处理中提出来的。传统的多处 理机由若干台处理机组成,每台处理机每次运行单个现场,即每台处理机 有一个有限硬件资源的单一控制线路。在这样的多处理机系统中,在进行 远程访问期间会出现等待现象,处理机在这段时间间隔内处于空闲状态。 为了提高处理机的并行操作能力,提出多线程的概念。在每台处理机上建 立多个运行现场,这样每台处理机的有多个控制线路,为解决处理机长时 间等待的问题提供了一种有效的机制。一个控制线路就是一个线程,线程 可以用一个现场表示,现场由程序计数器(PC)、寄存器组和所要求的现 场状态状态字组成。
《计算机操作系统》第2章.ppt
IC-MSP<2.0>
main()
CPU调度流程图
系统运行函数
初始化系统 进程列表
系统运行 标志为1
No
退出程序
❖一个线程可以创建和撤销另一个线程; ❖同一进程中的多个线程之间可以并发执行; ❖线程同样有就绪、阻塞和执行三种基本状态。
IC-MSP<2.0>
线程与进程的比较
❖线程是调度和分配的基本单位,而进程是资源拥 有的基本单位; ❖进程间可并发执行,进程中的线程亦可并发执行; ❖进程的调度与切换都是由操作系统内核完成,而 线程则既可由操作系统内核完成,也可由用户程序 进行。
计算机操作系统
回顾
操作系统概论
操作系统基本概念和发展史
操作系统类型
批处理
分时、实时 网络 分布式
操作系统接口及接口实例
IC-MSP<2.0>
第2 章
进程与线程
IC-MSP<2.0>
本章目标
掌握进程的概念 掌握进程调度的原理 掌握进程通信机制 了解线程的概念
IC-MSP<2.0>
什么是进程
IC-MSP<2.0>
进程的三种基本状态
等待态 就绪态
运行态
IC-MSP<2.0>
进程状态的变迁
进进进进
进进1 进进
进进进进
进进3 进进
进进进进进进
进进
进进2 进进
IC-MSP<2.0>
进程调度的概念 进程调度也称为处理机调度,它协调和控制 各进程对CPU的使用。相应的进程调度程序可叫 分配程序或低级调度程序。
IC-MSP<2.0>
IC-MSP<2.0>
main()
CPU调度流程图
系统运行函数
初始化系统 进程列表
系统运行 标志为1
No
退出程序
❖一个线程可以创建和撤销另一个线程; ❖同一进程中的多个线程之间可以并发执行; ❖线程同样有就绪、阻塞和执行三种基本状态。
IC-MSP<2.0>
线程与进程的比较
❖线程是调度和分配的基本单位,而进程是资源拥 有的基本单位; ❖进程间可并发执行,进程中的线程亦可并发执行; ❖进程的调度与切换都是由操作系统内核完成,而 线程则既可由操作系统内核完成,也可由用户程序 进行。
计算机操作系统
回顾
操作系统概论
操作系统基本概念和发展史
操作系统类型
批处理
分时、实时 网络 分布式
操作系统接口及接口实例
IC-MSP<2.0>
第2 章
进程与线程
IC-MSP<2.0>
本章目标
掌握进程的概念 掌握进程调度的原理 掌握进程通信机制 了解线程的概念
IC-MSP<2.0>
什么是进程
IC-MSP<2.0>
进程的三种基本状态
等待态 就绪态
运行态
IC-MSP<2.0>
进程状态的变迁
进进进进
进进1 进进
进进进进
进进3 进进
进进进进进进
进进
进进2 进进
IC-MSP<2.0>
进程调度的概念 进程调度也称为处理机调度,它协调和控制 各进程对CPU的使用。相应的进程调度程序可叫 分配程序或低级调度程序。
IC-MSP<2.0>
IC-MSP<2.0>
汤小丹计算机操作系统官方通用课件第四版计算机操作系统 通用课件
THANK YOU
感谢观看
避免死锁、检测并恢复 死锁、预防死锁。
按顺序申请资源、请求 和持有、预先分配、静 态重分配。
检测死锁、停止进程、 撤销进程、恢复进程。
避免“请求和持有”、 避免“不剥夺”。
03
内存管理
内存的基本概念
内存
01
计算机中重要的硬件资源之一,用于存储运行中的程
序和数据。
内存种类
02 RAM、ROM、Cache等。
设备管理主要是对计算机设备进行管理,包括设备的分配、使 用、维护等。
02
进程管理
进程的基本概念
1 2
进程
程序关于某个数据集合上的一次运行活动,是系 统进行资源分配和调度的基本单位。
进程的特征
独立性、并发性、异步性、结构特征。
3
进程的状态
就绪状态、等待状态、运行状态、结束状态。
进程的创建和终止
进程的创建
内存共享
02
03
内存锁定
多个程序可以共享一些公共的内 存区域,ቤተ መጻሕፍቲ ባይዱ实现数据交换和协作 。
一些关键数据和代码可以被锁定 在内存中,防止被其他程序修改 或破坏。
04
文件系统
文件的基本概念
文件
文件是计算机中存储信息的单位,由数据项、 数据格式和数据结构组成。
文件类型
根据使用需求和存储内容,文件可分为文本文 件、二进制文件、图像文件等。
01
02
03
虚拟内存
通过将内存分为多个逻辑 分区,实现了一种类似于 硬盘的内存管理方式。
页面置换算法
当内存空间不足时,操作 系统会将一些不常用的页 面置换到硬盘上,以释放 内存空间。
页面调度
计算机操作系统(第四版)第二章进程通信
高级通信:用户可以直接利用操作系统所提供的一组 通信命令,高效地传送大量数据的一种通信方式。
2
进程的同步与互斥是一种通信方式,一进 程可通过修改变量或信号量告知另一进程,它 是否可以继续执行下去。利用生产者——消费 者算法,生产者进程可以传送一批数据给消费 进程,或者说生产者通过缓冲区与消费者进行 通信,但P、V操作只能传递信号,信号本身不 包含任何数据,而进程不当还容易导致进程死 锁,因此,称这些同步机构为低级通信机构。
5
1 共享存储器系统
共享存储器系统:相互通信的进程通过共 享某些数据结构或存储区进行通信,因而可进 一步分为: 基于共享数据结构的通信方式;(低效,只 适于传递少量数据) 基于共享存储区的通信方式。为了传送大量 数据,在存储区中划出一块共享存储区,诸进 程可通过对共享存储区进行读或写数据实现通 信。
进程通信
1
进程通信:指进程间的信息交换。 按通信内容可以划分为2种 低级通信:进程之间控制信息的交换称为低级通信。 一般只传送一个或几个字节的信息,达到 控制进程执行速度的作用。(进程的同步和互斥)
信号量机制作为同步工具是卓有成效的,但作为通信工具则不够理想, (效率低。通信对用户不透明。)
15
管道 是指用于连接一个读进程和一个写进 程,以实现它们之间通信的一个共享文 件,又称pipe文件。 向管道(共享文件)提供输入的发 送进程(即写进程),以字符流形式将 大量的数据送入管道;而接收管道输出 的接收进程(即读进程),可从管道接 收数据,由于发送和接收都是利用管道 进行通信的,故称为管道通信。
1 在发送进程把消息写入缓冲区和把缓冲区挂入消息队列时, 应禁止其他进程对缓冲区消息队列的访问。同理,接收进程 取消息时也禁止其他进程访问缓冲区消息队列 2 当缓冲区中没有信息存在时,接收进程不能接收到任何消息
操作系统教程第四版(孙钟秀)全部课件
4
计算机系统的层次结构(1)
用户1
用户2
用户3
用户4
… 用户n
财务系统 航空订票 上网浏览 电子商务 … 科学计算 (应用软件)
编译程序 汇编程序 数据库 … 实用程序 (支撑软件)
操作系统 (系统软件)
计操算作机系硬统件 (系统软件)
5
计算机系统的层次结构(2)
• 硬件层
提供基本的可计算性资源,如处理器、寄存器、存储器 及各种I/O设备。
设设 备备
时分复用共享 空分复用共享
物理计算机
17
1.1.3 操作系统的作用与功能
➢ 操作系统的作用:对内是“管理员”,对外是“ 服务员”:
OS作为用户接口和服务提供者 OS作为作为扩展机或虚拟机 OS作为资源管理者和控制者
18
OS作为用户接口和服务提供者
• 操作系统提供友善的人机接口,使得用户能够方 便、可靠、安全、高效地使用硬件和运行应用程 序;
数据卡或数据带 • 产生计算结果,执行结果从打印机上或卡片机上
输出
38
人工操作阶段的缺点
• 用户上机独占全机资源,造成资源利用率不 高,系统效率低下
• 手工操作多,浪费处理机时间,也极易发生 差错
• 数据的输入,程序的执行、结果的输出均联 机进行,从上机到下机的时间拉得非常长
39
1.2.2 管理程序阶段(1)
算机系统的主存储器并启动进行计算的方法
从宏观上看是并行的 从微观上看是串行的
• 引入多道程序设计技术的目的:可以提高CPU的利 用率,充分发挥计算机硬件的并行性。
44
多道程序设计例(1)
时间
78
130 150
操作系统中,能分配给用户使用的硬件和软件设施 总称为资源,包括两类:硬件资源和信息资源。
计算机系统的层次结构(1)
用户1
用户2
用户3
用户4
… 用户n
财务系统 航空订票 上网浏览 电子商务 … 科学计算 (应用软件)
编译程序 汇编程序 数据库 … 实用程序 (支撑软件)
操作系统 (系统软件)
计操算作机系硬统件 (系统软件)
5
计算机系统的层次结构(2)
• 硬件层
提供基本的可计算性资源,如处理器、寄存器、存储器 及各种I/O设备。
设设 备备
时分复用共享 空分复用共享
物理计算机
17
1.1.3 操作系统的作用与功能
➢ 操作系统的作用:对内是“管理员”,对外是“ 服务员”:
OS作为用户接口和服务提供者 OS作为作为扩展机或虚拟机 OS作为资源管理者和控制者
18
OS作为用户接口和服务提供者
• 操作系统提供友善的人机接口,使得用户能够方 便、可靠、安全、高效地使用硬件和运行应用程 序;
数据卡或数据带 • 产生计算结果,执行结果从打印机上或卡片机上
输出
38
人工操作阶段的缺点
• 用户上机独占全机资源,造成资源利用率不 高,系统效率低下
• 手工操作多,浪费处理机时间,也极易发生 差错
• 数据的输入,程序的执行、结果的输出均联 机进行,从上机到下机的时间拉得非常长
39
1.2.2 管理程序阶段(1)
算机系统的主存储器并启动进行计算的方法
从宏观上看是并行的 从微观上看是串行的
• 引入多道程序设计技术的目的:可以提高CPU的利 用率,充分发挥计算机硬件的并行性。
44
多道程序设计例(1)
时间
78
130 150
操作系统中,能分配给用户使用的硬件和软件设施 总称为资源,包括两类:硬件资源和信息资源。
操作系统(第四版)第02-2章
第二章之进程的同步与通信
2.3.1 进程同步的基本概念
举例: 例一:搬椅子和坐椅子 同学甲 同学乙 ……… ………. if 有空椅子 then 坐下 if 有空椅子 then 搬走 ……… ……….
例二:民航售票(X为某航班的票数)
终端 A
B 终端
主机
终端 C D 终端
例三:交通流量的统计(S表示通过的车
相互感知程度 相互不感知(完全 不了解其它进程 的存在) 间接感知(双方都 与第三方交互, 如共享资源) 直接感知(双方直 接交互,如通信)
交互关系
一个进程对其他 进程的影响
竞争(competition) 一个进程的操作 对其他进程的结 果无影响 通过共享进行协 作 通过通信进行协 作 一个进程的结果 依赖于从其他进 程获得的信息 一个进程的结果 依赖于从其他进 程获得的信息
软件解法 (4)
Peterson算法
进程P 进程Q ………… ………… pturn:=true; qturn:=true; turn:=2; turn:=1; while(qturn && turn=2)while(qturn && turn=1) 临界区 临界区 pturn:=false; qturn:=false; ………… …………
被广泛应用于单处理机和多处理机系统,以及 计算机网络中。
锁机制仅能表示“开”与“关”两种状态;上
锁程序中反复测试W状态,浪费了处理机的时 间;锁机制只能解决互斥,不能用于同步。信 号量同步机制能完满地解决上述问题。
信号量:semaphore
是一个数据结构 定义如下:
struc semaphore { int value;/*整型变量,仅由P、V操作修改 pointer_PCB queue; /*进程等待队列 }
2.3.1 进程同步的基本概念
举例: 例一:搬椅子和坐椅子 同学甲 同学乙 ……… ………. if 有空椅子 then 坐下 if 有空椅子 then 搬走 ……… ……….
例二:民航售票(X为某航班的票数)
终端 A
B 终端
主机
终端 C D 终端
例三:交通流量的统计(S表示通过的车
相互感知程度 相互不感知(完全 不了解其它进程 的存在) 间接感知(双方都 与第三方交互, 如共享资源) 直接感知(双方直 接交互,如通信)
交互关系
一个进程对其他 进程的影响
竞争(competition) 一个进程的操作 对其他进程的结 果无影响 通过共享进行协 作 通过通信进行协 作 一个进程的结果 依赖于从其他进 程获得的信息 一个进程的结果 依赖于从其他进 程获得的信息
软件解法 (4)
Peterson算法
进程P 进程Q ………… ………… pturn:=true; qturn:=true; turn:=2; turn:=1; while(qturn && turn=2)while(qturn && turn=1) 临界区 临界区 pturn:=false; qturn:=false; ………… …………
被广泛应用于单处理机和多处理机系统,以及 计算机网络中。
锁机制仅能表示“开”与“关”两种状态;上
锁程序中反复测试W状态,浪费了处理机的时 间;锁机制只能解决互斥,不能用于同步。信 号量同步机制能完满地解决上述问题。
信号量:semaphore
是一个数据结构 定义如下:
struc semaphore { int value;/*整型变量,仅由P、V操作修改 pointer_PCB queue; /*进程等待队列 }
操作系统课件第四版第二章
一、操作系统内核
通常将一些与硬件紧密相关的模块(如中断处理程 序等)、各种常用设备的驱动程序以及运行频率较高的
模块(如时钟管理、进程调度和许多模块所公用的一些
操作),都安排在紧靠硬件的软件层次中,将它们常驻
内存,即通常被称为的OS内核。
这样安排的目的在于:一是便于对这些软件进行保
护;二是可以提高OS的运行效率。
4. 一个状态转换的发生,是否一定导致另一个转换发 生,列出所有的可能。
增加两种基本状态
• 创建( 新new)状态
– OS 已完成为创建一进程所必要的工作 • 已构造了进程标识符 • 已创建了管理进程所需的表格 – 但还没有允许执行该进程 (尚未同意)
• 因为资源有限
• 终止(退出exit)状态
④ 阻塞—就绪
事件完成
【思考题】
1 .如果一个单处理机系统中有 n 个进程并发执行,在 不考虑程序状态过渡的情况下,执行的进程最多几 个?最少几个?就绪进程最多几个?最少几个?阻 塞进程最多几个?最少几个? 2. 某一时刻,处于执行状态的进程为 0 个,且当前处 理机空闲,处于就绪状态的进程有几个? 3. 有没有这样的状态转换,为什么? 阻塞 —> 执行; 就绪 —> 阻塞
二、进程的创建
1. 进程的层次结构
在 OS 中,允许一个进程创建另一个进程,通常 把创建进程的进程称为父进程,而把被创建的进程称 为子进程。子进程可继续创建更多的孙进程,由此便 形成了一个进程的层次结构。
值得注意的是:在 Windows 中不存在任何进程层
次结构的概念,所有进程都具有相同的地位。
2. 进程图
挂起
活动
调度
释放
挂起 事件 发生 活动
汤小丹计算机操作系统官方课件第四版计算机操作系统课件PPT课件
第17页/共101页
3. 运行时动态链接(Run-time Dynamic Linking) 在许多情况下,应用程序在运行时,每次要运行的模块可能是不相同 的。但由于事先无法知道本次要运行哪些模块,故只能是将所有可能要运 行到的模块全部都装入内存,并在装入时全部链接在一起。显然这是低效 的,因为往往会有部分目标模块根本就不运行。比较典型的例子是作为错 误处理用的目标模块,如果程序在整个运行过程中都不出现错误,则显然 就不会用到该模块。
多层结构的存储器系统 1. 存储器的多层结构 对于通用计算机而言,存储层次至少应具有三级:最高层为CPU寄
存器,中间为主存,最底层是辅存。在较高档的计算机中,还可以根据具 体的功能细分为寄存器、高速缓存、主存储器、磁盘缓存、固定磁盘、可 移动存储介质等6层。如图4-1所示。
第2页/共101页
• 图4-1 计算机系统存储层次示意 第3页/共101页
第30页/共101页
• 图4-9 内存回收时的情况 第31页/共101页
• 图4-10 内存回收流程 第32页/共101页
基于顺序搜索的动态分区分配算法 1. 首次适应(first fit,FF)算法 我们以空闲分区链为例来说明采用FF算法时的分配情况。FF算法要
求空闲分区链以地址递增的次序链接。在分配内存时,从链首开始顺序查 找,直至找到一个大小能满足要求的空闲分区为止。然后再按照作业的大 小,从该分区中划出一块内存空间,分配给请求者,余下的空闲分区仍留 在空闲链中。若从链首直至链尾都不能找到一个能满足要求的分区,则表 明系统中已没有足够大的内存分配给该进程,内存分配失败,返回。
第4页/共101页
主存储器与寄存器 1. 主存储器 主存储器简称内存或主存,是计算机系统中的主要部件,用于保存进
3. 运行时动态链接(Run-time Dynamic Linking) 在许多情况下,应用程序在运行时,每次要运行的模块可能是不相同 的。但由于事先无法知道本次要运行哪些模块,故只能是将所有可能要运 行到的模块全部都装入内存,并在装入时全部链接在一起。显然这是低效 的,因为往往会有部分目标模块根本就不运行。比较典型的例子是作为错 误处理用的目标模块,如果程序在整个运行过程中都不出现错误,则显然 就不会用到该模块。
多层结构的存储器系统 1. 存储器的多层结构 对于通用计算机而言,存储层次至少应具有三级:最高层为CPU寄
存器,中间为主存,最底层是辅存。在较高档的计算机中,还可以根据具 体的功能细分为寄存器、高速缓存、主存储器、磁盘缓存、固定磁盘、可 移动存储介质等6层。如图4-1所示。
第2页/共101页
• 图4-1 计算机系统存储层次示意 第3页/共101页
第30页/共101页
• 图4-9 内存回收时的情况 第31页/共101页
• 图4-10 内存回收流程 第32页/共101页
基于顺序搜索的动态分区分配算法 1. 首次适应(first fit,FF)算法 我们以空闲分区链为例来说明采用FF算法时的分配情况。FF算法要
求空闲分区链以地址递增的次序链接。在分配内存时,从链首开始顺序查 找,直至找到一个大小能满足要求的空闲分区为止。然后再按照作业的大 小,从该分区中划出一块内存空间,分配给请求者,余下的空闲分区仍留 在空闲链中。若从链首直至链尾都不能找到一个能满足要求的分区,则表 明系统中已没有足够大的内存分配给该进程,内存分配失败,返回。
第4页/共101页
主存储器与寄存器 1. 主存储器 主存储器简称内存或主存,是计算机系统中的主要部件,用于保存进
计算机操作系统(第四版)第2章 进程的描述与控制1
14
进程:
资源拥有者,动态的。 (目标:协同完成同一个任务 (目标:协同完成同 个任务!)
15
线 线程
一般不拥有资源,是受派遣者 (只负责 从这条线过的 必须缴费) (只负责:从这条线过的,必须缴费)
16
进程的基本概念
程序并发执行时,必会共享系统资源。进程,是 描述程序执行时的动态特征
P32
2.1前趋图程序执行 2.2 进程的描述
N=N+1 N N 1 n+1 1 print(N) n+1 N=0 N=0 0
(2)N:=N+1在print(N)和N=0之后,得到的N值分别为: N:=N+1在print(N)和N=0之后 得到的N值分别为:
print(N) n N 0 N=0 0 N=N+11
I3 C3 P3
9个∆t
t0Δt t1
t2
t3
t4
t5
t6
t7
t8
t9
t10
t
21
顺序执行与并发执行
任意程序都存在着 Ii→Ci→Pi 这样的前驱关系,因 而对一个用户程序的输入 而对 个用户程序的输入、计算和打印这三个操 计算和打印这三个操 作,必须顺序执行。 但在多道环境下并不存在或并不要求Pi→Ii+1 关系, 即Ii 、 Cj 和 Pk(i≠j≠k)之间并不存在前驱关系。
17
程序的顺序执行及其特征 1. . 程序的顺序执行
程序的执行:顺序执行和并发执行; 一个应用程序分成若干个程序段,各程序段之间,必 须按照某种先后次序顺序执行。 用结点(Node)代表各程序段的操作(I代表输入操作,C代 表计算操作,P代表打印操作),用箭头指示操作的先后 次序; 次序
计算机操作系统(第四版)第二章进程的概念
I1
4
C1
P1
I2
C2
P2
程序的顺序执行:一个具有独立功能的程序独占处理机直 至得到最终结果的过程称为程序的顺序执行。
S1: a:=x+y; S2: b:=a-5;//s2必须是s1执行后再执行 S3: c:=b+1;//s3必须是s2执行后再执行
S1 、S2、 S3必须按照顺序依次执行。
2.程序顺序执行时的特征
3
创建状态和终止状态 1.创建状态 是一个进程刚刚建立,但还没有将它 送入就绪队列时的状态 2.终止状态 当一个进程已经正常结束或异常结束, OS已经将它从就绪队列中移出,但还没 有将它撤消时的状态。
28
创建
许可
释放 中断或 时间片用完
终止 获得CPU 正在运行
万事具备, 只欠“东风” CPU I/O完成或 事件发生 欠缺某些条件
S1
S3
S2
S4
10
程序的并发执行及其特征 1.程序的并发执行
一组逻辑上相互独立的程序或程序段在执行过程中, 其执行时间在客观上相互重叠,即一个程序段的执行,尚 未结束,另一个程序段的执行已经开始的这种执行方式。 程序的并发执行可分为两种: (1) 在计算机系统支持并行操作时,如采用多道程序 设计技术,则内存中多道程序处于并发执行状态。
2.进程的三种基本状态
1)就绪(Ready)状态 当进程已经分配到除CPU以外的所有必要的资源后,只 要能获得处理机,就可以立即执行。这时的进程的状态称 为就绪状态。 2)执行状态(Running)(运行状态) 指进程已获得处理机,其程序正在执行。在单处理机 系统中,只能有一个进程处于执行状态。(在多处理机中, 可能有多个进程处于执行状态。)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.1.3 程序并发执行 1. 程序的并发执行 我们通过一个常见的例子来说明程序的顺序执行和并发
执行。在图2-2中的输入程序、计算程序和打印程序三者之 间,存在着Ii→Ci→Pi这样的前趋关系,以至对一个作业的输 入、计算和打印三个程序段必须顺序执行。但若是对一批作 业进行处理时,每道作业的输入、计算和打印程序段的执行 情况如图2-3所示。
段完成特定的功能,它们在执行时,都需要按照某种先后次 序顺序执行,仅当前一程序段执行完后,才运行后一程序段。 例如,在进行计算时,应先运行输入程序,用于输入用户的 程序和数据;然后运行计算程序,对所输入的数据进行计算; 最后才是运行打印程序,打印计算结果。我们用结点(Node) 代表各程序段的操作(在图2-1中用圆圈表示),其中I代表输 入操作,C代表计算操作,P为打印操作,用箭头指示操作的 先后次序。
2.1 前趋图和程序执行
在早期未配置OS的系统和单道批处理系统中,程序的执 行方式是顺序执行,即在内存中仅装入一道用户程序,由它 独占系统中的所有资源,只有在一个用户程序执行完成后, 才允许装入另一个程序并执行。可见,这种方式浪费资源、 系统运行效率低等缺点。
2.1.1 前趋图 为了能更好地描述程序的顺序和并发执行情况,我们先
图2-4 四条语句的前趋关系
2. 程序并发执行时的特征 在引入了程序间的并发执行功能后,虽然提高了系统的 吞吐量和资源利用率,但由于它们共享系统资源,以及它们 为完成同一项任务而相互合作,致使在这些并发执行的程序 之间必将形成相互制约的关系,由此会给程序并发执行带来 新的特征。 (1) 间断性。 (2) 失去封闭性。 (3) 不可再现性。
图2-2 程序顺序执行的前趋图
2. 程序顺序执行时的特征 由上所述可以得知,在程序顺序执行时,具有这样三个 特征:① 顺序性:指处理机严格地按照程序所规定的顺序执 行,即每一操作必须在下一个操作开始之前结束;② 封闭性: 指程序在封闭的环境下运行,即程序运行时独占全机资源, 资源的状态(除初始状态外)只有本程序才能改变它,程序一 旦开始执行,其执行结果不受外界因素影响;③ 可再现性: 指只要程序执行时的环境和初始条件相同,当程序重复执行 时,不论它是从头到尾不停顿地执行,还是“停停走走”地 执行,都可获得相同的结果。程序顺序执行时的这种特性, 为程序员检测和校正程序的错误带来了很大的方便。
进程(或程序)之间的前趋关系可用“→”来表示,如果 进程Pi和Pj存在着前趋关系,可表示为(Pi,Pj)∈→,也可写 成Pi→Pj,表示在Pj开始执行之前Pi 必须完成。此时称Pi是Pj 的直接前趋,而称Pj是Pi的直接后继。在前趋图中,把没有 前趋的结点称为初始结点(Initial Node),把没有后继的结点 称为终止结点(Final Node)。此外,每个结点还具有一个重量 (Weight),用于表示该结点所含有的程序量或程序的执行 时间。
图2-3 程序并发执行时的前趋图
由图2-3可以看出,存在前趋关系Ii→Ci,Ii→Ii+1,Ci→Pi, Ci→Ci+1,Pi→Pi+1,而Ii+1和Ci及Pi-1是重叠的,即在Pi-1和Ci以 及Ii+1之间,不存在前趋关系,可以并发执行。
对于具有下述四条语句的程序段:
S1: a :=x+2 S2: b :=y+4 S3: c :=a+b S4: d :=c+b 可画出图2-4所示的前趋关系。可以看出:S3必须在a和b 被赋值后方能执行;S4必须在S3之后执行;但S1和S2则可以 并发执行,因为它们彼此互不依赖。
这样,上述的三个程序段间就存在着这样的前趋关系:
Ii→Ci→Pi,其执行的顺序可用前趋图2-2(a)描述。 即使是一个程序段,也可能存在着执行顺序问题,下面
示出了一个包含了三条语句的程序段:
S1: a :=x+y; S2: b :=a-5; S3: c :=b+1; 其中,语句S2必须在语句S1后(即a被赋值)才能执行,语句S3 也只能在b被赋值后才能执行,因此,三条语句存在着这样 的前趋关系:S1→S2→S3,应按前趋图2-2(b)所示的顺序执行。
在图2-1(a)所示的前趋图中,存在着如下前趋关系: P1→P2,P1→P3,P1→P4,P2→P5,P3→P5,P4→P6, P4→P7,P5→P8,P6→P8,P7→P9,P8→P9 或表示为:
P={P1, P2, P3, P4, P5, P6, P7, P8, P9} ={(P1, P2), (P1, P3), (P1, P4), (P2, P5), (P3, P5), (P4, P6), (P4, P7), (P5, P8), (P6, P8), (P7, P9), (P8, P9)}
介绍用于描述程序执行先后顺序的前趋图。所谓前趋图 (Precedence Graph),是指一个有向无循环图,可记为 DAG(Directed Acyclic Graph),它用于描述进程之间执行的 先后顺序。图中的每个结点可用来表示一个进程或程序段, 乃至一条语句,结点间的有向边则表示两个结点之间存在的 偏序(Partial Order)或前趋关系(Precedence Relation)。
应当注意,前趋图中是不允许有循环的,否则必然会产 生不可能实现的前趋关系。如图2-1(b)所示的前趋关系中就 存在着循环。它一方面要求在S3开始执行之前,S2必须完成, 另一方面又要求在S2开始执行之前,S3必须完成。显然,这 种关系是不可能实现的。
S2→ 程序的顺序执行 通常,一个应用程序由若干个程序段组成,每一个程序
2.2 进 程 的 描 述
2.2.1 进程的定义和特征 1. 进程的定义 在多道程序环境下,程序的执行属于并发执行,此时它
们将失去其封闭性,并具有间断性,以及其运行结果不可再 现性的特征。由此,决定了通常的程序是不能参与并发执行 的,否则,程序的运行也就失去了意义。为了能使程序并发 执行,并且可以对并发执行的程序加以描述和控制,人们引 入了“进程”的概念。