CHAPTER 3 用户接口与作业管理_第1页
CHAPTER 3 用户接口与作业管理_第2页
CHAPTER 3 用户接口与作业管理_第3页
CHAPTER 3 用户接口与作业管理_第4页
CHAPTER 3 用户接口与作业管理_第5页
已阅读5页,还剩106页未读 继续免费阅读

下载本文档

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

文档简介

♦:♦用户与操作系统的接口

批处理操作系统的作业管理

作业的基本概念:作业、作业步、作业流

♦:♦交互式系统作业管理

♦:♦系统调用

用户程序提出服务请求的手段,基本思想,实

现方法

♦:♦操作系统安装与启动

用户接口与作业管理2

3.1概述

♦:♦程序的启动:

»两个前提条件:1)程序装入内存;2)

PC中已置入该程序在内存的入口地址。

A程序启动方式:

,命令方式

,批处理方式

,EXEC方式

,由硬件装入程序和启动程序执行

自起程序

用户接口与作业管理3

。程序的结束

»正常结束

,返回父程序并回送结果信息;

/释放所用资源,记录使用情况,记帐等

A异常结束

除了正常结束时所作的工作,还应找出错

误原因,并报告给用户。

用户接口与作业管理4

用户与操作系统的接口

»•>•■I・・BI•・»<BI»11I•t■IB4•4•1»tB•Bfl•4BIB4

■**,■,-■»',■*<■»•■»••«»­・,•«•・•■•Mr,・♦-・・••・

♦:♦作业级接口

♦:♦程序级接口

1、作业级接口

操作系统为用户对作业运行全过程控制提供的功能

A联机接口(交互式)

A脱机接口

■■

用户接口与作业管理5

2.程序级接口

系统为用户在程序一级提供有关服务而设置

由一组系统调用命令组成:

♦:♦负责管理和控制运行的程序

。并在这些程序与系统控制的资源和提供的服务

间实现交互作用

♦:♦用汇编语言:在程序中直接用系统调用命令

。用高级语言:可在编程时使用过程调用语句

用户接口与作业管理6

作业的基本概念

(1)作业

用户在一次计算过程中,或者一次事务处理

过程中,要求计算机系统所做工作的总称。

(2)作业步

一个作业可划分成若干部分,称为一个作业

步。典型的作业控制过程:

“编译”、“连接装配”、“运行”

(3)作业流

用户接口与作业管理7

典型的作业步

库函数

动态库函

计算结果

用户接口与作业管理8

3.2批处理系统的作业管理

(1)作业控制语言

。作业说明书一一用户用于描述批处理作业处理过

程控制意图的一种特殊程序。

。书写作业说明书的语言称为作业控制语言(JCL)

(2)作业控制语言的类别

包括:I/O命令、编译命令、操作命令以及条件

命令等

用户接口与作业管理9

作业说明书:

表达用户对作业的控制意图。

内容:

♦:♦作业的基本描述

♦:♦作业控制描述

。资源要求描述

用户接口与作业管理10

作业控制块与作业表

作业控制块

(JCB:JobControlBlock)

♦:♦作业控制块是批处理作业存在的标志;

♦:♦保存有系统对于作业进行管理所需要的全

部信息;

♦:♦位于磁盘区域中。

用户接口与作业管理11

作业控制块的内容

作业控制块中所包含的信息数量及内容因系

统而异。

。较简单的系统

。较复杂的系统

用户接口与作业管理12

作业控制块JCB

作业标知用户名称

用户帐号调度信息

资源需求作业状态

作业类别输入井地址

输出井地址进入系统时间

开始处理时间作业完成时间

作业退出时间资源使用情况

用户接口与作业管理13

■一■

作业控制块的建立

。当作业开始由输入设备向磁盘的输入井传输时,

系统输入程序为其建立一个作业控制块

。进行初始化

♦:♦初始化的大部分信息取自作业说明书

用户接口与作业管理14

作业控制块的使用

需要访问作业控制块的程序

♦:♦系统输入程序

♦:♦作业调度程序

。作业控制程序

♦:♦系统输出程序等

用户接口与作业管理15

作业控制块的撤消

