计算机操作系统教案课程_第1页
计算机操作系统教案课程_第2页
计算机操作系统教案课程_第3页
计算机操作系统教案课程_第4页
计算机操作系统教案课程_第5页
已阅读5页,还剩134页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《计算机操作系统》

教案

备课教师:晁妍职称:助教

教学班级计科专业。9级本科2班

时间:2011年9月已教轮数:]

计算机与信息学院

2011-2012学年度第一学期

课程教学目的及教学要求:

本课程是计算机科学与技术专业的主要专业基础课和主干课。本课程的学习目的在于

使学生掌握操作系统的基本概念、基本原理、设计方法和实现技术,具有初步分析实

际操作系统的能力,为其今后在相关领域开展工作打下坚实的基础。

教学时数与学时分配:共51学时,周学时:17,(分单双周,每次2个学时)

章次标题教学手段学时数

第一章操作系统引论4

第二章进程管理12

第三章处理机调度与死锁4

第四章存储管理10

第五章设备管理6

弟八早文件系统8

第七章操作系统接口4

第八章网络操作系统1

第九章系统安全性1

第十章UNIX系统内核结构1

1__a:

《计算机操作系统》(第三版)汤小丹等

推荐参考书:

[1]《计算机操作系统》(第二版)汤子瀛等西安电子科技大学出版社

[2]《计算机操作系统教程》张尧学史美林清华大学出版社

[3]《UNIX教程》(第2版)(美)SyedMansoorSarwarRobertKoretsky张玉洁

孟祥武译机械工业出版社

[4]《计算机操作系统.学习指导与题解》梁红兵、汤小丹西安电子科技大学出版

[5]《操作系统实验指导一基于linux内核》徐虹编清华大学出版社

第1、2讲(周次:第2周)

(注:线右侧写教学方法、实验演示、新增补内容、重要标注、时间

分配等)

教学章节:

1.1操作系统的目标和作用(简略)

1.2操作系统的发展过程(每种OS的不足与各自特点)

教学目的及要求:

目的:是使学生建立起OS的基本概念。

要求:了解OS的引入和发展;理解多道程序设计技术;

重点、难点:(注:重点和难点如果一致,则写在一起,若不同则应分开写):

OS引入和发展、OS的基本特征和功能。

教学内容:板书设计见PPT。(注:内容每节课1-2页为宜)

复习引入;

首先说明对课程的成绩如何评定,提出学习要求,以及教材的使

用并推荐参考教材)然后介绍本课程的特点、性质和目的,以及如何

学习,最后对本课程内容以及课时分配做简单的介绍。

新课讲授:

操作系统在计算机系统中的地位:(结合课件中图加以说明,由此引

出目标和作用)

计算机系统由硬件利软件组成;操作系统在硬件基础上的第一层软

件;是其他软件和硬件之间的接口。

操作系统在计算机系统中占据着特别重要的地位,是计算机中最重要

的系统软件,是其他系统软件和应用软件运行的基础。

1.1操作系统的目标和作用

1.1.1操作系统的目标

方便性(用户的观点):提供良好的、一致的用户接口。无需了解许多

有关硬件和系统软件的细节。

有效性(系统管理人员的观点):合理地组织计算机的工作流程,管理

和分配硬件、软件资源,提高资源的利用率;提高系统的吞吐量。

可扩充性(开放的观点):操作系统必须能方便地开发、测试和引进新

的系统功能,以适应计算机硬件和体系结构的迅速发展以及应用不断

扩大的要求。给计算机系统的功能的扩展提供开放式的支撑平台。

开放性:可移植性和互操作性

其中有效性和方便性是设计OS时最重要的两个目标,设计现代OS

的主要目标也是对提高资源利用率和方便用户。

1.1.2操作系统的作用

1.从一般用户的观点来看,OS作为用户与计算机硬件系统之间的

接口(桥梁)

用户并不直接与计算机硬件打交道,而是通过操作系统提供的命

令、系统功能调用以及图形化接口来使用计算机。

2.从资源管理的观点来看,OS作为计算机系统资源的管理者(管

家)

处理机的分配和控制,内存的分配和回收,I/O设备的分配和处理,

文件的存取、共享和保护工作都是由操作系统完成的。主要功能有:

处理机管理、存储管理、设备管理、文件管理

3.从虚拟机的观点来看,OS用作扩充机器(实现了对计算机资源

的抽象)(虚拟机或扩充机)

硬件处在最底层,不附加任何软件的物理计算机与“裸机”.

操作系统是附加在裸机上的第一层,是对裸机的首次扩充,构成了一

个比裸机更强,使用更方便的“虚拟计算机”。

所有系统软件以及更上层的用户应用软件在操作系统虚拟机上运行,

它们受操作系统的统一管理和控制,通过操作系统使用各种资源来完

成特定的任务。

引出OS的定义(以提问的方式)

操作系统的定义:是一组控制和管理计算机硬件和软件资源、合理地

对各类作业进行调度,以及方便用户使用计算机的程序的集合。

1.1.3推动操作系统发展主要动力(稍后补充)

1.2操作系统的发展过程(介绍OS的引入与发展,以及推动发展的

主要动力)

1.2.1无操作系统的计算机系统

1.人工操作方式

1946-50年代中:电子管时代(第一代计算机),计算机速度慢,无操

作系统,计算机资源昂贵;

工作方式:

用户:既是程序员又是操作员;用户是计算机专业人员;

编程语言:机器语言;

输入输出:纸带或卡片;

计算机的工作特点:用户独占全机,资源利用率极低;

CPU等待用户,计算前,手工装入纸带或卡片;计算完成后,手工卸取

纸带或卡片;CPU利用率低;

主要矛盾:人机矛盾一一人工操作严重降低了计算机资源的利用率

提高效率的途径:脱机输入/输出技术。

2.脱机输入/输出(Off-LineI/O)方式:

脱机输入方式是指在一台外围机(它是一台专门用来管理I/O的、

功能较简单的计算机)的控制下,预先将程序和数据从低速输入设备

到磁带,当CPU需要这些程序和数据时,再从磁带高速地读入内存。

类似地,脱机输出方式是指当CPU需要输出时,先高速地将数据写入

