版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 操作系统实 验 指 导 书孙 述 和 编计算机科学与技术学院2013年4 -6月用- 61 -目 录实验一 Win2K交互命令与进程管理1实验二 Linux交互命令3实验三 Linux vi编辑器的使用以及编程实践10实验四 Win2K系统的管理功能13实验五 Linux进程控制与进程通信16实验六 进程调度模拟程序设计20实验七 页面置换模拟程序设计31实验八 文件系统模拟程序设计40操作系统(OS)实验报告参考模板59实验一 Win2K交互命令与进程管理一、实验目的:1、 通过交互命令的操作实践,了解并熟悉Win2000/XP系统的系统功能、文件和网络等的管理功能和方法;2、 掌握使用任
2、务管理器,实现对Win2000/XP系统的进程及内部资源利用率的分析管理;二、实验内容:1、 Win2000/XP系统的交互命令2、 Win2000/XP系统的任务管理器三、实验方法与步骤:1、 转换当前驱动器(或盘符);2、 目录管理;3、 文件的创建、编辑、查看、复制、比较和改名等管理;4、 本地网络配置与连接状态等的测试与查看等;5、 打开任务管理器窗口,查看CPU和内存的使用情况;6、 进程(及活动程序)的查找、查看、撤销(杀死);7、 网络和用户活动情况监控;8、 任务管理器中的其它菜单与功能。四、实验素材1、 需要阅读的参考资料,参见教材P.238-246 7.2.3 P.250
3、8.1.4;2、 字符交互命令窗口及执行情况参见图1-1;3、 任务管理器窗口参见图1-2图1-1图1-2实验二 Linux交互命令一、实验目的:1、 熟悉并掌握Linux系统的交互命令,能够用交互字符命令实现:目录管理、文件管理、文本文件的查看和编辑、文件的查找/复制/改名/比较、本地网络配置与连接状态等的测试与查看等;2、 了解并熟悉Linux系统的进程管理,学会进程的查找、查看、撤销(杀死),分析系统核心资源分配和使用情况等;3、 通过交互命令的操作实践,了解并熟悉Linux系统的系统功能、文件和网络等的管理功能和方法;二、实验内容:1、 掌握图形界面和字符界面下关机及重启的命令。2、
4、掌握Linux下获取帮助信息的命令:man、info、help以及其他实用程序。3、 练习常用的shell命令三、实验方法与步骤:1、 图形界面和字符界面下关机以及重启命令立即关机并重启动:shutdown r now或者 reboot;立即关机:shutdown h now 或者poweroff等待10分钟关机/关机并重启:shutdown h 10 / shutdown r 102、 获取帮助信息命令注: 内为可选命令help -dms:显示shell的内建指令的帮助信息man -akw name : 显示实用程序的有用信息和基本用法。name指定帮助内容,-a:对所有与name相关的内容
5、进行帮助,-k:<字符串>:在整个手册中寻找指定字符串,-w:显示手册页的位置。info name:获取相关命令的详细使用方法按q键返回到命令行例:help echo, man ls , info rm3、 目录操作命令,参见图2-1 mkdir :创建目录 rm:删除文件和目录;rmdir 删除目录cp:复制目录和文件; cd:改变当前目录;ls -alrt name:列出当前目录的内容;pwd显示当前目录的路径图2-1 目录操作4、 文件操作命令,如图2-2,图2-3gedit:编辑文本文档cat:显示文件内容; more:分屏显示mx.c内容;less:按页显示文件,可使用翻
6、页键;tail :显示文件后几行;head:显示文件的前几行cat file1 file2:连接file1 和file2;sort:将文本文件排序wc:统计文件filename中的行数、单词数和字符数od :查看非文本文件;find:查找文件或目录;cmp:比较文件差异grep:查找文件里符合条件的字符串;file:测试文件类型图2-2.用gedit命令编辑文本文档图2-3文件操作命令5、 常用压缩与解压缩工具,见图2-4gzip:压缩文件,压缩后文件格式为.gz; gunzip:解压缩tar cvf :打包; tar xvf :解包 图2-46、 进程(及活动程序)的查找、查看、撤销(杀死)
7、;ps:用来显示当前进程的状态;ps aux | grep 查看程序是否正在运行;kill:删除执行中的程序或工作;pkill:ps与kill的结合;at:系统将执行的任务排序图2-5 当前进程的状态7、 网络和用户活动情况监控;ping:测试网络连接是否正常; ifconfig:查看本机IP地址;netstat:看网络的联机状态;wall:向所有用户广播信息write:向另外一个用户发信息,以CTRL+D结束mesgy|n :是否接受其他用户发来的信息FTP客户端程序finger:查找并显示用户信息;who:查看其他登录的用户whoami:查看登录用户自己的信息su:切换登录用户; pass
8、wd:更改用户密码chmod:改变文件访问权限;chown:改变文件的拥有者或群组stat:显示文件访问、修改时间、大小、属主和组以及许可模式等信息。图2-6 网络和用户活动情况图2-7 显示文件属性8、 系统相关的命令dmesg:显示机器引导时内核显示的状态信息free:查看系统内存,虚拟内存占用情况;df:显示指定磁盘文件的可用空间;du:查看目录中各级子目录使用的硬盘空间top:动态实时查看系统内存,CPU,进程hostname:查看主机名;uname:显示系统信息date:显示和更改系统日期,时间clock -w:将系统时间写入CMOS;clock -s:根据CMOS时间自动设置系统时
9、间; cal:显示日历图2-8 系统命令四、实验素材1、 需要阅读的参考资料,参见教材P.223-229 7.1.5-6;2、 字符交互命令窗口及执行情况参见图2-1至图2-4;3、 进程、网络、用户、系统等命令窗口参见图2-5至图2-8.实验三 Linux vi编辑器的使用以及编程实践一、实验目的:1、 熟悉Linux系统中的vi编辑器,能够使用vi编辑器建立、编辑、显示以及加工处理文本文件。2、 理解Shell程序的设计方法,熟悉Shell程序的编辑、运行、调试方法与过程。二、实验内容:1、 熟悉Linux系统的vi编辑器掌握三种模式下常用命令的使用编辑模式命令:a, A, i , I,
10、o, O, ESC, : , 回车,ZZ显示模式命令:ctrl+d/u/b/f,:数字,x, X, dd, ndd, Y, nyy, p/P, ?name等命令模式: :w,:q,:! , :n , :set nu, :f等2、 熟悉Shell编程实践,编写简单的C语言程序,并编译运行与显示结果。三、实验方法与步骤:1、 vi编辑器的基本使用,三种模式下各个命令使用图3-1 vi编辑器三种模式之间的转换vi编辑器的界面,如图3-2所示。1) 在命令状态键入vi test.c 回车进入编辑模式2) 按i或a后,进入插入模式后,开始编写程序代码3) 编写完毕后,按ESC退到编辑模式4) 键入:wq
11、保存退出图3-2 vi 编辑界面2、 c程序编译与运行图3-3 c程序的编译与运行3、 c程序的调试,gdb命令b/break:设置断点;delete:清除断点; c/continue:继续终止的程序;r/run:运行程序;step/s:单步进行,进入函数;next/n:单步不进入函数;list/l:显示源代码,每次10行;kill:终止正在调试的程序file:装入将要调试的文件;print:先死queue中的内容;q:退出gqb图3-4 gdb调试程序示例四、实验素材1、 需要阅读的参考资料,参见教材P.248-250 8.1.3;2、 vi编辑器的使用情况参见图3-1和图3-2;3、 c语
12、言程序编译运行及调试参见图3-3和图3-4实验四 Win2K系统的管理功能一、实验目的:1、 熟悉并掌握Win2K这个注册表编辑器,熟悉注册表根键的内容与作用2、 熟悉Win2K服务管理工具,了解开机自动启动的服务,掌握设置服务启动和停止的方法二、实验内容:1、 熟悉Win2000系统的管理功能,备份注册表2、 修改注册表,屏蔽桌面“回收站”图标3、 停止Win2K“自动升级”服务三、实验方法与步骤:1、 打开并备份注册表2、 查找并分析对应根键以及子键,删除或修改相应的键值,重启观察效果3、 打开服务管理器,查找相应服务,修改后重启观察变化4、 打开安全中心,启动或停止“自动升级”、“防火墙
13、”等5、 运行系统配置实用程序,管理系统自动启动的程序或项目四、实验素材1、 需要阅读的参考资料,参见教材P.231-238 7.2.2,P.251-252 8.2.2-3;2、 注册表编辑器窗口参见图4-1;运行:regedit命令3、 服务管理器窗口参见图4-2;打开:控制面板à管理工具à服务4、 安全中心窗口参见图4-3打开:控制面板à安全中心5、 系统配置实用程序窗口参见图4-4运行:msconfig命令图4-1 注册表编辑器窗口图4-2 服务管理器窗口图4-3 安全中心窗口图4-4 系统配置实用程序窗口实验五 Linux进程控制与进程通信一、实验目的:1
14、、 掌握进程的概念,明确进程和程序的区别。认识和了解并发执行的实质。分析进程争用资源的现象,学习解决进程互斥的方法。2、 了解什么是管道,熟悉Linux支持的管道通信方式二、实验内容:1、 进程创建。编写一段程序,使用系统调用fork()创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示“a“;子进程分别显示字符”b“和字符“c”。试观察记录屏幕上的显示结果,并分析原因。 2、 进程控制。修改已编写的程序,将每一个进程输出一个字符改为每一个进程输出一句话,用getpid()和getppid()获得当前进程号和父进程号,观察程序执行
15、时屏幕上出现的现象,并分析原因。3、 进程的管道通信。编写程序实现进程的管道通信,使用系统调用pipe()建立一个管道,二个子进程P1和P2分别向管道各写一句话:Child 1 is sending a message! Child 2 is sending a message! 父进程从管道中读出二个来自子进程的信息并显示(要求先接收P1,再接收P2)。三、实验方法与步骤:1、 进程的创建,参考程序<参考程序># include<stdio.h>#include<unistd.h>#include<sys/types.h> int main()
16、 int p1, p2; while(p1=fork()=-1); if(p1=0) putchar('b');/*在子进程1中*/ else/*在父进程中*/ while(p2=fork()=-1); if(p2=0) putchar('c');/*在子进程2中*/ else/*在父进程中*/ putchar('a'); printf("n"); return 0; 2、 进程的控制,参考程序<参考程序># include<stdio.h>#include<unistd.h>#includ
17、e<sys/types.h>int main() int p1, p2, i; while(p1=fork()=-1); if(p1=0) printf("daughter,my id is %d, my parents'id is %dn",getpid(),getppid(); else while(p2=fork()=-1); if(p2=0) printf("son,my id is %d, my parents'id is %dn",getpid(),getppid(); else printf("pare
18、nts,my id is %d, my parents'id is %dn",getpid(),getppid(); return 0;3、 进程的管道通信,参考程序<参考程序># include<unistd.h># include<signal.h># include<stdio.h>#include<stdlib.h>int pid1,pid2;int main() int fd2; char OutPipe100,InPipe100; pipe(fd); while(pid1=fork()=-1); if(p
19、id1=0) lockf(fd1,1,0); sprintf(OutPipe,"child 1 process is sending message!"); write(fd1,OutPipe,50); sleep(5); lockf(fd1,0,0); exit(0); else while(pid2=fork()=-1); if(pid2=0) lockf(fd1,1,0); sprintf(OutPipe,"child 2 process is sending message!"); write(fd1,OutPipe,50); sleep(5);
20、 lockf(fd1,0,0); exit(0); else wait(0); read(fd0,InPipe,50); printf("%sn",InPipe); wait(0); read(fd0,InPipe,50); printf("%sn",InPipe); exit(0); return 0;四、实验素材1、 需要阅读的参考资料,参见教材P.252-254 8.3.1-2;2、 进程异步并发执行情况参见图5-1,图5-2;3、 进程的管道通信执行情况参见图5-3;图5-1异步并发执行测试程序运行结构示例图5-2 进程控制运行示例图5-3 进程
21、的管道通信运行示例实验六 进程调度模拟程序设计一、实验目的:1、 通过对进程调度算法的模拟,进一步理解进程的基本概念;2、 加深对进程运行状态和进程调度过程的了解和理解;3、 加深对调度算法的理解。二、实验内容:给出进程调度的算法描述:1、 用c+语言编程实现对N个进程采用某种进程调度算法调度执行的模拟;2、 调度程序应包含两种不同调度算法,运行时任选一种,以利于各种方法的分析和比较;3、 主程序流程图如图6-1。图6-1 进程调度模拟程序流程图三、实验方法与步骤:进程调度实验参考代码#include "iostream.h" #include "windows.
22、h"#define N 3 typedef struct int ID; int PRIORITY; int CPUTIME;int ALLTIME; int STARTBLOCK; int BLOCKTIME; int STATE;/0-运行 1-阻塞 2-就绪 3-结束 4-未到达 int REACH; int TIME; PROCESS; void textcolor (int color) SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE), color ); void main() int i,time,max
23、,l,l1,time1,flag=0,total=0,N,server10,sum=0; PROCESS pro10; textcolor(13); cout<<"注意:本程序中状态代表如下"<<endl<<"0-运行 1-阻塞 2-就绪 3-结束 4-未到达"<<endl<<endl; textcolor(15); cout<<"请输入进程数:" cin>>N; cout<<"请设置时间片长度:" cin>>
24、;time; cout<<"请输入各进程初始状态:"<<endl; cout<<"ID PRIORITY REACH ALLTIME STARTBLOCK BLOCKTIME"<<endl; for(i=0;i<N;i+) proi.CPUTIME=0; proi.TIME=0; cin>>proi.ID>>proi.PRIORITY>>proi.REACH;cin>>proi.ALLTIME>>proi.STARTBLOCK>>
25、proi.BLOCKTIME; serveri=proi.ALLTIME; if(proi.REACH=0) proi.STATE=0; else proi.STATE=4; do cout<<endl<<"当前时刻为:"<<total; textcolor(12); cout<<endl<<"=各进程状态为="<<endl; textcolor(15); cout<<"ID PRIORITY CPUTIME ALLTIME STARTBLOCK BLOCKTI
26、ME STATE"<<endl; for(i=0;i<N;i+) cout<<proi.ID<<" "<<proi.PRIORITY<<" "<<proi.CPUTIME<<" " cout<<proi.ALLTIME<<" "<<proi.STARTBLOCK<<" "<<proi.BLOCKTIME<<" &qu
27、ot;<<proi.STATE; cout<<endl; total+=time; for(i=0;i<N;i+) if(proi.STATE=4&&proi.REACH<total) proi.STATE=1; for(i=0;i<N;i+) time1=proi.ALLTIME;if(proi.STATE=0)if(proi.ALLTIME<=time)/proi.CPUTIME+=time1;proi.ALLTIME=0;proi.STATE=3;proi.TIME=total-time+time1;else/proi.CP
28、UTIME+=time;proi.ALLTIME-=time;proi.STARTBLOCK-;if(proi.STARTBLOCK=0)proi.STATE=1;proi.BLOCKTIME=time1;proi.STARTBLOCK=time1;proi.PRIORITY-=3;proi.TIME=total;if(proi.STATE=1)proi.BLOCKTIME-;if(proi.BLOCKTIME=0) proi.STATE=2;proi.TIME=total;if(proi.STATE=2)/proi.CPUTIME+=time;proi.PRIORITY+;proi.TIME
29、=total;max=-100;l1=-1;l=-1;for(i=0;i<N;i+)if(proi.PRIORITY>max&&(proi.STATE=0|proi.STATE=2)l=i;max=proi.PRIORITY;if(proi.STATE=0) l1=i;if(l!=-1&&l!=l1) prol.STATE=0;if(l1!=-1) prol1.STATE=2;flag=0;for(i=0;i<N;i+)if(proi.STATE!=3)flag=1;break;if(flag=0) break;while(1);cout<
30、;<endl<<"当前时刻:"<<total;textcolor(12);cout<<endl<<"各进程状态为"<<endl;textcolor(15);cout<<"ID PRIORITY CPUTIME ALLTIME STARTBLOCK BLOCKTIME STATE"<<endl;for(i=0;i<N;i+)cout<<proi.ID<<" "<<proi.PRIORIT
31、Y<<" "<<proi.CPUTIME<<" "cout<<proi.ALLTIME<<" "<<proi.STARTBLOCK<<" "<<proi.BLOCKTIME<<" "<<proi.STATE;cout<<endl;cout<<endl<<"各进程运行结束!"<<endl;cout<<
32、"进程号 到达时间 结束时间 周转时间 带权周转时间"<<endl;textcolor(10);for(i=0;i<N;i+)cout<<" "<<proi.ID<<" "<<proi.REACH<<" "<<proi.TIME<<" "<<proi.TIME-proi.REACH<<" "<<(float)(proi.TIME-proi.
33、REACH)/serveri<<endl;sum+=proi.TIME-proi.REACH;cout<<"平均周转时间为:"<<(float)sum/N<<endl;textcolor(15);四、实验素材1、 需要阅读的参考资料,参见教材P.256-257 8.4.1-3;2、 进程调用模拟程序实验结果如下实验结果注意:本程序中状态代表如下0- 运行 1-阻塞 2-就绪 3-结束 4-未到达请输入进程数:3请设置时间片长度:2请输入各进程初始状态:ID PRIORITY REACH ALLTIME STARTBLOCK B
34、LOCKTIME1 4 5 7 8 32 6 0 7 2 87 3 2 6 2 6当前时刻为:0=各进程状态为=ID PRIORITY CPUTIME ALLTIME STARTBLOCK BLOCKTIME STATE1 4 0 7 8 3 42 6 0 7 2 8 07 3 0 6 2 6 4当前时刻为:2=各进程状态为=ID PRIORITY CPUTIME ALLTIME STARTBLOCK BLOCKTIME STATE1 4 0 7 8 3 42 3 0 5 1 8 27 3 0 6 2 6 4当前时刻为:4=各进程状态为=ID PRIORITY CPUTIME ALLTIME
35、STARTBLOCK BLOCKTIME STATE1 4 0 7 8 3 42 4 0 5 1 8 07 3 0 6 2 5 1当前时刻为:6=各进程状态为=ID PRIORITY CPUTIME ALLTIME STARTBLOCK BLOCKTIME STATE1 4 0 7 8 2 12 1 0 3 5 4 17 3 0 6 2 4 1当前时刻为:8=各进程状态为=ID PRIORITY CPUTIME ALLTIME STARTBLOCK BLOCKTIME STATE1 4 0 7 8 1 12 1 0 3 5 3 17 3 0 6 2 3 1当前时刻为:10=各进程状态为=ID
36、PRIORITY CPUTIME ALLTIME STARTBLOCK BLOCKTIME STATE1 5 0 7 8 0 02 1 0 3 5 2 17 3 0 6 2 2 1当前时刻为:12=各进程状态为=ID PRIORITY CPUTIME ALLTIME STARTBLOCK BLOCKTIME STATE1 2 0 5 7 0 22 1 0 3 5 1 17 3 0 6 2 1 1当前时刻为:14=各进程状态为=ID PRIORITY CPUTIME ALLTIME STARTBLOCK BLOCKTIME STATE1 3 0 5 7 0 22 2 0 3 5 0 27 4 0
37、 6 2 0 0当前时刻为:16=各进程状态为=ID PRIORITY CPUTIME ALLTIME STARTBLOCK BLOCKTIME STATE1 4 0 5 7 0 02 3 0 3 5 0 27 1 0 4 1 0 2当前时刻为:18=各进程状态为=ID PRIORITY CPUTIME ALLTIME STARTBLOCK BLOCKTIME STATE1 1 0 3 6 0 22 4 0 3 5 0 07 2 0 4 1 0 2当前时刻为:20=各进程状态为=ID PRIORITY CPUTIME ALLTIME STARTBLOCK BLOCKTIME STATE1 2
38、0 3 6 0 22 1 0 1 4 0 27 3 0 4 1 0 0当前时刻为:22=各进程状态为=ID PRIORITY CPUTIME ALLTIME STARTBLOCK BLOCKTIME STATE1 3 0 3 6 0 02 2 0 1 4 0 27 0 0 2 4 3 1当前时刻为:24=各进程状态为=ID PRIORITY CPUTIME ALLTIME STARTBLOCK BLOCKTIME STATE1 0 0 1 5 0 22 3 0 1 4 0 07 0 0 2 4 2 1当前时刻为:26=各进程状态为=ID PRIORITY CPUTIME ALLTIME STA
39、RTBLOCK BLOCKTIME STATE1 1 0 1 5 0 02 3 0 0 4 0 37 0 0 2 4 1 1当前时刻为:28=各进程状态为=ID PRIORITY CPUTIME ALLTIME STARTBLOCK BLOCKTIME STATE1 1 0 0 5 0 32 3 0 0 4 0 37 1 0 2 4 0 0当前时刻:30=各进程状态为=ID PRIORITY CPUTIME ALLTIME STARTBLOCK BLOCKTIME STATE1 1 0 0 5 0 32 3 0 0 4 0 37 1 0 0 4 0 3各进程运行结束!进程号 到达时间 结束时间
40、 周转时间 带权周转时间 1 5 27 22 3.14286 2 0 25 25 3.57143 7 2 30 28 4.66667平均周转时间为:25Press any key to continue实验七 页面置换模拟程序设计一、实验目的:1、 加深对请求页式存储管理实现原理的理解;2、 掌握页面置换算法二、实验内容:1、 编制页面置换算法的模拟程序并测试,分别考虑OPT、FIFO和LRU算法。其结构图如图6-2;图6-2 页面置换模拟程序结构图三、实验方法与步骤:页面置换模拟程序设计参考程序Input(int m,Pro pL)(打印页面走向状态);void print(Pro *pag
41、e1)(打印当前的页面);int Search(int e,Pro *page1 )(寻找内存块中与e相同的块号); int Max(Pro *page1)(寻找最近最长未使用的页面);int Count(Pro *page1,int i,int t,Pro pL)(记录当前内存块中页面离下次使用间隔长度);int main()(主函数);.随机数发生器 #include <stdlib.h> #include <time.h> /准备用时钟函数调用库函数t=time(NULL);/取时钟时间并存入t调用库函数srand(t);/用时间t初始化随机数发生器调用库函数x=
42、rand( )%10+1;/返回一个110之间的随机数if(c=1)/FIFO页面置换 n=0;cout<<" * "<<endl;cout<<endl; cout<<" FIFO算法页面置换情况如下: "<<endl;cout<<endl; cout<<" * "<<endl; while(i<m) if(Search(pi.num,page)>=0)/当前页面在内存中 cout<<pi.num<<" "/输出当前页pi.numcout<<"不缺页"<<endl;i+;/i加1 else /当前页不在内存中 if(t=M)t=0; else n+;/缺页次数加1 paget.num=pi.num; /把当前页面
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房地产行业财务总结
- 资本运作的可行性分析计划
- 《创新与设计》课件
- 2021年贵州省黔南自治州公开招聘警务辅助人员辅警笔试自考题2卷含答案
- 2024年甘肃省武威市公开招聘警务辅助人员辅警笔试自考题2卷含答案
- 2022年湖南省郴州市公开招聘警务辅助人员辅警笔试自考题1卷含答案
- 2023年江苏省连云港市公开招聘警务辅助人员辅警笔试自考题1卷含答案
- 2024年黑龙江省大庆市公开招聘警务辅助人员辅警笔试自考题1卷含答案
- 寒假活动计划
- 会总部领导发言稿
- 2024年新能源汽车概论考试题库
- 2024年医师定期考核临床类人文医学知识考试题库及答案(共280题)
- 江苏省南通市2024届高三上学期第一次调研测试(一模)生物 含答案
- 2024年四川省内江市中考历史试卷
- 2024员工心理健康培训
- 国网安全责任清单培训
- 南京大学硕士论文模板
- 少儿春晚合同模板
- 医用机械外骨骼产品供应链分析
- 2024年氢工艺作业考试题库及答案(700题)
- 海洋工程装备的修理与维护
评论
0/150
提交评论