。作业完成后,其作业控制块由系统输出程

序撤消

♦:♦作业控制块被撤消后其作业也不复存在

用户接口与作业管理16

作业表

♦:♦每个作业有个作业控制块

♦:♦所有作业JCB构成一个作业表

♦:♦作业表存放在外存固定区域中,长度是固定

♦:♦限制了系统所能同时容纳的作业数量

A系统输入程序、作业调度程序、系统输出程

序都需要访问作业表

»因而存在互斥问题

用户接口与作业管理17

批处理作业的状态及转换

一个作业从进入系统到运行结束,经历四个

不同的状态:

“进入”

后备

“运行”

“完成”

用户接口与作业管理18

进入状态A后备状态A运行状态A退出状态

数据

作业控制进程出

作业说序

明书

输入设备入输出设备

作业和进程的状态转换图

用户接口与作业管理19

运行状态的作业

二种状态:

♦:♦就绪状态

。执行状态

。等待状态

用户接口与作业管理20

作业的建立

»eBl»«Ba»flfel-«4BIB4B4B

一个作业建立过程的两个子过程:

作业的输入

♦:♦JCB的建立

作业控制块JCB和作业:一一对应关系

用户接口与作业管理21

蜜.......作业的输入...........

Ia1BfB4Bfl»1B4B1■4••»9>I»IBI•tBflBI•IB4B1»IBfl■1»4•IBt94BI»flBIBf•t•

....■…………...………....B

将作业程序、数据和作业说明书从输入设备(例

如键盘)输入到外存,并形成初始信息。

。联机输入

♦:♦脱机输入

♦:.SPOOLing系统

用户接口与作业管理22

建JCB的建立

l-B1*■4-I->4->•*■1*■1"■«­•1-»t->1*■t-■4"1-»*­i•-»t­»!*!1*■•"•

・.***■・•・,,・♦■.R.-M**■,1flrM*Q,■■-■■v-!■r,■,・’■,■■■■■,■一—,M■■,

A在系统把作业信息输入到输入井之后,根据作

业说明书和有关作业信息在外存的位置等,建

立作业控制表JCB。

JCB包含对作业进行管理所必须的信息;

♦:TCB表的数量是一个常数

。外存输入井的大小有限

只有在获得JCB表项和足够输入井空间后

作业才可能创建成功

用户接口与作业管理23

批处理作业的调度

主要功能:

。审查系统能否满足用户作业的资源要求,只要通过调

用相应的资源管理程序的有关部分,审核其表中是否

能满足作业说明书中的要求即可。

作业调度:

♦:♦按照一定的算法从输入井中的后备作业中选取作业

将其投入内存运行。

调度的关键在于选择恰当的算法

用户接口与作业管理24

H调度算法评价

■•・,♦・•M**M*■,'M•♦■,99**MV,■,■-Q,■'M»-M・♦•M•■■vM*•M••・,•OT(M«fB•

。调度实质上是一个策略问题;

♦:♦设定的目标往往是相互冲突的。

目标:

/单位时间内运行尽可能多的作业

,使处理机尽可能保持“忙碌”

,使各种1/0设备得以充分利用

/对所有的作业都是公平合理的

用户接口与作业管理25

要设计一个理想的调度算法是一件十分困难的事

在实际系统中,调度算法往往折衷考虑。

设计调度算法时应考虑的因素:

♦:♦调度算法应与系统设计目标保持一致

♦:♦注意系统资源均衡使用

♦:♦保证提交的作业在截止时间内完成

设法缩短作业平均周转时间

大多数操作系统都采用比较简单的调度算法

用户接口与作业管理26

调度算法性能的衡量

1­»«"■1*■9•4»ItflB|-BtBtBtI4•1»tB«■t■・B•■・■,■・

作业平均周转时间:

假定某一作业进入“输入井”的时间为Si,

它被选中执行,得到计算结果的时间为Ei

它的周转时间为Ti=Ei-Si

则作业平均周转时间为:

n

T=(zTi)X-

.।n

n为被测定作业流中的作业数

用户接口与作业管理27

平均带权周转时间

W=(y—)X1

n

』n

ri为某作业i的实际执行时间

❖T:衡量不同调度算法对同一个作业流的性能

❖W:同一调度算法对不同作业流的性能衡量

用户接口与作业管理28

常见的批处理作业调度算法

•■I»tIIBt»t»«Bt«•B4»«­•I»fl»1*"■t•tB4B4B4•1»t-»«"■4«4BIB«»<-B1»tBI•IBf・

。先来先服务算法(FCFS:FirstComeFirst

Serve)

♦:♦最短作业优先算法(SJF:ShortestJobFirst)

。最高响应比优先算法

(HRN:HighestResponseRatioNext)

响应比区=作业周转时间/作业处理时间

=(作业处理时间+作业等待时间)/作

业处理时间

=1+(作业等待时间/作业处理时间)

用户接口与作业管理29

®

aBiB1IaBt»tB4Bt・・B•B4»4tI»flBIBf•fBtB4B4B1»4»«•IB4•••i»4BI»t»I■fl■f•

■”,・,・・,•■”•■*****■,,,♦♦■'•■>>■>•・,•・二*■«♦・♦•■,■*•・,♦・二■・•・”-■••・,•・♦•・,■,♦■・•・,•・,-■•*sr・”

♦:♦富于优先数调度算法HPF:HighestPriorityFirst)