磁带,然后在一台外围机的控制下,通过低速输出设备进行输出。相

反,在主机的直接控制下进行的I/O方式被称为联机I/O方式。

脱机I/O方式的主要优点:减少了CPU的空闲时间、提高I/O速度(缓

和了人机矛盾)

1.2.2单道批处理系统(SimpleBatchProcessingSystem)

1.单道批处理系统处理过程

晶体管时代(第二代计算机)

批处理技术是在系统中配置一个监督程序,并在该监督程序的控制

下,能够对一批作业自动进行处理的一种技术。

把一批作业以脱机方式输入到磁带或磁盘上,并在系统中配上监督程

序(Monitor),在它的控制下使这批作业能一个接一个的连续处理。

2.单道批处理系统的特征:

自动性:无需人工干预。

顺序性:作业完成的顺序与它们进入内存的顺序以及作业在磁带上的

顺序一致。

单道性:内存中仅能存放一道作业。

不足:无法充分利用系统中的所有的资源

1.2.3多道批处理系统

1.多道程序设计技术

是指在内存中同时存放若干个作业,使它们共享系统资源并同时运行

的技术。在单处理机环境下,这些作业仅在宏观上同时运行,而在微

观上交替执行。

2.多道批处理系统

采用多道程序设计技术的批处理系统被称作多道批处理系统。多道

批处理系统中必须配置一组软件(调度程序),来解决多道程序对系

统资源的共享和争用问题,并对作业进行合理的组织和调度。

外存(后备队列)一一>作业调度一一〉内存(共享CPU和系统中

的各种资源)

就形成了现代意义上的OS

3.具有的主要特征:(与单道批处理的特征对比)

多道性:内存中可同时存放多个作业

调度性:(作业调度、进程调度)需通过作业调度从外存中选取若干

个作业装入内存,还需通过进程调度在内存的多个作业中分配CPU。

无序性:作业调度的次序与作业在外存中次序无关,作业完成的次序

与作业进入内存的次序也无关。

4.多道批处理系统需解决的问题

(1)多道程序对OS的基本要求

存储管理一系统必须为若干作业分派空间

CPU调度一系统必须在就绪作业中选择准备运行.

设备分配一既方便用户使用,又能提高设备利用率.

(2)多道批处理系统需解决的问题:

处理机管理问题、内存管理问题、设备管理问题、文件管理问题、作

业管理问题

5.优缺点:

优点:资源利用率高一一CPU和内存利用率较高;

系统吞吐量大一一(单位时间内所完成的总工作量)

缺点:平均周转时间长一一(从作业进入系统开始,直至其完成并退

出系统为止所经历的时间),短作业的周转时间显着增长

无交互能力一一整个作业完成后或中间出错时,才与用户交互,不利

于调试和修改;

1.2.4分时系统

1.分时系统的产生

引入:为了解决批处理系统无法进行人机交互的问题,并使多个用户

(包括远程用户)能同时使用昂贵的主机资源,又引入了分时系统。

分时系统:是指在一台主机上连接了多个带有显示器和键盘的终端,

同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主

机中的资源。

2.分时系统的设计思想

(1)采用了分时技术:既把处理机的时间划分成很短的时间片(eg,

几百毫秒),轮流地分配给各个终端作业使用。(若在分配给它的时间

片内,作业仍没执行完,它也必须将CPU交给下一个作业使用,并等

下一轮得到CPU时再继续执行)

(2)设计目标:系统能及时响应用户的终端命令

(3)实现中的最关键问题:使用户能与自己的作业进行交互。(及时

接收、及时处理)

响应时间RT(responsetime):从键盘命令进入(按下回车键为准)到

开始在终端上显示应答的时间间隔.。在分时系统中,响应时间七时间

片X用户数

.改变批处理系统的运行方式:

作业直接进入内存

系统采用时间片轮转方式处理服务请求

4.分时系统的特征

多路性:多个用户同时使用一台计算机,共享CPU和其他资源,充分

利用系统资源。

宏观上:是多个人同时使用一个CPU

微观上:多个人在不同时刻轮流使用CPU

独立性:用户感觉不到计算机为其他人服务,各用户独立操作,互不

干扰。

及时性:通过时间片技术和轮转调度算法保证及时响应。(指用户能

在很短的时间内获得系统的响应,是以人们所能接受的等待时间决定

的,一般为2、3秒)

交互性:能进行广泛的人机交

分时系统的关键问题是使用户能与自己的作业进行交互,或者说它追

求的主要目标是系统能及时响应用户的终端命令。

1.2.5实时系统(实时:及时响应并快速处理!)

引入:由于前几种操作系统都不能很好的满足在实时控制和实时信息

处理领域的需要

1.实时系统及其类型

(1)实时系统是指系统能及时.(或即时)响应外部事件的请求,在规定

的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。

(2)可分成两大类:

实时控制系统:通常使指以计算机为中心的生产过程控制系统和武器

控制系统。这类系统要求实时采集现场数据,并对数据进行及时处理,

进而自动地控制相应的执行机构。如工业自动控制、火炮自动控制、

飞机自动驾驶、导弹制导等。

实时信息处理系统:通常使指对信息进行实时处理的系统。这类系统

要求及时接受从终端(包括远程终端)发来的服务请求,按请求的内

容对信息进行检索和处理,并在很短的时间内为用户做出正确的回答。

如飞机订票、情报检索等。

2.实时任务的类型

(1)按任务执行时是否呈现周期性来划分

周期性实时任务

非周期性实时任务——截止时间

开始截止时间:某任务在某时间以前必须开始执行

完成截止时间:某任务在某口寸间以前必须完成

(2)根据对截止时间的要求来划分(与截止时间联系的是否严格)

硬实时任务

软实时任务

3.三种基本操作系统的比较:

多路性独立性及时性交互性可靠

批处理系无无差差一般

分时系统多终端服务有好好可靠

实时系统多路采集、多路控有最好一般高度

制可靠

补充:推动批处理系统的形成与发展的主要动力:提高系统资源利用

率;

推动分时系统形成与发展的动力室方便是用户;推动OS发展的主要

动力:计算机硬件的不断更新换代

1.2.6微机OS的发展

1.单用户单任务OS:只允许用户程序作为一个任务运行eg.CP/M、

