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

下载本文档

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

文档简介

操作系统OperatingSystem1第三章用户接口与作业管理用户与操作系统的接口批处理操作系统的作业管理作业的基本概念:作业、作业步、作业流交互式系统作业管理系统调用用户程序提出服务请求的手段,基本思想,实现方法操作系统安装与启动21、作业级接口操作系统为用户对作业运行全过程控制提供的功能(1)联机接口(交互式)(2)脱机接口一、用户与操作系统的接口(P71)作业级接口程序级接口32.程序级接口系统为用户在程序一级提供有关服务而设置由一组系统调用命令组成负责管理和控制运行的程序并在这些程序与系统控制的资源和提供的服务间实现交互作用用汇编语言:在程序中直接用系统调用命令用高级语言:可在编程时使用过程调用语句4二、批处理系统作业处理1、作业的基本概念(P72)(1)作业

用户在一次计算过程中,或者一次事务处理过程中,要求计算机系统所做工作的总称(2)作业步

一个作业可划分成若干部分,称为一个作业步典型的作业控制过程:“编译”、“连接装配”、“运行”(3)作业流5(4)典型的作业步(P72)编译连接装配运行目标程序段目标程序源程序输入数据子程序库函数动态库函数计算结果作业的基本概念(续1)62、批处理作业控制语言与作业说明书(1)作业控制语言用户用于描述批处理作业处理过程控制意图的一种特殊程序书写作业说明书的语言称为作业控制语言(JCL)(2)作业控制语言的类别包括:I/O命令、编译命令、操作命令以及条件命令等7(3)作业说明书表达用户对作业的控制意图内容:作业的基本描述作业控制描述资源要求描述批处理作业控制语言与作业说明书(续)83、作业控制块与作业表(1)作业控制块(P73)

(JCB:JobControlBlock)作业控制块是批处理作业存在的标志保存有系统对于作业进行管理所需要的全部信息位于磁盘区域中9(2)作业控制块的内容(P73)

作业控制块中所包含的信息数量及内容因系统而异较简单的系统较复杂的系统作业控制块与作业表(续1)10作业标知用户名称用户帐号调度信息资源需求作业状态作业类别输入井地址输出井地址进入系统时间开始处理时间作业完成时间作业退出时间资源使用情况作业控制块JCB作业控制块与作业表(续2)11(3)作业控制块的建立当作业开始由输入设备向磁盘的输入井传输时系统输入程序为其建立一个作业控制块进行初始化初始化的大部分信息取自作业说明书

作业控制块与作业表(续3)12(4)作业控制块的使用需要访问作业控制块的程序系统输入程序作业调度程序作业控制程序系统输出程序等作业控制块与作业表(续4)13(5)作业控制块的撤消作业完成后,其作业控制块由系统输出程序撤消作业控制块被撤消后其作业也不复存在作业控制块与作业表(续5)14(6)作业表每个作业有个作业控制块所有作业JCB构成一个作业表作业表存放在外存固定区域中,长度是固定限制了系统所能同时容纳的作业数量系统输入程序、作业调度程序、系统输出程序都需要访问作业表因而存在互斥问题JCB1JCB2……JCBi……JCBn

作业表作业控制块与作业表(续6)154、批处理作业的状态及转换一个作业从进入系统到运行结束经历四个不同的状态: “进入” “后备” “运行” “完成”16作业和进程的状态转换图(P75)数据进入状态退出状态后备状态运行状态作业控制进程…输入设备数据源程序输出设备作业说明书输入井运行等待就绪输出井输入程序输出程序作业调度进程调度批处理作业的状态及转换(续1)17(1)运行状态的作业三种状态:就绪状态执行状态等待状态批处理作业的状态及转换(续2)185、作业的建立(P76)一个作业建立过程的两个子过程: 作业的输入

JCB的建立作业控制块JCB和作业:一一对应关系19(1)作业的输入将作业程序、数据和作业说明书从输入设备(例如键盘)输入到外存,并形成初始信息典型作业输入方式