♦:♦(a)由用户规定优先数(外部优先数)

,用户提交作业时,根据急迫程度规定适当的优先数

/作业调度程序根据JCB优先数决定进入内存的次序

♦:♦(b)由系统计算优先数(内部优先数)

例:可按如下公式计算作业的优先数:

优先数=用户规定优先数-作业处理时间+作业等待

睛间-输出量

用户接口与作业管理30

♦:♦均衡调度算法(分类排队算法)

基本思想:

♦:♦根据系统运行情况和作业属性将作业分类

♦:♦轮流从不同的作业类中挑选作业

目标:

♦:♦力求均衡地利用各种系统资源,发挥资源使

用效率

♦:♦力求使用户满意

用户接口与作业管理31

“.”批处理作她的调度y续充皿”也

例1:将待处理作业分成如下队列:

队列1:计算量大的作业

队列2:I/O量大的作业

队列3:计算量与I/O量均衡的作业

。调度时,在三个队列中各取一些作业

在内存中的作业有的使用处理机

有的使用外部设备

。使得系统的各种资源能得到充分利用

用户接口与作业管理32

…一批处理作业的调度又续IO)………

例2:将待处理作业分成如下三个队列:

队列1:长作业

队列2:中等长度作业

队列3:短作业

。调度时

取队列1一作业,队列2一作业,队列3一作业

♦:♦长作业用户和短作业用户均比较满意

用户接口与作业管理33

作业调度算法应用例子1

♦:♦假设在单道批处理环境下有四个作业,已

知它们进入系统的时间、估计运行时间。

应用先来先服务、最短作业优先和最高响

应比优先作业调度算法,分别计算出作业

的平均周转时间和带权的平均周转时间。

用户接口与作业管理34

作业进入时间估计运行开始时间结束时间周转时间带权周转

时间(分钟)时间

(分钟)

JOB18:001208:0010:001201

JOB28:505010:0010:501202.4

JOB39:001010:5011:0012012

JOB49:502011:0011:20904.5

作业平均周转时间T=112.5

45019.9

作业带权平均周转时间W=4.975

先来先服务调度算法计算结果

用户接口与作业管理35

作业进入时间估计运行开始时间结束时间周转时间带权周转

时间(分钟)时间

(分钟)

JOB18:001208:0010:001201

JOB28:505010:3011:201503

JOB39:001010:0010:10707

JOB49:502010:1010:30402

作业平均周转时间T=95

38013

作业带权平均周转时间W=3.25

最短作业优先作业算法计算结果

用户接口与作业管理36

作业进入时估计运开始时结束时周转时带权周

间行时间间间间转时间

(分钟)(分钟)

JOB18:001208:0010:001201

JOB28:505010:1011:001302.6

JOB39:001010:0010:10707

JOB49:502011:0011:20904.5

作业平均周转时间T

=102.5

41015.1

作业带权平均周转时