MS-DOS

2.单用户多任务OS:允许用户把程序分为若干个任务,使它们并发

执行eg.MS-Windows

3.多用户多任务OS:允许多个用户通过各自的终端使用一台机器。

eg.UNIX、LINUX

教课小结:

1、了解操作系统的目标,理解操作系统的作用,了解推动操作系统发

展的主要动力

2、了解无操作系统的计算机系统和单道批处理系统。理解多道批处理

系统、分时系统和实时系统的特征和优缺点。

预习要求:

作业布置:

1、作业:

2、补充习题:(若没有可以删去)

推荐参考书目、网站及阅读材料:彳;没[।匚又加

实验一:LINUX入门

第3讲(第3周)

(注:线右侧写教学方法、实验演示、新增补内容、重要标注、时间

分配等)

教学章节:

1.3操作系统的特征

1.4操作系统的主要功能

1.5操作系统的结构设计

教学目的及要求:

1.掌握操作系统的功能和特征。

2.了解分层式结构和微内核结构。

重点、难点:(注:重点和难点如果一致,则""卜一起,若不同则应分开写)

OS的基本特征和功能。

教学内容:板书设计见PPT。(注:内容每节课卜2页为宜)

复习引入:

上节课学习了OS的引论,介绍了OS的发展过程,其中主要功能小节

也是对本书的简要的概括,需要同学们掌握。OS是系统软件,对于

这种大型的软件,在开发的过程中,其软件的结构设计是怎么样的发

展过程,下而就来学习:

新课讲授:

1.3操作系统的特征

采用多道程序设计技术的现代操作系统具有如下四个基木特征:在

发、共享、虚拟、异步。其中并发和共享是OS的两个最基本的特征。

1.并发

并行性:两个或多个事件在同一时刻发生

并发性:两个或多个事件在同一时间间隔内发生

在多道程序系统(单处理器)中,宏观上并行,微观上串行(交

替执行)

程序(静态实体)不能并发执行,为使多个程序并发执行,引入进程。

进程一一在系统中能独立运行并作为资源分配的基本单位,(是活动实

体)。现代OS中还引入一个比进程更小的单位一一线程,此时,一个

进程中可包含若干个线程,资源分配的基本单位虽仍然是进程,但独

立运行、独立调度和分配处理机的基本单位却是线程。

2.共享

在操作系统环境下,所谓共享是指系统中的资源可供内存中多个并

发执行的进程(线程)共同使用

共享方式:

互斥共享方式:资源分配后到释放前,不能被其他进程所用,如打印

机、变量、队列等。

临界资源(独占资源):一段时间内只允许一个进程访问的资源

同时访问方式:在同一段时间内可以被多个作业同时访问。如可重入

代码,磁盘文件。宏观并行微观串行。

并发和共享是OS的两个最基本的特征,又互为存在的条件。

3.虚拟(是以并发和资源共享为前提)

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

虚拟是操作系统管理系统资源的重耍手段,可提高资源利用率。

用于实现虚拟的技术,称为虚拟技术

时分复用技术:虚拟处理机、虚拟设备技术(分时使用方式)

空分复用技术:虚拟内存、虚拟磁盘技术

4.异步性(是并发与共享的必然结果)

指进程的执行顺序和执行时间的不确定性;指进程以人们不可预知的

速度向前推进。

进程的运行速度不可预知:多个进程并发执行,“时走时停”,不可

预知每个进程的运行推进快慢;

无论快慢,结果应该相同。通过进程互斥和同步手段来保证;

1.4操作系统的主要功能

包括:处理机管理功能、存储器管理功能、设备管理功能、文件管理

功能、用户接口

1.4.1处理机管理功能

主要是对处理机的分配和运行进行管理。(创建和撤销进程(线程),

对诸进程(线程)的运行进行协调,实现进程(线程)之间的信息交换,

以及按照一定的算法把处理机分配给进程(线程)。)

主要功能包括:

进程控制:为作业创建进程、撤销已结束的进程,以及控制进程在运

行过程中的状态转换

进程同步:为多个进程(含线程)的运行进行协调(协调方式:互斥和

同步)

进程通信:用来实现在相互合作的进程之间的信息交换;

调度:作业和进程的状态切换,包括作业调度和进程调度

1.4.2存储器管理功能

存储器管理为多道程序的运行提供良好的环境,方便用户使用存储器,

提高存储器的利用率以及能从逻辑上扩充内存

存储器管理功能有:

内存分配:为每道程序分配内存空间,提高存储器的利用率,允许正

在运行的程序申请附加的内存空间;

存储保护:确保每道用户程序都只在自己的内存空间中运行,彼此互

不干扰;

地址映射(变换):进程的逻辑地址到内存物理地址的映射。

内存扩充:用虚拟存储技术解决内存容量不足的问题;

请求调入功能

页面置换功能

1.4.3设备管理功能

设备管理的主耍任务:完成用户进程提出的I/O请求,为用户进程分配

其所需的I/O设备,提高CPU和I/O设备的利用率,提高I/O速度,

方便用户使用I/O设备。

设备管理的功能有:

缓冲管理:匹配CPU和外设的速度,提高两者的利用率和并行操作程

度;

设备分配:根据用户进程的I/O请求、系统的现有资源情况以及按照

某种设备分配策略,为之分配其所需的设备;

设备处理:设备驱动程序用于实现CPU和设备控制器之间的通信。

设备独立性和虚拟设备:

1.4.4文件管理功能

文件系统管理的主要任务:对用户文件和系统文件进行管理,以方便

用户使用,并保证文件的安全性。

文件管理的功能有:

文件存储空间的管理:为每个文件分配必要的外存空间,提高外存的

利用率,并能有助于提高文件系统的运行速度;一一解决如何存放信

息的问题

目录管理:为每个文件建立其目录项,并对众多的目录项加以有效组

织,实现方便的按名存取,能实现文件共享,提供快速的目录查询手

段。(通过目录方式来组织文件,以实现文件的按名存取)一一解决信

息检索问题

文件的读/写管理和保护:实现文件的读写操作,并提供有效的存取

控制功能,保护文件的安全性。一一解决信息安全问题。

1.4.5OS与用户之间的接口

1.用户接口(提供给用户使用)

(1)命令接口:用户可通过该接口向作业发出命令以控制作业的运

行。

联机用户接口:由一组键盘操作命令和命令解释程序组成

脱机用户接口:由一组作业控制语言JCL组成

(2)图形接口:

2.程序接口(提供给程序员在编程时使用)

为用户程序在执行中访问系统资源而设置,由一组系统调用组成。

1.5操作系统的结构设计

操作系统的结构:一整体式(无)结构、模块化结构、层次式结构、微

内核结构

1、整体式OS结构

整体式系统是早期操作系统和一些较小的操作系统所采用的一种结构

模型。整个系统是一堆过程的集合,每个过程都可以随便调用任意其

它过程。采用这种结构的操作系统不仅调试前维护不方便,而且其可

读性和可扩充性都较差。

2、模块化OS结构(关键问题:模块的划分和规定好模块之间的接口)

模块化程序设计技术,是基于“分解”和“模块化”原则来控制大型

软件的复杂度的。将OS按其功能划分为若干个具有一定独立性和大小

的模块。并规定好各模块间的接口,各模块之间能通过该接口实现交

互。衡量模块独立性的两个标准:内聚性和耦合度。

模块化OS结构优缺点

优点:

提高设计的正确性、可理解性和可维护性

增强可适应性;

加速开发过程

缺点:

模块的划分和接口的规定较困难

模块间还存在着复杂的依赖关系,是OS结构变得不够清晰。

(在模块化结构设计中,各模块的设计齐头并进,无法寻找到一个可

靠的决定顺序,造成各种决定的“无序性”)

3、层次式结构

为了将模块化中的“决定顺序”无序性变为有序性,引入了有序分层

法,常采用自底向上法来铺设这些中间层。

层次式结构是对模块化结构的一种改进。将一个操作系统分为若干个

层次,每层又由若干个模块组成,各层之间只存在着单向的依赖关系,

即高层仅依赖于紧邻它的底层。

层次结构的优点:正确性有保证、便于系统维护、扩充

层次结构的缺点:模块间需要通信机制、系统开销大、效率低

在OS结构中,分层式结构是最为成熟的一种OS结构,而20世纪90

年代兴起的微内核结构是最具有发展前途的0S结构。

补充:分层式结构与模块式结构的主要区别在于:

分层结构中各模块之间有序的。分层式结构将各个功能模块按它们的

功能流图的调用次序安排成若干层,各层之间的模块不能像模块式结

构那样通过接口毫无规则地相互依赖、相互调用,而只能是单向调用,

即每层中的模块只能使用较低层模块提供的功能和服务。因此在分层

结构中,模块间的组织结构和依赖关系更加清晰,这不仅增加系统的

可读性,同时还使每一层建立在可靠的基础上,从而提高系统的可靠

性。

4、微内核0S结构

微内核结构是指将C/S技术、面向对象技术用于基于微内核技术的

0S中所形成的结构。

微内核的主要思想是:在操作系统内核中只留下一些最基本的功能,

而将其他服务尽可能地从内核中分离出去。

内核的基本组成:中断处理、进程调度、同步机制

用若干个运行在用户态下的进程(即服务器进程)来实现,形成所谓

的“客户/服务器”模式。普通用户进程(即客户进程)可通过内核向

服务器进程发送请求,以取得操作系统的服务。

C/S技术把OS分为两个部分:

一部分是用于提供各种服务的服务器

另一部分是用于实现OS最基本功能的内核,其全部工作是处理C与S

之间通信。

优点:

易于扩充,易于移植、提高系统的可靠性、提供多种操作环境、适

宜于分布计算模式、有助于多处理器系统的实现、支持实时任务

缺点:

消息传递方式增加开销,使响应变慢

几个商品化系统:WindowsNT,NextStepXINU,OSF/11.3,Workspace

OS,Chorus/MixV.4,acG3,QNX,CTOS

举例:微内核的开放式系统环境、一个分布:弋系统中的客户服务器模

在现代OS的设计中,常常还融入面向对象的程序设计技术。面向对象

技术,该技术是基于“抽象”和“隐蔽”原则来控制OS的复杂度。它

利用被封装的数据结构和一组对数据结构进行操作的过程来表示系统

中的某个资源,这样,可使资源的管理因一致而简化。当前广泛使用

的Windows2000操作系统,就采用了微内核的结构,同时还融入了面

向对象的程序设计技术。

具有面向对象的特点:封装性、继承性、多态性

微内核的基本功能:通常都是一些最基本的功能,如进程管理、存储

器管理、进程间通信、低级I/O功能。

教课小结:

预习要求:

作业布置:

第4讲(第4周)

(注:线右侧写教学方法、实验演示、新增补内容、重要标注、时间

分配等)

教学章节:

第2章进程管理

2.1进程的基本概念

2.1.1程序的顺序执行及其特征

2.1.2前趋图

2.1.3程序的并发执行及其特征

2.1.4进程的特征与状态

2.1.5进程控制块

教学目的及要求:

学习目的是使学生建立起进程的概念。

进程是OS中最重要的基本概念,本章是全书中最重要的一章。要求

掌握进程的基本概念,

重点、难点:(注:重点和难点如果一致,则写在一起,若不同则应分开写)

进程的引入、特征、基本状态、进程控制块

教学内容:板书设计见PPT。(注:内容每节课1-2页为宜)

复习引入:

通过第一章的学习,对操作系统有了整体上的认识,以后的章节就是

对各个部分的功能加以详细的论述。

新课讲授:

第2章进程管理

思考问题:

为什么要引入进程

进程具有哪些基本特征

进程具有哪些基本状态

进程控制块的作用和内容

2.1进程的基本概念

引入进程的目的是为了使多个程序能并发执行。

2.1.1程序的顺序执行及其特征

1.程序的顺序执行

程序的顺序执行是指若干个程序或程序段之间必须严格按照某种先后

次序来执行,仅当前一程序或程序段执行完后,才能执行后面的程序

或程序段。

例:每个程序有三个顺序执行的操作一一I:输入操作、C:计算操

作、P:输出操作

2.程序顺序执行时的特征

(1)顺序性

处理机的操作严格按照程序所规定的顺序执行。

(2)封闭性

程序一旦开始执行,其计算结果不受外界因素的影响。即程序运

行时独占全机资源,资源的状态(除初始)只有本程序才能改变它。

(3)可再现性

程序执行的结果与它的执行速度无关(即与时间无关),而只与

初始条件有关。

2.1.2前趋图

为了描述一个程序的各部分(程序段、语句)间的依赖关系,或

是一个大的计算的各子任务间的因果关系,采用前驱图方式。

前趋图是一个有向无循环图(DAG),用于描述程序段或进程之

间执行的先后次序关系。

结点:描述一个程序段或进程,或一条语句。

有向边:结点之间的偏序或前趋关系

?={(P,Pj)^Pj开始前Pi必须完成},若(”)£?,可写成Pi?

Pj

Pi?Pi:Pi必须在Pj开始之前完成

则R是Pj的直接前趋,Pj是Pi的直接后继

初始结点:没有前趋的结点

终止结点:没有后继的结点

例:具有九个结点的前驱图:前趋关系:

P1?P2,P1?P3,P1?P4,P2?P5,P3?P5,P4?P6,P4?P7,P5?P8,

P6?P8,P7?P9,P8?P9

注意:前趋图中绝对不能出现循环

2.1.3程序的并发执行及其特征

1.程序的并发执行

例:在系统中有n个作业,每个作业都有三个处理步骤,输入数据、

处理、输出,即Pi...=1,2,3,...,n)o