SPOOLing系统作业的建立(续1)20(2)JCB的建立在系统把作业信息输入到输入井之后根据作业说明书和有关作业信息在外存的位置等建立作业控制表JCBJCB包含对作业进行管理所必须的信息JCB表的数量是一个常数外存输入井的大小有限

只有在获得JCB表项和足够输入井空间后作业才可能创建成功作业的建立(续3)216、批处理作业的调度(P76)主要功能:审查系统能否满足用户作业的资源要求只要通过调用相应的资源管理程序的有关部分审核其表中是否能满足作业说明书中的要求即可作业调度:按照一定的算法从输入井中的后备作业中选取作业将其投入内存运行

调度的关键在于选择恰当的算法22(1)调度算法评价(P77)调度实质上是一个策略问题设定的目标往往是相互冲突的

目标:单位时间内运行尽可能多的作业使处理机尽可能保持“忙碌”使各种I/O设备得以充分利用对所有的作业都是公平合理的批处理作业的调度(续1)23要设计一个理想的调度算法是一件十分困难的事在实际系统中,调度算法往往折衷考虑设计调度算法时应考虑的因素:调度算法应与系统设计目标保持一致注意系统资源均衡使用保证提交的作业在截止时间内完成设法缩短作业平均周转时间大多数操作系统都采用比较简单的调度算法批处理作业的调度(续2)24作业平均周转时间假定某一作业进入“输入井”的时间为Si,它被选中执行,得到计算结果的时间为Ei

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

则作业平均周转时间为:

T=(

)×

n为被测定作业流中的作业数(2)调度算法性能的衡量(P77)批处理作业的调度(续3)25平均带权周转时间

W=()×

ri

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

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

W:同一调度算法对不同作业流的性能衡量批处理作业的调度(续4)26(3)常见的批处理作业调度算法(P78)先来先服务算法(FCFS:FirstComeFirstServe)最短作业优先算法(SJF:ShortestJobFirst)最高响应比优先算法(HRN:HighestResponseRatioNext)

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

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

=1+(作业等待时间/作业处理时间)批处理作业的调度(续5)27基于优先数调度算法(HPF:HighestPriorityFirst)(a)由用户规定优先数(外部优先数)用户提交作业时,根据急迫程度规定适当的优先数作业调度程序根据JCB优先数决定进入内存的次序(b)由系统计算优先数(内部优先数)例:可按如下公式计算作业的优先数:优先数=用户规定优先数–作业处理时间+作业等待时间–输出量批处理作业的调度(续6)28均衡调度算法(分类排队算法)基本思想:根据系统运行情况和作业属性将作业分类轮流从不同的作业类中挑选作业目标:力求均衡地利用各种系统资源,发挥资源使用效率力求使用户满意批处理作业的调度(续7)29例1:将待处理作业分成如下队列:队列1:计算量大的作业队列2:I/O量大的作业队列3:计算量与I/O量均衡的作业调度时,在三个队列中各取一些作业 在内存中的作业有的使用处理机 有的使用外部设备使得系统的各种资源能得到充分利用批处理作业的调度(续8)30例2:将待处理作业分成如下三个队列:队列1:长作业队列2:中等长度作业队列3:短作业调度时 取队列1一作业,队列2一作业,队列3一作业长作业用户和短作业用户均比较满意批处理作业的调度(续9)31(5)作业调度算法应用例子1(P80)假设在单道批处理环境下有四个作业,已知它们进入系统的时间、估计运行时间应用先来先服务、最短作业优先和最高响应比优先作业调度算法,分别计算出作业的平均周转时间和带权的平均周转时间批处理作业的调度(续10)32先来先服务调度算法计算结果批处理作业的调度(续11)33最短作业优先作业算法计算结果批处理作业的调度(续12)34最高响应比优先作业算法计算结果批处理作业的调度(续13)35在两道环境下有四个作业已知它们进入系统的时间、估计运行时间系统采用短作业优先作业调度算法,作业被调度运行后不再退出当一新作业投入运行后,可按照作业运行时间长短调整作业执行的次序请给出这四个作业的执行时间序列,并计算出平均周转时间及带权平均周转时间(6)作业调度算法应用例子2批处理作业的调度(续14)36两道批处理系统中