间W=3.775

最高响应比优先作业算法计算结果

用户接口与作业管理37

在两道环境下有四个作业

0已知它们进入系统的时间、估计运行时间,

系统采用短作业优先作业调度算法,作业被

调度运行后不再退出。

。但是,当一新作业投入运行后,可按照作业

运行时间长短调整作业执行的次序。

。请给出这四个作业的执行时间序列,并计算

出平均周转时间及带权平均周转时间。

用户接口与作业管理38

作业进入时间估计运行开始时间结束时间周转时间带权周转

时"间(分钟)时间

(分钟)

JOB110:003010:0011:05652.167

JOB210:052010:0510:25201

JOB310:10510:2510:30204

JOB410:201010:3010:40202

作业平均周转时间T=31.25

1259.167

作业带权平均周转时间W=2.292

两道批处理系统中

最短作业优先作业算法计算结果

用户接口与作业管理39

四个作业的执行时间序列为:

J0B1:10:00—10:05,10:40—11:05

JOB2:10:05—10:25

JOB3:10:25—10:30

JOB4:10:30—10:40

两道批处理系统中

最短作业优先作业算法计算结果

用户接口与作业管理40

两道批处理系统中

最短作业优先作业算法分析过程

1•।»1»J•t»II)»1I।»:।t»।।।।1t>।।»it।»»»)i1»i>irii)1।»»>ii।i

■3W**m'O*■*■,.・,*Mr■.■,・•-■•..,■.'flB*.■•♦■,■»

10:00,J0B1进入,只有一作业,JOB1被调入执行

10:05,JOB2到达,最多允许两作业同时进入

所以JOB2也被调入

♦:♦内存中有两作或,哪一个执行?题目规定当一新

作业运行后,可按作业运行时间长短调整执行次

♦:♦即基于优先数可抢占式调度策略

优先数是根据作业估计运行时间大小来决定的

由于JOB2运行时间(20分)比JOB1少

(到10:05,JOB1还需25分钟)

所以JOB2运行,而JOB1等待

用户接口与作业管理41

10:10,JOB3到达输入井,内存已有两作业

JOB3不能马上进入内存;

10:20,JOB4也不能进入内存

10:25,JOB2运行结束,退出,内存中剩下JOB1

输入井中有两作业JOB3和JOB4,如何调度?

♦:♦作业调度算法:最短作业优先

因此JOB3进入内存

比较JOB1和JOB3运行时间

JOB3运行时间短,故JOB3运行

同样,JOB3退出后,下一个是JOB4

JOB4结束后,JOB1才能继续运行

用户接口与作业管理42

o多道程序对平均周转时间的影响

作业流在多道环境下运行

。平均周转时间、带权平均周转时间

比单道环境下都有明显改善

。但是,不是任意作业组合都能改善调度性能

有时甚至可能变坏

用户接口与作业管理43

畲......................................

....■…………...………....B

例:四个各需两小时作业同时投入运行,I/O等待时间均占

25%,即占CPU时间各为1.5小时

根据计算公式,CPU的空转率为0

采用简单轮转法调度,每小时各作业分别占用25%的CPU时间,

算得该作业组合的平均周转时间约为6小时,而平均带权周

转时间约为3

但是,若以单道程序方式运行:

*平均周转时间T=(2+4平均)/4=5小时

*平均带权周转时间W=(1+2+3+4)/4=2,5

用户接口与作业管理44

作业调度与进程调度

9BIa4B••・»9tI»1BI•aBfl■IB414Bt»tB•B1■4BI1<

A作业能否占用处理器?什么时间能够占用处理器?

由进程调度来决定

进程的初始状态为就绪状态

进程调度选择当前可占用CPU处理进程,当它让

出处理器时,进程调度就再选另一作业的进程

作业调度与进程调度相互配合,实现作业的并行

用户接口与作业管理45

批处理作业的控制

♦:♦当作业为执行态时,作业调度程序为其建立一作

业控制进程,由该进程控制作业运行。

。作业控制进程:主要负责控制作业的运行,具体

解释执行作业说明书的每一个作业步,并创建子

进程来完成相应步骤。