这些作业在系统中执行时是对时间的偏序,有些操作必须在其它操

作之前执行,这是有序的,但有些操作是可以同时执行的。

2.程序并发执行时的特征

(1)间断性

在多道程序设计的环境下,程序是并发执行的,它们为完成一项

任务而相互合作,这些程序之间要共享系统的资源,形成了相互制约

的关系。

相互制约导致并发程序具有“执行一一暂停一一执行”这种间

断性的活动规律。

(2)失去封闭性

程序在并发执行时,多道程序共享系统的资源,因而这些资源

的状态由多道程序来改变,程序运行失去封闭性。一程序的运行受到

其他程序的影响。

(3)不可再现性

程序在并发执行时,失去封闭性导致其失去可再现性。重复执行时,

虽执行环境和初始条件相同,但结果却不同。

(加入实例)

2.1.4进程的特征与状态

在计算机中,程序的并发执行具有不可再现性。那么,如何使程序既

能并发执行,又具有可再现性呢?这就必须引入进程的概念,也就是

说,引入进程的目的是为了使程序能够正确地并发执行。

(为什么进程实体却能与其他进程并发执行?)

1进程的特征与定义

(1)进程的特征

结构性、动态性、并发性、独立性、异步性

①结构性

进程控制块(PCB)+程序段+相关的数据段二进程实体。