最短作业优先作业算法计算结果批处理作业的调度(续15)37四个作业的执行时间序列为:JOB1:10:00—10:05,10:40—11:05JOB2:10:05—10:25JOB3:10:25—10:30JOB4:10:30—10:40两道批处理系统中

最短作业优先作业算法计算结果(续1)批处理作业的调度(续16)3810:00,JOB1进入,只有一作业,JOB1被调入执行10:05,JOB2到达,最多允许两作业同时进入所以JOB2也被调入内存中有两作业,哪一个执行?题目规定当一新作业运行后,可按作业运行时间长短调整执行次序即基于优先数可抢占式调度策略 优先数是根据作业估计运行时间大小来决定的 由于JOB2运行时间(20分)比JOB1少 (到10:05,JOB1还需25分钟) 所以JOB2运行,而JOB1等待两道批处理系统中

最短作业优先作业算法分析过程批处理作业的调度(续17)3910:10,JOB3到达输入井,内存已有两作业

JOB3不能马上进入内存;10:20,JOB4也不能进入内存10:25,JOB2运行结束,退出,内存中剩下JOB1

输入井中有两作业JOB3和JOB4,如何调度?作业调度算法:最短作业优先 因此JOB3进入内存 比较JOB1和JOB3运行时间

JOB3运行时间短,故JOB3运行 同样,JOB3退出后,下一个是JOB4 JOB4结束后,JOB1才能继续运行两道批处理系统中

最短作业优先作业算法分析过程(续1)批处理作业的调度(续18)407、作业调度与进程调度作业能否占用处理器?什么时间能够占用处理器?由进程调度来决定进程的初始状态为就绪状态进程调度选择当前可占用CPU处理进程,当它让出处理器时,进程调度就再选另一作业的进程作业调度与进程调度相互配合,实现作业的并行41作业调度与进程调度的例子某系统采用不能移动已在内存中作业的可变分区方案管理内存供用户使用的内存空间为100K,系统配有4台磁带机一批作业如下图:作业

进入时间

估计内存需要

磁带机需要运行时间JOB110:0025分钟

15K2台JOB210:2030分钟

60K1台JOB310:3010分钟

50K3台JOB410:3520分钟

10K2台JOB510:4015分钟

30K2台作业调度与进程调度(续1)42该系统采用多道程序设计技术,对磁带机采用静态分配,忽略设备工作时间和系统进行调度所共花的时间,请分别给出采用“先来先服务调度算法”和“短作业优先算法”选中作业执行的次序以及它们的平均周转时间。若允许移动已在主存储器中的作业,则作业被选中的次序又是怎样的呢?它们的平均周转时间又如何?小结:作业调度前提:并行道数、资源满足进程调度作业调度与进程调度(续2)438、批处理作业的控制(P82)当作业为执行态时,作业调度程序为其建立一作业控制进程,由该进程控制作业运行作业控制进程:主要负责控制作业的运行,具体解释执行作业说明书的每一个作业步,并创建子进程来完成相应步骤一个作业步的处理:(1)建立子进程 (2)为其申请资源(3)访问该作业的JCB (4)释放占有资源(5)撤消子进程等作业控制程序只有一个对应每一处于执行状态的作业有一作业控制进程449、作业退出把输出结果送到输出设备上(启动缓输出进程完成)回收各种资源4510、SPOOLing系统工作原理(P83)全称:SimultaneousPeripheralOperationsOn-Line含义: 同时的外围设备联机操作(假脱机技术)包括:输入程序模块输出程序模块作业调度程序46作业和进程的状态转换图数据进入状态退出状态后备状态运行状态作业控制进程…输入设备数据源程序输出设备作业说明书输入井运行等待就绪输出井输入程序输出程序作业调度进程调度SPOOLing系统工作原理(续1)47作业执行前用慢速设备将作业预先输入到后援存储器(如磁盘、磁鼓,称为输入井)中,称为预输入作业运行后,使用数据时,从输入井中取出作业执行不必直接启动外设输出数据,只需将这些数据写入输出井中作业全部运行完毕,再由外设输出全部数据和信息,称为缓输出实现了对作业输入、组织调度和输出的统一管理使外设在CPU直接控制下,与CPU并行工作(称为假脱机)SPOOLing系统工作原理(续2)48输入装置输出装置通道通道输出装置输出装置通道