一个作业步的处理:

(1)建立子进程(2)为其申请资源

(3)访问该作业的JCB(4)释放占有资源

(5)撤消子进程等

♦:♦作业控制程序只有一个

对应每一处于执行状态的作业有一作业控制进程

用户接口与作业管理46

作业退出

♦:♦把输出结果送到输出设备上(启动缓输

出进程完成)

♦:♦回收各种资源

用户接口与作业管理47

SPOOLing系统工作原理

全称:SimultaneousPeripheral

OperationsOn-Line

含义:

同时的外围设备联机操作(假脱机技术)。

包括:

*输入程序模块

*输出程序模块

米作业调度程序

用户接口与作业管理48

SPOOLing系统工作示意图

通道

输入管输出管

理模块理模块

主机系统

用户接口与作业管理49

雷.................................

・・■•・”•■»*■•♦■,,■,■■*•**•・,***<ar■'♦■,1«■•-■»-■・*ar・,・,•■,,■--■«•ar•■,

。作业执行前用慢速设备将作业预先输入到后援存储器

(如磁盘、磁鼓,称为输入井)中,称为预输入

♦:♦作业运行后,使用数据时,从输入井中取出

♦:♦作业执行不必直接启动外设输出数据,只需将这些数

据写入输出井中

。作业全部运行完毕,再由外设输出全部数据和信息,

称为缓输出

实现了对作业输入、组织调度和输出的统一管理

。使外设在CPU直接控制下,与CPU并行工作(称为假脱

机)

用户接口与作业管理50

3.3交互式系统的作业管理

・aI■・>fl•fl»tB«Bt・・•・■・»4BIfrtBI•I•IBIB4a4B1»tB•Bt«4BI■■»4BI»tB•BIBf・

1、概述

(1)命令接口

在操作系统与计算机用户之间提供易于理解

的双向通信机制。

基本任务:

♦:♦解释命令,传送命令以便执行

♦:♦接受系统信息,提交给用户(以响应语言的

形式)

用户接口与作业管理51

。交互式命令的接口复杂

含功能结构,可能问题的处理,如各种约定、前端

处理、命令日志、命令注解、宏命令及命令组等

♦:♦交互式控制灵活方便,可以随时进行各种处理,排

除问题,方便调试;系统利用率低

。接口包括:一组联机命令,终端处理程序,命令解

释程序

用户接口与作业管理52

终端处理程序

。交互式命令接口:用户同操作系统的通信通过一个输入/输

出装置来实现

。I/O装置一般是显示终端

/输入通过键盘:在有的系统中,可通过指示装置(例如鼠

标)输入

/系统输入呈现在显示屏幕上,一次显示若干正文行

/某些系统中,提供图形显示功能

不管哪种I/O方式,这个终端装置是由一个终端处理程序管

理和控制

用户接口与作业管理53

♦:♦终端处理程序提供的输入输出方式对整个用

户命令接口有重大影响

♦:♦也确定了用户与其应用程序之间的通信方式

♦:♦终端处理程序必须作为用户接口的一个组成

部分来考虑

即,直接影响命令接口的一些问题须由终端

处理程序解决

用户接口与作业管理54

直接影响命令接口的一些问题