②动态性一一进程是程序在处理机上的一次执行过程。具有生命期,

它必须由创建而产生,由调度而执行,由撤销而消亡。是进程的一个

最基本的特征。

③并发性一一多个进程实体同存于内存中,在一段时间内同时运行。

以提高资源利用率。只有为程序创建进程后,多个程序才能正确地并

发运行。并发是引入进程的目的,也是进程的另一个最基本的特征。

④独立性一一进程实体是一个能独立运行、独立分配资源和独立接

受调度的基木单位,而程序则不是。

⑤异步性一一进程按各自独立的、不可预知的速度向前推进。

(2)进程(Process)的定义

进程是程序的一次执行。

进程是一个程序及其数据在处理机上顺序执行时所发生的活动。

进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和

调度的一个独立单位。

进程的定义:进程是进程实体的运行过程,是系统进行资源分配

和调度的一个独立单位。

(3)进程与程序的区别

进程是动态的,程序是静态的

进程是暂时的,程序是永久的

进程与程序的组成不同:

进程包括程序、数据和进程控制块(即进程状态信息、)

进程与程序的对应关系:

不是一一对应。通过多次执行,一个程序可对应多个进程;通过调用

关系,一个进程可包括多个程序。

2.进程的三种基本状态

①就绪状态(Ready):进程已获得了除CPU之外的所有资源,处于就

绪态的进程有多个,它们存放在就绪队列中。

②执行状态(Running):已获得CPU的进程进入执行状态。

③阻塞状态(Blocked):进程因发生某个事件(如请求1/()、申请缓

冲空间)而暂停执行的状态。即进程的执行受到阻塞

进程的三种基本状态以及各状态之间的转换关系

对单个进程而言,任何时刻,它只能处于三种基本状态之一,

而随着进程自身的推进和外界环境条件的变化,它的状态可以动态地

转换:处于就绪状态地进程,通过进程调度获得CPU后,便从就绪状

态转换成执行状态;分时系统中,正在执行地进程由于时间片用完而

暂停执行时,便从执行状态转换成就绪状态;正在执行地程序,由于

等待某种事件地完成而无法继续执行时,便从执行状态转换成阻塞状

态;阻塞地进程所等待的事件完成后,便转为就绪状态。

对整个系统而言,每个时刻允许同时有多个处于就绪和阻塞的进

程,但对执行状态的进程,每个处理机最多只允许有一个。

3.挂起状态

“挂起”的实质是使进程不能继续执行,即使挂起后的进程处于就绪

状态,它也不能参与对CPU的竞争。因此,被挂起的进程处于静止状

态,相反,没被挂起的进程则处于活动状态,而且,处于静止状态的

进程只有通过“激活”动作,才能转换成活切状态。

引起挂起状态的原因:终端用户的请求、父进程请求、负荷调节的需

耍、操作系统的需要

“挂起”常被用在进程对换中,此时,挂起(即换出)进程可以腾出

内存空间给就绪进程使用;“挂起”还可用在其他场合,如用来调节系

统的负荷、方便用户考查自己的运行进程或父进程考查子进程、方便

操作系统检查运行中的资源使用情况或进行记帐等。

(2)进程状态的转换

①活动就用f静止就绪(挂起、激活)

②活动阻靠f静止阻塞(挂起、激活)

③执行?静止就绪(挂起)

4.创建和终止状态

(1)创建状态

①创建PCB,填写必要的管理信息

②转入就绪状态并插入就绪队列中

一般而言,此时的进程已拥有了自己的PCB,但进程自身还未进入主