主机系统输入管输出管理模块理模块外设输入井输出井SPOOLing系统SPOOLing系统工作原理(续3)49三、交互式系统的作业管理(P83)1、概述(1)命令接口

在操作系统与计算机用户之间提供易于理解的双向通信机制基本任务:解释命令,传送命令以便执行接受系统信息,提交给用户(以响应语言的形式)50交互式命令的接口复杂含功能结构,可能问题的处理,如各种约定、前端处理、命令日志、命令注解、宏命令及命令组等交互式控制灵活方便,可以随时进行各种处理,排除问题,方便调试;系统利用率低接口包括:一组联机命令,终端处理程序,命令解释程序概述(续1)51(2)终端处理程序交互式命令接口:用户同操作系统的通信通过一个输入/输出装置来实现I/O装置一般是显示终端输入通过键盘:在有的系统中,可通过指示装置(例如鼠标)输入系统输入呈现在显示屏幕上,一次显示若干正文行某些系统中,提供图形显示功能不管哪种I/O方式,这个终端装置是由一个终端处理程序管理和控制概述(续2)52终端处理程序提供的输入输出方式对整个用户命令接口有重大影响也确定了用户与其应用程序之间的通信方式终端处理程序必须作为用户接口的一个组成部分来考虑即,直接影响命令接口的一些问题须由终端处理程序解决概述(续3)53(3)直接影响命令接口的一些问题(a)回送显示(Echoing)通常,每从键盘打入一个字符,终端处理程序回送响应的字符到显示屏上有时用户要求其显示一个不同的字符或不显示(例如,用户键入口令时)对于通过远程通信线路访问的终端,可能需要抑制这种回送回送显示委托给远程终端来实现概述(续4)54(b)提前打入(Typeahead)假定输入字符在一程序准备处理它们之前打入,则由“提前打入进程”把它们保存在缓冲区中缓冲区容量是有限,当其存满后,再有输入时,或者漏掉,或者将破坏缓冲区原有的内容(c)字符变换有些情况下,需要对打入的字符进行代码变换如,把小写字母转换成大写字母,或者反之(d)行缓冲打入的字符在送到程序前,由终端接口保存,直到整个命令行打入为止为用户提供了校验、编辑,甚至取消命令的机会(3)直接影响命令接口的一些问题(续1)概述(续5)55(e)中断字符(BreakCharacters)多数交互式命令接口可以接受一些称为中断字符的特殊字符,并立即采取相应的行动如,在许多系统中,同时打入CTRL—C字符键,立即终止当前程序执行,并使命令处理程序重新初始化(3)直接影响命令接口的一些问题(续2)概述(续6)562、命令解释程序命令解释程序有两种处理方法:(a)由终端命令解释程序直接处理在没有创建子进程功能的系统中终端命令通常由对应的命令解释程序处理在这样系统中,仅有一个进程对应一个终端用户(b)由子进程代为处理在具有创建子进程功能的系统中,对于较为单纯的命令,如列目录,拷贝文件等,命令解释程序本身便能完成,此时由命令解释程序直接处理对较复杂命令,如对于C源程序进行编译,命令解释程序本身不能处理,此时创建一个子进程,并由该子进程运行C编译程序573、命令接口的结构命令接口由命令处理器来实现命令处理器的实现方式:(a)作为OS的一个部分如,OS/MVT或VAX/VMS(b)作为OS的一个独特模块,能方便地修改或替换如,RT-11或CP/M(c)作为一易于被替换的普通程序如,UNIX操作系统