・BtBI**!1•t»«BtII(»*•I•・>I»flB••t•tB4»4Bfl»flB«•4«I■•-»«*•I»I»«*■i-B!-»

(a)回送显示(Echoing)

通常,每从键盘打入一个字符,终端处理

程序回送响应的字符到显示屏上,有时用

户要求其显示一个不同的字符或不显示(例

如,用户键入口令时)

对于通过远程通信线路访问的终端,可能

需要抑制这种回送,回送显示委托给远程

终端来实现

用户接口与作业管理55

®..................................

■«■(-■r,.....■,,■•・・,・・,-■«•■r・・.-■*■,•*»..-0»-r...♦.,■■■■09•»,■.■V*'■*

(b)提前打入(Typeahead)

假定输入字符在一程序准备处理它们之前打入,则

由“提前打入进程”把它们保存在缓冲区中

缓冲区容量是有限,当其存满后,再有输入时,或

者漏掉,或者将破坏缓冲区原有的内容

(c)字符变换

有些情况下,需要对打入的字符进行代码变换

如,把小写字母转换成大写字母,或者反之

(d)行缓冲

打入的字符在送到程序前,由终端接口保存,直到

整个命令行打入为止,为用户提供了校验、编辑,

甚至取消命令的机会

用户接口与作业管理56

(e)中断字符(BreakCharacters)

多数交互式命令接口可以接受一些称为中断字

符的特殊字符,并立即采取相应的行动。

如,在许多系统中,同时打入CTRL—C字符键,

立即终止当前程序执行,并使命令处理程序重

新初始化。

用户接口与作业管理57

2、命令解释程序

*

命令解释程序有两种处理方法:

(a)由终端命令解释程序直接处理

在没有创建子进程功能的系统中

终端命令通常由对应的命令解释程序处理

在这样系统中,仅有一个进程对应一个终端用户

(b)由子进程代为处理

♦:♦在具有创建子进程功能的系统中,对于较为单纯的

命令,如列目录,拷贝文件等,命令解释程序本身

便能完成,此时由命令解释程序直接处理

。对较复杂命令,如对于C源程序进行编译,命令解

释程序本身不能处理,此时创建一个子进程,并由

该子进程运行C编译程序

用户接口与作业管理58

3、命令接口的结构

♦:♦命令接口由命令处理器来实现

♦:♦命令处理器的实现方式:

(a)作为OS的一个部分

如,0S/MVT或VAX/VMS

(b)作为OS的一个独特模块,能方便地修改或替换

如,RT-11或CP/M

(O作为一易于被替换的普通程序

如,UNIX操作系统

(d)在某些系统中,可能用专门设计的命令接口替

代标准的命令接口

如,多用户UNIX,用户可有不同命令接口

用户接口与作业管理59

®4、命令语言

,'.1"!i*i1-1«­•1*»1*•«­••*!|-B1*■I*B.•1…-1f…l-i1…"»…«…"■1…*■f.l-B,・!,"•—t"»4"•l.".»,1*一•1"■1"■・1.*•

命令语言规定由OS执行的一系列操作

♦:♦在一般的命令语言中,用户通过打入称为命令行

的一行指令来规定每一个动作

♦:♦每一命令行以命令开始,它标识所要执行的操作

♦:♦大多数命令是用运行一个程序来执行所请求的操

多数命令行中要给出一些参数,每一命令语句实

际上是带有参数的一个过程调用

用户接口与作业管理60

*

一个命令语言通常提供下列几组命令:

(1)系统访问命令

登录命令,如,login等

撤离命令,如,logout等

(2)文件管理命令

(3)编辑、编译和执行命令

(4)询问命令

(5)操作员专用命令

用户接口与作业管理61

命令行:规定由操作系统执行的一系列操作

♦:♦力令行:一行可有一个或多个命令,每次一行,包含一个

或多个命令。

米shell给出提示符时可输入,以回车键提交。如:

米列出当前目录文件列表;

米ngunzipmpl.tar.gz;tar-xvfmpl.tar;\rm-r-fmpl.tarn

为解压缩后再展开。

♦:♦命令格式:一个拿g可有命令参数,格式包括选项/开关

(option/switch)或参数(argument)。

亲如UNIX系统:cp-rdoc/tmp-----argv[0],argv[l],...

(含子目录的文件复制:/tmp为目标地址)

用户接口与作业管理62

t

。力令分类:内部命令和外部命令

米内部命令:『X接由Shell本身完成,功能简单、使用频繁;

如:DOS的copy命令。

米外部命令:运行相应的可执行文件,在使用时加载。如:

DOS的xcopy命令

♦:♦命令简化:利用参数替换可简化命令输入,通配符(?,*)用

于匹配一组文件名

米如:UNIX的cp命令:当前目录上有两个叮・tar”和,2tar"

时,"cp*.tar/tmp”等同于"cpl.tar/tmp;cp2.tar/tmpn

用户接口与作业管理63

♦:♦命令的附加功能

命令的附加功能用以扩大命令的功能性、

选择性、适应

温馨提示

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

评论

0/150

提交评论