存,即创建工作尚未完成,进程还不能被调度运行,其所处的状态就

是创建状态。

(2)终止状态

①等待OS进行善后处理

②将其PCB清零,并将PCB空间返还系统。

进入终止态的进程以后不能再执行,但在OS中依然保留一个记录供

其他进程收集,一旦其他进程完成了对终止状态进程的信息的提取

后,OS将删除该进程。

思考问题:

问题:PCB的作用,为什么说是进程存在的唯一标志?

2.1.5进程控制块

为了描述和控制进程的运行,系统为每个进程定义了一个数据结

构进程控制块(PCB)o

进程控制块的作用

存放进程的管理和控制信息的数据结构称为进程控制块。它是

进程管理和控制的最重要的数据结构。PCB是进程实体的一个组成部

分,在其中记录了OS所需的、用于描述进程的当前状态以及控制进

程的全部信息。其作用是将程序变成可并发执行的进程。系统根据进

程的PCB感知到一进程的存在,并对它进行控制,因此,进程控制块

是进程存在的唯一标志。由于PCB要被系统频繁访问,它必须常驻内

存。

在创建时,建立PCB,并伴随进程运行的全过程,直到进程撤消而撤消。

PCB就象我们的户口。系统的所有PCB组织成链表或队列,常驻内存的

PCB区。

2.进程控制块中的信息

1)进程标识符信息

每个进程都必须有一个唯一的标识符。另外,还可以用父进程的标

识符、子进程的标识符来描述进程的家族关系。

内部标识符:便于系统使用

外部标识符:便于用户使用

2)处理机状态信息

处理机状态信息主要由处理机的各种寄存器中的内容组成。处理

机运行时的信息存放在寄存器中,当被中断时这些信息要存放在PCB

中。

通用寄存器、指令计数器、程序状态字PSW、用户栈指针

3)进程调度和控制信息一一用于进程调度和控制。

主要包括进程状态、优先级、等待和使用CPU的时间总和、程序和数

据的地址、进程同步和通信信息、资源清单和进程队列指针等。

3.进程控制块的组织方式

在一个系统中通常有许多PCB,称为PCB集合。为了便于管理,系统必

须用适当的方式将PCB组织起来,常用的方式有链接和索引方式。

1)链接方式

把具有同一状态的PCB用其中的链接字链接成一个队列。

就绪队列;若干个阻塞队列;空白队列

2)索引方式

系统根据所有进程的状态建立几张索引表,把各表的内存首地址

记录在内存的专用单元中。索引表的表目中记录了相应状态的某个PCB

在PCB表中的地址。

其他方式:线性表或链表

教课小结:

预习要求:

作业布置:

第5讲(第4周)

(注:线右侧写教学方法、实验演示、新增补内容、重要标注、时间

分配等)

教学章节:

2.2进程控制

2.2.1进程的创建

2.2.2进程的终止

2.2.3进程的阻塞与唤醒

2.2.4进程的挂起与激活

2.3进程同步

2.3.1进程同步的基本概念

2.3.2信号量机制

教学目的及要求:

1.了解进程控制的过程

2.掌握进程间的相互关系,以及进程同步的有效机制--信号量机制。

重点、难点:

信号量的物理意义

教学内容:板书设计见PPT。

复习引入:

上次课提及到进程的几种状态以及之间如何转换,本次课将详细介绍

引起进程各种状态的原因,以及相应原语的创建过程。

新课讲授:

2.2进程控制

进程控制是进程管理中最基本的功能,它用于创建和撤销进程,

并对进程在整个生命周期中各种状态之间的转换进行有效控制。进程

控制是OS的内核通过原语来实现的。

原语的作用是为了实现进程通信和控制,是由若干条指令组成

的,用于完成一定功能的一个过程;原语的执行具有原子性,即原语

在执行过程中不可分割,在执行过程中不允许被中断。许多系统调用

就是原语。

处理机运行时的两种状态:核心态和用户态,

(1)系统状态:也叫管态或核心态,它具有较高的特权,能执行一

切指令,访问所有寄存器和存储区。通常,OS内核就运行在系统态

下。

(2)用户态:也叫目态,是一种具有较低特权的执行状态。它只能

执行规定的指令、访问规定的寄存器和存储区。通常用户程序都运行

在用户态。

用户态时不可直接访问受保护的OS代码;

核心态时执行OS代码,可以访问全部进程空间

通过这两个状态的划分,可防止用户程序破坏OS内核代码和数据。

2.2.1进程的创建

1.进程图

描述进程的家族关系的有向树(结点:代表进程,根结点为

该家族的祖先;有向边:父子关系;树:表示一个家族)

进程P创建了进程P,则R是巳的父进程,P」是P的子进程,

用一条由进程R指向进程P,的有向边来描述。

创建父进程的进程为祖先进程,由此形成进程树,树根为进程家

族的祖先。

提问:进程图与前趋图比较

(1)前趋图:描述的是任务之间的前趋关系,只有在前趋进程完成

后,其后继进程才能运行

(2)进程图:创建者和被创建者可以并发执行,也可以父进程等待其

所有子进程结束后再执行,这完全取决于创建原语和创建者的需要。

2.引起创建进程的事件

在多道程序环境中,只有进程才能在系统中运行。导致创建进程

的典型事件有:(分时系统的)用户登录、(批处理系统中的)作业调

度、提供服务这三种情况是由系统内核为其创建一个新进程。

应用请求一一应用程序本身也可以根据需要去创建新的进程(自己创

建一个新进程)

3.进程的创建

操作系统发现要求创建新进程的事件后,调用进程创建原语

Croat()创建新进程。

创建过程:

(1)申请空白PCB:申请进程标识符,并从PCB集合中索取一个空白

PCB

(2)为新进程分配资源:为新进程的程序和数据以及用户栈分配必要

的内存空间。

⑶初始化进程控制块:初始化标识信息、处理机状态信息、进程调度

和控制信息。

(4)将新进程插入就绪队列

2.2.2进程的终止

当进程完成任务或遇到异常情况和外界干预需要结束时,应通过

进程终止原语来终止进程。终止进程的实质是收回PCB。

1.引起进程终止的事件