(d)在某些系统中,可能用专门设计的命令接口替代标准的命令接口如,多用户UNIX,用户可有不同命令接口584、命令语言命令语言规定由OS执行的一系列操作在一般的命令语言中,用户通过打入称为命令行的一行指令来规定每一个动作每一命令行以命令开始,它标识所要执行的操作大多数命令是用运行一个程序来执行所请求的操作多数命令行中要给出一些参数,每一命令语句实际上是带有参数的一个过程调用59一个命令语言通常提供下列几组命令:(1)系统访问命令 登录命令,如,login等 撤离命令,如,logout等(2)文件管理命令(3)编辑、编译和执行命令(4)询问命令(5)操作员专用命令命令语言(续1)60命令行:规定由操作系统执行的一系列操作命令行:一行可有一个或多个命令,每次一行,包含一个或多个命令。shell给出提示符时可输入,以回车键提交。如:“ls-a-l”列出当前目录文件列表;"gunzipmp1.tar.gz;tar-xvfmp1.tar;\rm-r-fmp1.tar"为解压缩后再展开。命令格式:一个命令可有命令参数,格式包括选项/开关(option/switch)或参数(argument)。如UNIX系统:cp-rdoc/tmp--argv[0],argv[1],...(含子目录的文件复制:/tmp为目标地址)命令语言(续2)61命令分类:内部命令和外部命令内部命令:直接由shell本身完成,功能简单、使用频繁;如:DOS的copy命令。外部命令:运行相应的可执行文件,在使用时加载。如:DOS的xcopy命令命令简化:利用参数替换可简化命令输入,通配符(?,*)用于匹配一组文件名如:UNIX的cp命令:当前目录上有两个"1.tar"和"2.tar"时,"cp*.tar/tmp"等同于"cp1.tar/tmp;cp2.tar/tmp"命令语言(续3)62命令的附加功能命令的附加功能用以扩大命令的功能性、选择性、适应性。包括:(1)参数与变量位置变量关键字变量(2)命令通配符(3)重定向(4)管道与过滤器命令语言(续4)63批处理命令:针对脱机用户操作和大量顺序操作功能而设计批处理命令可以是专门的命令,也可是系统的基本命令;还有有关的语法结构,循环、分支、转移、判别等,构成一套特殊的命令语言5、命令文件64命令文件(续)提前写出命令并存入文件,称之为命令文件命令文件提供了一种把一系列命令组装成文件的方法,然后用文件名作为命令名执行另外一系列命令特点:(1)接受参数、变量,宏变量替换(2)允许嵌套形式调用其他命令文件(3)允许参数来自终端的命令文件本身(4)允许执行显示到终端、存入文件或送入打印机(5)允许命令加入注释(6)出错时允许用户干预(7)可把输入传给程序,可有循环、分支、转移等65四、系统调用(P87)系统调用:用户在程序中调用操作系统所提供的一些子功能这是特殊的过程调用,由特殊的机器指令实现(每种机器的机器指令集中都有一条系统调用指令——访管指令)这个指令还将系统转入管态系统调用是一个低级过程,只能由汇编语言直接访问系统调用是操作系统提供给编程人员的唯一接口利用系统调用,动态请求和释放系统资源完成与硬件相关的工作以及控制程序的执行等每个操作系统都提供几百种系统调用66系统调用的例子1、系统调用简介

高级语言例子:打印5个字符

charbuff[4]=“abcde”;for(i=4;i>=0;i--)print(buff[i]);高级语言例子:读硬盘文件f1的第10到20个字节

seek(fd,10,0);read(fd,buff,11);67......A=A+1printf(...)B=B+A(1)源程序段系统调用简介(续1)68(2)printf目标代码(3)程序段编译产生的可执行代码(4)操作系统内部代码INT......INTA=A+1B=B+A............INOUT...嵌入后该系统调用的操作系统内部实现代码系统调用简介(续2)69用户程序函数操作系统凡是与硬件相关、与应用无关的工作,都通过操作系统程序来完成系统调用简介(续3)702、系统调用的处理过程为了保证OS不被用户程序破坏不允许用户程序访问OS的系统程序和数据那么,怎样得到系统服务的呢?需要有一个类似于硬件中断处理的处理机构当用户使用操作系统调用时,产生一条相应的指令处理机在执行到该指令时发生相应的中断,并发出有关的信号给该处理机构该处理机构在收到了处理机发来的信号后,启动相关的处理程序去完成该系统调用所要求的功能71

