




已阅读5页,还剩90页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章操作系统的硬件环境讨论操作系统对运行硬件环境的要求讨论操作系统设计者考虑的硬件问题 操作系统运行的硬件环境组成 中央处理器 CPU 存储系统 中断机制 I O系统 时钟以及时钟队列 任何系统软件都是硬件功能的延伸操作系统直接依赖于硬件条件OS的硬件环境以较分散的形式同各种管理相结合实现操作系统时必须理解 计算机基本结构操作系统管理的重要资源 2 1中央处理器 CPU 专门设计了一系列基本机制 具有特权级别的处理器状态 能在不同特权级运行的各种特权指令 硬件机制使得OS可以和普通程序隔离实现保护和控制 2 1 1CPU的构成与基本工作方式处理器由运算器 控制器 一系列的寄存器以及高速缓存构成运算器实现指令中的算术和逻辑运算 是计算机计算的核心控制器负责控制程序运行的流程 包括取指令 维护CPU状态 CPU与内存的交互等 寄存器是指令在CPU内部作处理的过程中暂存数据 地址以及指令信息的存储设备 在计算机的存储系统中它具有最快的访问速度 高速缓存处于CPU和物理内存之间 一般由控制器中的内存管理单元MMU管理 其访问速度快于内存 低于寄存器 利用程序局部性原理使得高速指令处理和低速内存访问得以匹配 从而提高CPU的效率 1 处理器中的寄存器寄存器提供了一定的存储能力 速度比主存快得多 造价高 容量一般都很小两类寄存器 用户可见寄存器 高级语言编译器通过算法分配并使用之 以减少程序访问主存次数控制和状态寄存器 用于控制处理器的操作由OS的特权代码使用 以控制其他程序的执行 用户可见寄存器 机器语言直接引用 包括数据寄存器 地址寄存器以及条件码寄存器 数据寄存器 dataregister 又称通用寄存器 主要用于各种算术逻辑指令和访存指令 地址寄存器 addressregister 用于存储数据及指令的物理地址 线性地址或者有效地址 用于某种特定方式的寻址 如indexregister segmentpointer stackpointer 条件码寄存器保存CPU操作结果的各种标记位 如算术运算产生的溢出 符号等等 控制和状态寄存器用于控制处理器的操作大部分对于用户是不可见的 一部分可以在某种特权模式 由OS使用 下访问 常见的控制和状态寄存器 程序计数器 PC 记录将要取出的指令的地址 指令寄存器 IR 包含最近取出的指令 程序状态字 PSW 记录处理器的运行模式信息等等 2 指令执行的基本过程两个步骤 先从存储器中每次读取一条指令 然后执行这条指令一个单条指令处理过程称为一个指令周期 程序的执行是由不断取指和执行的指令周期组成 仅当关机 出错或有停机相关指令时 程序才停止 每个指令周期开始时 依据在程序计数器中的指令地址从存储器中取一条指令 在取指完成后根据指令类别自动将程序计数器的值变成下条指令的地址 自增1 取到的指令放在指令寄存器中 处理器解释并执行所要求的动作 5类指令 访问存储器指令 处理器和存储器间数据传送 I O指令 处理器和I O模块间数据传送和命令发送 算术逻辑指令 数据处理指令 执行数据算术和逻辑操作 控制转移指令 指定一个新的指令的执行起点 处理器控制指令 修改处理器状态 改变处理器工作方式 2 1 2特权指令和非特权指令使用多道程序设计技术的计算机指令系统必须要区分为特权指令和非特权指令 特权指令 只能由操作系统使用的指令 特权指令一般引起处理器状态的切换 处理器通过特殊的机制将处理器状态切换到操作系统运行的特权状态 管态 然后将处理权移交给操作系统中的一段特殊代码 这一过程称为陷入 CPU如何知道当前运行的是操作系统还是一般应用软件 有赖于处理器状态的标识 2 1 3处理器的状态根据运行程序对资源和机器指令的使用权限将处理器设置为不同状态 多数系统将处理器工作状态划分为管态和目态管态 操作系统管理程序运行的状态 较高的特权级别 又称为特权态 特态 核心态 系统态 目态 用户程序运行时的状态 较低的特权级别 又称为普通态 普态 用户态 有些系统将处理器状态划分核心状态 管理状态和用户程序状态 目标状态 三种 实例 x86系列处理器386 486 Pentium系列都支持4个处理器特级别 特权环 R0 R1 R2和R3 从R0到R3特权能力依次降低 R0相当于双状态系统的管态 R3相当于目态 R1和R2则介于两者之间 它们能够运行的指令集合具有包含关系 IR0 IR1 IR2 IR3各个级别有保护性检查 地址校验 I O限制 特权级别之间的转换方式不尽相同 四个级别运行不同类别的程序 R0 运行操作系统核心代码R1 运行关键设备驱动程序和I O处理例程R2 运行其他受保护共享代码 如语言系统运行环境R3 运行各种用户程序现有基于x86处理器的操作系统 多数UNIX Linux以及Windows系列大都只用了R0和R3两个特权级别 管态和目态的差别处理器处于管态时 全部指令 包括特权指令 可以执行 可使用所有资源 并具有改变处理器状态的能力处理器处于目态时 只有非特权指令能执行特权级别不同 可运行指令集合也不同特权级别越高 可以运行指令集合越大高特权级别对应的可运行指令集合包含低特权级的 2 1 4程序状态字PSW在PSW中专门设置一位 根据运行程序使用指令的权限而设置CPU状态 CPU的工作状态码 指明管态还是目态 用来说明当前在CPU上执行的是操作系统还是一般用户 从而决定其是否可以使用特权指令或拥有其他的特殊权力 条件码 反映指令执行后的结果特征 中断屏蔽码 指出是否允许中断 例 微处理器M68000的程序状态字条件位 C 进位标志位V 溢出标志位Z 结果为零标志位N 结果为负标志位I0 I2 三位中断屏蔽位S CPU状态标志位 为1处于管态 为0处于目态T 陷阱 Trap 中断指示位为1 在下一条指令执行后引起自陷中断 例 微处理器Pentium的FLAGSCF 进位标志位ZF 结果为零标志位SF 符号标志位OF 溢出标志位标准条件位 TF 陷阱标志位IF 中断允许 中断屏蔽 标志位VIF 虚拟中断标志位VIP 虚拟中断待决标志位IOPL IO特权级别 CPU状态的转换 目态 管态唯一途径是中断管态 目态设置PSW 修改程序状态字 可实现 2 2存储系统支持OS运行硬件环境的一个重要方面 作业必须把它的程序和数据存放在内存中才能运行 多道程系统中 若干个程序和相关的数据要放入内存操作系统要管理 保护程序和数据 使它们不至于受到破坏 操作系统本身也要存放在内存中并运行 2 2 1存储器的类型半导体存储器实现内存 存储器芯片的内部组织结构 静态存储器 SRAM 异步动态随机存储器 DRAM 同步动态随机存储器 SDRAM 双倍数据速率SDRAM DDRSDRAM 开放标准 Rambus公司的SDRAM 只读型存储器 ROM 只能从其中读取数据 但不能随意用普通方法写入数据 写入数据只能用特殊方法 在微机中 一些常驻内存的模块以微程序形式固化在ROM中 PROM 可编程只读存储器 使用特殊ROM写入器写入数据 EPROM 电可擦写可编程只读存储器 用特殊的紫外线光照射此芯片 以 擦去 信息 恢复原来状态 再使用特殊EPROM写入器写入数据 闪存 flashmemory 2 2 2存储器的层次结构存储系统设计三个问题 容量 速度和成本 容量 需求无止境 速度 能匹配处理器的速度 成本问题 成本和其他部件相比应在合适范围之内 容量 速度和成本 三个目标不可能同时达到最优 要作权衡 存取速度快 每比特价格高 容量大 每比特价格越低 同时存取速度也越慢 解决方案 采用层次化的存储体系结构当沿着层次下降时 每比特的价格将下降 容量将增大 速度将变慢 处理器的访问频率也将下降 存储访问局部性原理提高存储系统效能关键点 程序存储访问局部性原理 程序执行时 有很多的循环和子程序调用 一旦进入这样的程序段 就会重复存取相同的指令集合 对数据存取也有局部性 在较短的时间内 稳定地保持在一个存储器的局部区域处理器主要和存储器的局部打交道在经过一段时间以后 使用的代码和数据集合会改变 设计多级存储的体系结构原则 级别较低存储器比率小于级别较高存储器比率 假设两级存储器 第I级包含1KB 存取时间为0 1 s第II级包含1MB 存取时间为1 s存取I级中的内容 直接存取 存取II级 首先被转移到I级 然后再存取 假设确定内容所在位置时间可以忽略 若在I级存储器中发现存取对象的概率是95 则平均访问时间为 0 95 0 1 s 0 05 0 1 s 1 s 0 5 s结果非常接近I级存储的存取时间 2 2 3 存储分块存储最小单位 二进位 包含信息为0或1最小编址单位 字节 一个字节包含八个二进位主流个人电脑主存 128MB 512MB之间辅助存储器 在20GB 70GB工作站 服务器主存 512MB 4GB之间硬盘容量 数百GB为简化分配和管理 存储器分成块 称一个物理页 块的大小 512B 1K 4K 8K 2 2 4存储保护设施对主存中的信息加以严格的保护 使操作系统及其他程序不被破坏 是其正确运行的基本条件之一 多用户 多任务操作系统 OS给每个运行进程分配一个存储区域 问题 多个程序同时在同一台机器上运行 怎样才能互不侵犯 如何处理重定位 保护的硬件支持解决方案依赖于配有特殊硬件的CPU 硬件可提供如下功能 界地址寄存器 界限寄存器 存储键地址转换机制 界地址寄存器 界限寄存器 界地址寄存器被广泛使用的一种存储保护技术机制比较简单 易于实现实现方法 在CPU中设置一对下限寄存器和上限寄存器存放用户作业在主存中的下限和上限地址 也可将一个寄存器作为基址寄存器 另一寄存器作为限长寄存器 指示存储区长度 每当CPU要访问主存 硬件自动将被访问的主存地址与界限寄存器的内容进行比较 以判断是否越界 如果未越界 则按此地址访问主存 否则将产生程序性中断 越界中断 存储保护中断 2 存储键每个存储块有一个由二进位组成的存储保护键 一用户作业被允许进入主存 OS分给它一个唯一的存储键号 并将分配给该作业各存储块存储键也置成同样键号 当OS挑选该作业运行时 OS将它的存储键号放入程序状态字PSW存储键 钥匙 域中 每当CPU访问主存时 都将该主存块的存储键与PSW中的 钥匙 进行比较 如果相匹配 则允许访问 否则 拒绝并报警 3 地址转换机制同时有多个程序在内存程序在内存的位置不是固定的而是随机的 4 地址转换机制虚拟地址 逻辑地址 处理器生成的指令或数据的二进制地址这些地址用硬件和软件结合的方法转换成物理地址MMU 内存管理单元 一种特殊硬件 完成转换工作 2 3缓冲技术缓冲区是硬件设备之间进行数据传输时用来暂存数据的一个存储区域 缓冲技术三种用途 处理器与主存储器之间处理器和其他外部设备之间设备与设备之间的通信目的 解决部件之间速度不匹配的问题 多缓冲区 Cache 技术单缓冲区 设备向缓冲区输入数据直到装满后必须等待CPU将其取完 才能继续向其中输入数据为了提高设备利用率 单缓冲区不够多缓冲区 Cache 技术 Cache 离CPU最近 使CPU快速访问常使用的数据 CPU首先到一级Cache中找如果没有 CPU到二级Cache中找如果没有 CPU到系统内存中找 2 4中断技术中断对于操作系统的重要性就像机器中的驱动齿轮一样所以有人把操作系统称为是由 中断驱动 或者 中断 事件驱动 它使得OS可以捕获用户程序发出的系统功能调用 及时处理设备的中断请求 防止用户程序中破坏性的活动等等 2 4 1中断的概念1 什么是中断CPU对系统发生的某个事件作出的一种反应 CPU暂停正在执行的程序 保留现场后自动转去执行相应事件的处理程序 处理完成后返回断点 继续执行被打断的程序 引入中断的目的解决主机与外设的并行工作问题实现实时控制特点 1 中断是随机的2 中断是可恢复的3 中断是自动处理的 中断 异常 指系统发生某个异步 同步事件后 处理机暂停正在执行的程序 转去执行处理该事件程序的过程 中断的引入 为了开发CPU和通道 或设备 之间的并行操作 当CPU启动通道 或设备 进行输入 输出后 通道便 或设备 可以独立工作了 CPU也可以转去做与此次输入 输出不相关的事情 那么通道 或设备 输入 输出完成后 还必须告诉CPU继续输入 输出以后的事情 通道 或设备 通过向CPU发中断告诉CPU此次输入 输出结束 异常引入 用于表示CPU执行指令时本身出现算术溢出 零做除数 取数时的奇偶错 访存指令越界或就是执行了一条所谓 异常指令 用于实现系统调用 等情况 这时中断当前的执行流程 转到相应的错误处理程序或异常处理程序 注意 最早中断和异常并没有区分 都把它们叫做中断 随着它们的发生原因和处理方式的差别愈发明显 才有了以后的中断和异常 2 中断的分类中断 狭义 与异常的区别 中断 与正执行指令无关 可以屏蔽 异常 与正执行指令有关 不可屏蔽 微机中的中断程序中断 溢出 除法错等中断 软件中断 Trap指令或中断指令INT 时钟中断I O中断硬件失效中断根据中断是否可屏蔽分为 可屏蔽中断 IO中断 不可屏蔽中断 机器内部故障 掉电中断 IBM370中的中断机器故障中断 如电源故障 机器电路检验错等输入输出中断 输入输出设备和通道数据传输状态外部中断 包括时钟中断 操作员控制台中断 多机系统中其他机器的通信要求中断 各种外设或传感器发来的实时中断等 程序中断 程序中的问题引起的中断 如错误地使用指令或数据 溢出等问题 存储保护等访管中断 访管指令或陷阱指令中的操作数规定了要求服务的类型 每当CPU执行访管指令或陷阱指令时 即引起中断并调用操作系统相应的功能模块为其服务 根据中断产生的来源划分硬中断 由硬件产生相应的中断请求 软中断 是进程间通信的一种方式 是对硬件中断的模拟 硬中断又分为外中断和内中断 外中断 来自处理机和内存内部以外的中断 内中断 处理机和内存内部产生的中断 根据被激发的手段划分强迫性中断中断事件是正在运行的程序所不期望发生的 它们出现的随机性比较强 它包括 输入 输出 I O 中断 主要来自外部设备通道程序性中断 运行程序中本身的中断 如溢出 缺页中断 缺段中断 地址越界 控制台中断时钟中断硬件失效中断自愿性中断中断是正在运行的程序有一安排执行的 通常有访管指令引起目的是要求OS提供系统服务 发生的时间和位置具有确定性 执行I O 创建进程 分配内存信号量操作 发送 接收消息 2 4 2中断系统中断系统是现代计算机系统的核心机制之一硬件和软件相互配合 相互渗透而使得计算机系统得以充分发挥能力的计算模式中断系统的两大组成部分 硬件中断装置和软件中断处理程序 中断系统的硬件中断装置 中断系统的机制部分负责捕获中断源发出的中断请求 以一定方式响应中断源 然后将处理器控制权交给特定的中断处理程序 软件中断处理程序 中断系统的策略部分负责辨别中断类型并做出相应的操作2 4 3中断逻辑和中断寄存器中断源 引起中断发生的事件中断寄存器 记录中断 触发器的全体 中断字 中断寄存器的内容 系统堆栈 在内存开辟的一块区域 用于临时保存现场 2 4 4中断优先级和中断屏蔽优先级 固定的优先数和轮转法 中断屏蔽 主机可以允许或者禁止某些类别中断的响应 2 4 5中断响应CPU如何响应中断 三个问题 CPU何时响应中断 通常在CPU执行了一条指令以后 更确切地 在指令周期最后时刻接受中断请求 或此时扫描中断寄存器响应的条件 一是CPU没有被禁止 二是中断没有被屏蔽 如何知道提出中断请求的设备或中断源 因为只有知道中断源或中断设备 才能调用相应的中断处理程序 软件指令查询 中断向量 处理器如何发现中断信号 处理器的控制部件中设一个能检测中断的机构称为中断扫描机构 在每条指令执行周期的最后时刻扫描中断寄存器 询问是否有中断信号若无中断信号 继续执行下一条指令若有中断 中断硬件将该中断触发器内容按规定编码送入PSW的相应位 称为中断码通过交换中断向量引出中断处理程序 两种解决办法 用软件指令去查询各设备接口这种方法比较费时 多数微型机对此问题的解决方法 使用一种 向量中断 的硬件设施 中断向量 当CPU接受某中断请求时 该设备接口给处理器发送具有唯一性的 中断向量 以标识该设备 中断向量 在各计算机上实现方法差别比较大 中断向量 一个存放中断处理程序入口地址和程序运行所需处理机状态字的内存单元硬件按中断号 异常类型的不同通过中断向量表转移 中断向量表在有的机器中 将主存最低位128个字保留作为中断向量表 每个中断向量占两个字中断请求的设备接口为了标识自己 向处理器发送一个该设备在中断向量表中表目的地址指针 2 4 6中断处理1 中断处理的一般过程 简单的中断处理一个典型的处理过程 设备给处理器发一个中断信号 处理器处理完当前指令后响应中断 延迟非常短 要求处理器没有关闭中断 处理器处理完当前指令后检测到中断 判断出中断来源并向发送中断的设备发送了确认中断信号 确认信号使得该设备将中断信号恢复到一般状态 处理器开始为软件处理中断做准备 保存中断点的程序执行上下文环境 这通常包括程序状态字PSW 程序计数器PC中的下一条指令位置 一些寄存器的值 它们通常保存在系统控制栈中 处理器状态被切换到管态 处理器根据中断源查询中断向量表 获得与该中断相联系的处理程序入口地址 并将PC置成该地址 处理器开始一个新的指令周期 控制转移到中断处理程序 中断处理程序开始工作 包括检查I O相关的状态信息 操纵I O设备或者在设备和主存之间传送数据等等 中断处理结束时 处理器检测到中断返回指令 被中断程序的上下文环境从系统堆栈中被恢复 处理器状态恢复成原来的状态 PSW和PC被恢复成中断前的值 处理器开始一个新的指令周期 中断处理结束 多个中断的处理若中断处理过程中又发生中断 引起多个中断处理问题两种策略方法 第一种 处理一个中断时禁止中断 对任何新中断置之不理 在这期间发生的中断将保持挂起状态 当再次允许中断 处理器可检测到新中断信号 软件实现方法 在任何中断处理前使用禁止中断指令 在处理结束后开放中断指令 所有中断严格按照发生顺序处理 不考虑中断紧急程度 无法达到较严格的时间要求 第二种 中断按照优先度分级 允许优先级高的中断打断优先级低的中断处理过程 引起中断处理的嵌套只要合适地定义中断的优先级别 方法一的弊端大都可以克服 2 几种典型的中断处理 I O中断由I O设备的控制器或者通道发出通常有两类 I O操作正常结束如果要继续I O操作 需要在准备好以后重新启动I O 若请求I O程序正处于等待I O状态 则应将其唤醒 I O异常需要重新执行失败的I O操作 但重试次数有上限 次数过大 系统将判定硬件故障 时钟中断系统多道能力的重要推动力量 时钟中断处理程序通常做与系统运转 管理和维护相关的工作 包括 维护软件时钟 系统有若干个软件时钟 控制定时任务以及进程的处理器时间配额 时钟中断需要维护 定时更新这些软件时钟 处理器时间调度 维护当前进程时间片软件时钟 并在当前进程时间片到时以后运行调度程序选择下一个被调度的进程 控制系统定时任务 通过软件时钟和调度程序定时激活一些系统任务 如监测死锁 系统记帐 系统审计等 实时处理 硬件故障中断硬件故障中断处理程序一般需要做的工作 保存现场 使用一定警告手段 提供些辅助诊断信息 在高可靠系统中 中断处理程序还要评估系统可用性 尽可能恢复系统 程序性中断程序指令出错 指令越权或者指令寻址越界而引发 两类处理方法 只能由操作系统的相关扩展功能模块完成 多为程序试图作不能做的操作引起的系统保护 如访问合法的 但不在内存的虚地址内 引发缺页中断 一般会引发OS虚存模块作一个页面换入 可由程序自己完成 如一些算术运算错误 不同程序可有不同处理方法 所以很多OS提供由用户自己处理这类中断的 绿色通道 一般地 系统调试中断 断点中断 单步跟踪 也可被用户程序处理 用以支持各种程序调试 系统服务请求 自愿性中断 系统服务请求由处理器专用指令 访管指令 激发 如x86处理器提供int指令 用来激发软件中断 其它不少处理器则提供系统调用指令syscall 执行专用指令的结果是系统被切换到管态 并且转移到一段专门的OS程序处开始执行 指令格式通常是指令名加请求服务识别号 有时是中断号 OS利用处理器提供的这种接口建立系统服务体系 处理器一般不负责定义系统调用所传递的参数格式 系统服务请求实例DOS 21h号中断的系统服务功能以及参数列表现代操作系统一般不提供直接使用系统调用指令的接口 通常做法 提供一套方便 实用的应用程序函数库 应用程序设计接口API 从应用层面重新封装系统调用屏蔽复杂的系统调用传参问题高级语言接口 有助于快速开发有的系统在更高层面提供系统程序设计模板库和类库如Windows2000 XP提供封装系统用Win32API和高层编程机制MFC以及ATL 2 5I O技术I O控制使用下面几种技术 程序控制中断驱动直接存储器存取 DMA 通道 2 5 1程序控制I O技术由处理器提供I O相关指令来实现I O处理单元处理请求并设置I O状态寄存器相关位不中断处理器 也不给处理器警告信息处理器定期轮询I O单元的状态 直到处理完毕 I O软件包含直接操纵I O的指令控制指令 用于激活外设 并告诉它做什么状态指令 用于测试I O控制中的各种状态和条件数据传送指令 用于在设备和主存之间来回传送数据主要缺陷 处理器必须关注I O处理单元的状态 因而耗费大量时间轮询信息 严重地降低了系统性能 2 5 2中断驱动I O技术为了解决程序控制I O方法的主要问 应该让处理器从轮询任务中解放出来使I O操作和指令执行并行起来 具体作法 当I O处理单元准备好与设备交互的时候通过物理信号通知处理器 即中断处理器 2 5 3DMA技术中断的引入大大地提高了处理器处理I O的效率 当处理器和I O间传送数据时 效率仍
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年放射肿瘤学科乳腺癌放疗后皮肤护理考试答案及解析
- 2025年急危重症抢救处理技能模拟考试答案及解析
- 2025年康复护理康复评估与方案制定模拟考试卷答案及解析
- 2025年麻醉科全麻安全操作技巧专业考核模拟考试卷答案及解析
- 2025年神经外科手术常见并发症处理模拟测试卷答案及解析
- 酒泉市中石化2025秋招面试半结构化模拟题及答案法律与合规岗
- 中国移动四平市2025秋招半结构化面试模拟30问及答案
- 岳阳市中石油2025秋招笔试模拟题含答案新材料与新能源岗
- 运城市中石油2025秋招笔试模拟题含答案安全环保与HSE岗
- 临沧市中石化2025秋招笔试模拟题含答案炼化装置操作岗
- Unit 1~2单元月考测试(含答案) 2025-2026学年译林版(2024)八年级英语上册
- 中秋国庆节假期安全教育安全防范不松懈宣传课件模板
- 八年级语文写作技巧与课堂教案
- 鼻出血的课件护理
- 2025年干细胞治疗行业研究报告及未来行业发展趋势预测
- (2025年标准)清理乱账服务协议书
- 2025年4月自考00155中级财务会计试题及答案含评分标准
- 道路工程培训课件
- DGTJ08-2004B-2020 建筑太阳能光伏发电应用技术标准
- 国庆假期大学生安全教育
- 呼吸内科出科汇报
评论
0/150
提交评论