1)正常结束一一用于表示进程已经运行完成的指示

2)异常结束一一运行间,某些错误和故障而迫使进程终止

越界错误、保护错、非法指令、特权指令错•、运行超时等

3)外界干预一一并非异常事件,而应外界的请求而终止运行

操作员或操作系统干预、父进程请求、父进程中止

2.进程的终止过程

(1)找到要终止进程的PCB一—根据被终止进程的标识符,从PCB集

合中检索出该进程的PCB,从中读出该进程的状态。

⑵若被终止进程正处于执行状态,应立即终止该进程的执行,置调

度标志为真,用于指示该进程被终止后应重新进行调度。

(3)终止属于该进程的所有子孙进程一一若该进程有子孙进程,应将

其所有子孙进程予以终止,以防他们成为不可控的进程。

(4)释放终止进程所拥有的全部资源一一将被终止进程所拥有的全

部资源,或归还其父进程,或归还系统。

(5)将终止进程移出它所在的队列并收回PCB一一将被终止进程的

PCB从所在队列或链表中移出,等待其他程序搜索信息

2.2.3进程的阻塞与唤醒

1.引起进程阻塞和唤醒的事件

1)新数据尚未到达

2)无新工作可做

3)请求系统服务

4)启动某种操作

当正在执行的进程需要等待某种事件的完成或本身无新工作可做时,

应调用阻塞原语将自己从执行状态转换为阻塞状态

2.进程阻塞过程一一是进程本身的一种主动行为

调用阻塞原语阻塞自己,中止该进程的执行,将PCB中的状态改

为阻塞,并加入到阻塞队列中;然后转进程调度,将处理机分配给另

一进程,并进行进程切换以及处理机状态的保护与重新设置。

3.进程唤醒过程

阻塞进程等待的事件发生,有关进程调用唤醒原语把等待该事件

的进程唤醒。

唤醒原语的执行:把阻塞进程从等待该事件的阻塞队列中移出,

将其PCB中的现行状态改为就绪,将PCB插入到就绪队列中。

阻塞原语与唤醒原语作用相反,成对使用。

注意:阻塞是进程自己阻塞自己的,而进程唤醒不是自己唤醒自己,

它需要另一进程来实现。

2.2.4进程的挂起与激活

1.进程的挂起

当出现引起进程挂起的事件时,系统利用挂起原语将指定进程或

处于阻塞的进程挂起。

挂起原语的执行:检查被挂起进程的状态,若处于活动就绪,则

改为静止就绪,若处于活动阻塞,则改为静止阻塞,将该进程PCB复

制到内存指定区域,若挂起的进程正在执行,则重新进行进程调度。

如果挂起是为了对换,则在挂起进程时还必须将它换出到外存中。

2.进程的激活过程

当发生激活进程的事件时,系统利用激活原语将指定进程激活。

激活原语先将进程从外存调入内存,检查该进程的状态,若处于

静止就绪,则改为活动就绪,若处于静止阻塞,则改为活动阻塞。若

进程转换成活动就绪状态,而系统又采用抢占调度策略,则应检杳该

进程是否有权抢占CPU,若有则应进行进程调度。同样,若挂起是为

了对换,则在激活被挂起的进程时还必须将它调入内存。

2.3进程同步

思考问题:

1)引入进程同步的目的

2)临界资源和临界区

引入进程同步:OS引入进程提高了资源利用率和系统吞吐量,

但由于进程的异步性导致了系统混乱,尤其争用临界资源时,(引用

实例:当多个进程去争用一台打印机时,有可能使多个进程的输出结

果交织在一起难于区分)。为此,OS必须引入某种机制,即进程的同

步机制(进程同步)。

进程同步是指对多个相关进程在执行次序上进行协调,它的目的

是使系统中诸进程之间能有效地共享资源和相互合作,从而使程序的

执行具有可再现性。用来实现同步的机制被称作同步机制。

2.3.1进程同步的基本概念

在多道程序的环境下:所有进程都是相互独立的、进程以异步

方式并发执行,致使进程在活动中会相互制约

1.两种制约关系

直接:相互制约关系源于进程合作,表现为:进程--进程(同步)

间接:相互制约关系源于资源共享,表现为:进程-一资源--进程(互

斥)

(1)同步

同步是进程间共同完成一项任务时直接发生相互作用的关系

同步举例:输入进程和计算进程通过单缓冲区来协调工作

同步进程间具有合作关系

在执行时间上必须按一定的顺序协调进行

(2)互斥

互斥是并发执行的多个进程由于竞争同一资源而产生的相互排斥的关

互斥进程彼此在逻辑上是完全无关的

它们的运行不具有时间次序的特征

2.临界资源

一次仅允许一个进程使用的共享资源,如果多个进程同时使用这

些资源,则有可能造成系统的混乱,如:打印机,多个进程同时使用

一台打印机,将使其输出结果交织在一起,难于区分;又如共享变量,

多个进程同时使用一个共享变量,会使结果具有不可再现性。

3.临界区(如何保证诸进程互斥地访问临界资源)

每个进程中访问临界资源的那段代码叫临界区。

对欲访问的临界资源进行检查,进入区

若此刻未被访问,设正在访问的标志

访问临界资源临界区

将正在访问的标志恢复为未被访问的标志……退出区

其余部分剩余

为了使多个进程能有效地共享临界资源,并使程序的执行具有可再现

性,系统必须保证它们互斥地使用临界资源,即保证它们互斥地进入

自己地临界区。如果一进程已进入临界区使用临界资源,另一企图进

入临界区使用同一临界资源的进程便必须等待,直到前一进程退出临

界区为止。不难看出,互斥的实质就是同步,互斥是同步的一种特殊

形式。

4.同步机制应遵循的规则

为实现进程互斥地进入自己地临界区,采用同步机制来协调各进程间

地运行。

空闲让进一临界资源空闲时,应允许一个请求进入临界区的进程立

即进入自己的临界区,以便有效地利用资源。

忙则等待一一当临界资源正被访问时,其他要求进入临界区地进程必

须等待,以保证对临界资源地互斥使用。

有限等待一一任何要求访问临界资源的进程应能在有限的时间内进入

自己的临界区,以免“死等”