systemcall

入口地址表

(1)保护处理现场(2)取系统调用功能号并寻找子程序入口(3)返回A0A1Ai

AnA0A1AiAnSub0Sub1SubiSubn

用户程序陷入处理机构系统子程序系统调用的处理过程(P90)72参数传递过程问题怎样实现用户程序和系统程序间的参数传递?常用的3种实现方法:由陷入指令自带参数:陷入指令的长度有限的,且还要携带系统调用功能号,只能自带有限的参数通过有关通用寄存器来传递参数:这些寄存器应是系统程序和用户程序都能访问,由于寄存器长度较短,从法传递较多的参数大多在内存中开辟专用堆栈区来传递参数73系统调用处理过程(P91)read(fd,buffer,nbytes)743、系统调用的分类(P88)将系统的功能分为两部分:系统自身所需要的作为服务提供给用户的OS的系统调用:进程控制类系统调用文件操作类系统调用进程通信类系统调用设备管理类系统调用信息维护类系统调用75文件管理76目录管理77其他78

系统调用方式(INT)与程序中一般的调用方式的相同点:改变指令流程重复执行和公用改变指令流程后需要返回原处4、系统调用与一般过程调用比较(P88)系统调用方式(INT)与程序中一般的调用方式的不同点:79运行在不同的系统状态

一般过程调用,其调用程序和被调用程序都运行在相同状态:核心态或用户态系统调用:调用程序在用户态,被调用程序在系统态状态的转换一般的过程调用不涉及系统状态的转换,可直接由调用过程转向被调用过程运行系统调用时,调用和被调用过程在不同系统状态,不允许由调用过程直接转向被调用过程通过软中断机制先由用户态转换为核心态在OS核心分析后,转向相应的系统调用处理子程序系统调用与一般过程调用比较(续1)80返回问题一般过程调用在被调用过程执行完后,回调用过程抢占式调度的系统中,被调用过程执行完后,系统将对所有要求运行的进程进行优先级分析。如果调用进程仍有最高优先级,则返回到调用进程执行否则,引起重新调度,让优先级最高的进程优先执行。此时,系统把调用进程放入就绪队列系统调用与一般过程调用比较(续2)81

进入方式不同利用int或trap指令进行系统调用;利用call或jmp

指令进入普通的过程调用系统调用是动态调用,而CALL调用方式是静态调用系统调用与一般过程调用比较(续3)825、Win32应用程序接口(P91)在Windows中,定义了一系列程序(应用程序接口Win32API),提供OS服务这个接口(部分)支持Win95以后的Windows版本Win32API调用的种类非常多,以千计算在Windows中不可能分辨出哪些是系统调用(被内核执行),哪些是用户空间的库调用事实上,一个Windows版本中的系统调用也许在另一个Windows版本中会在用户空间执行由于图形子系统在内核中运行(在某些Windows版本中),它们也是系统调用,否则是库调用8384操作系统怎样开始运行怎样形成系统操作环境怎样从程序的顺序执行转换到支持程序的并发执行五、操作系统的安装与启动(P96)85操作系统的引导有两种方式:独立引导(bootup)辅助下装(download)1、操作系统的引导和装入86(1)独立引导方式大多数系统采用OS核心文件存储在系统本身的存储设备中由系统自己将OS核心程序读入内存并运行最后建立一个操作环境操作系统的引导和装入(续1)87独立引导方式步骤(1)系统加电,执行系统初启程序(2)执行初启程序,对系统硬件和配置进行自检,保证系统没有硬件错误(3)从硬盘中读入操作系统初启文件,并将控制权交给该程序模块(4)执行操作系统初启程序,完成系统环境配置和操作系统初始化工作(5)继续读入其余的OS文件,逐个执行相应的系统程序,完成OS各种功能模块的装入,完善OS的操作环境,做好程序并发执行的准备(6

温馨提示

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

评论

0/150

提交评论