让权等待一一不能进入临界区的进程应立即糕放CPU,以免“忙等”

2.3.2信号量机制

思考问题:

信号量的含义(信号量的P、V操作如何实现;各种信号量机制的特点)

为了实现同步,OS引入多种管理机制,其中信号量机制是最有效

的。1965年荷兰Dijkstra提出的进程同步工具。(这个Dijkstra,就

是那个提出"goto有害论”的Dijkstra,就是那个提出信号量和PV

原语,解决了有趣的“哲学家聚餐”问题的Dijkstra,那个Dijkstra

最短路径算法的创造者。曾在1972年获得过素有计算机科学界的诺贝

尔奖之称的图灵奖)

信号量代表可用资源实体的数量,信号量又叫信号灯

(semaphore),是表示资源的实体,是一个与队列有关的整型变量,

除初值外其值仅能由P、V原语操作来改变。操作系统利用信号量对进

程和资源进行控制和管理。

公用(互斥)信号量:用于实现进程之间的互斥,初值为1,它所联系

的一组并发进程均可对其实施P、V操作;

除初值外,信号量的值仅由P、V操作改变

P、V分别代表荷兰语的“等待”/Wait,“发信号”Signal

P、V操作原语

一P操作(wait)原语申请一个单位资源

—V操作(signal)原语释放一个单位资源

1.整型信号量

整型量,除初始化外,仅能通过两个原子悚作来访问。

Wait操作wait(S):WhileS<=0dono-op;

S:=S-1;

Signal操作signal(S):S:=S+1;

Wait、Signal操作是原子操作,不可中断。

整型信号量的主要问题是,只要S<=0,wait操作就会不断地测试,

因而,没能做到“让权等待”

2.记录型信号量

整型信号量未遵循“让权等待”原则,导致“忙等”。

记录型信号量:一般是由两个成员组成的数据结构,其中一个成员是

整型变量,表示该信号量的值,另一个是指向PCB的指针。引入整型

变量value(代表资源数目)、进程链表L(链接所有等待进程)

记录型数据结构:

typesemaphore=record

value:integer;

L:listofPCB;

end;

信号量的值是与相应资源的使用情况有关的。当它的值大于0时,表

示当前可用资源的数量;当它的值小于0时,则其绝对值表示等待使

用该资源的进程数,即在该信号量队列上排队的PCB的个数。

wait(S):S.value:=S.value-1;

S.valueifS.value<0thenblock(S,L)

当S.value<0时表示该类资源已分配完毕,进程应调用block原语自

我阻塞,放弃处理机,插入到链表S.L中。

signal(S):S.value:=S.value+1;

S.valueifS.value<=0thenwakeup(S,L)

若加1后仍是S.valued,则表示在信号量链表中仍有等待该资源

的进程被阻塞,应调用wakeup原语,将S.L链表中的第一个等待进

程唤醒。

前面介绍的进程互斥问题,属于多个进程共享一个临界资源。而AND

型信号量是为了解决多个进程共享多个临界资源。

3.AND型信号量

AND同步机制的基本思想:将进程在整个运行过程中需要的所有

资源,一次性全部分配给进程,待进程使用完后再一起释放。只要尚

有一个资源未能分配给进程,其他所有可能为之分配的资源,也不分

配给它,即对临界资源的分配采取原子操作。

4.信号量集

一般信号量集的几种特殊情况:

Swait(S,d,d),只有一个信号量S,允许每次申请d个资源,若

现有资源数少于d,不予分配。

Swait(S,1,1),蜕化为一般的记录型信号量(S>1时)或互斥信号

量(S=l时)。

Swait(S,1,0),当S>=1时,允许多个进程进入某特定区,当S变

为0后,阻止任何进程进入特定区,相当于可控开关。

教课小结:

预习要求:

作业布置:

实验二Linux进程控制

第6讲(第5周)

教学章节:

2.3.3信号量的应用

实例分析

教学目的及要求:

要求掌握信号量和管程机制的应用

重点、难点:

信号量机制及其应用

教学内容:板书设计见PPT。

复习引入:

总结:信号量的物理意义

问题:信号量的物理含义以及每次wait和signal操作又分别意味什

一般说来,信号量的值与相应资源的使用情况有关。当S>0时,其值

表示可用资源的数量,执行一次Wait操作意味着请求分配一个单位

的资源;若SCO,表示已无资源,申请资源的进程被阻塞,并排入

信号量S的等待队列中,执行一次Signal操作,意味着释放一个单

位的资源。

新课讲授:

2.3.3信号量的应用

1.利用信号量实现进程互斥

为使多个进程能互斥地访问某个临界资源,只需为该资源设置

一互斥信号量mutex,初值为1,然后将访问该资源的临界区置于

wait(mutex)和signal(mutex)之间。

利用信号量实现互斥的说明

1)为临界资源设置一个互斥信号量mutex,其初值为1

2)在每个进程中将临界区代码置于Wait(mutex)和Signal(mutex)

原语之间

3)必须成对使用Wait和Signal原语:遗漏Wait原语则不能保证互

斥访问,遗漏Signal原语则不能在使用临界资源之后将其释放

(给其他等待的进程)

4)Wait、Signal原语不能次序错误、重复或遗漏

2.把信号量作为进程间的同步工具

(实现前驱关系)

若pi是pj的直接前趋,则可设置一个初值为0的公用信号量S,

并将signal(S)操作放在pi后,而在pj前插入wait(S)操作,以保

证pi在pj开始执行之前完成。

举例:设有两个并发执行的进程P1和P2,P1中有语句SI,P2

中有语句S2,希望在S1执行后再执行S2。使进程P1和P2共享一个

公用信号量S,并赋予其初值为0。

进程Pl:SI;signal(S);

进程P2:wait(S);S2;

例一:供者和用者对缓冲区的同步

设2个信号量:

empty一一缓冲区是否为空(初值为1)

full缓冲区是否为满(初值为0)

供者进程用者进程

LI:Wait(empty)L2:Wait(full)

将信息送从缓冲区

入缓冲区;取出信息;

Signal(ful1)Signal(empty)

gotoLIgotoL2

在现实生活中,同步的例子也比比皆是。

例二:在一辆公交车上,司机和售票员各行其职,独立工作。司机负

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论