windows操作系统操作实验总结

上传人:bin****86 文档编号:59717419 上传时间:2018-11-11 格式:DOCX 页数:14 大小:20.27KB
返回 下载 相关 举报
windows操作系统操作实验总结_第1页
第1页 / 共14页
windows操作系统操作实验总结_第2页
第2页 / 共14页
windows操作系统操作实验总结_第3页
第3页 / 共14页
windows操作系统操作实验总结_第4页
第4页 / 共14页
windows操作系统操作实验总结_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《windows操作系统操作实验总结》由会员分享,可在线阅读,更多相关《windows操作系统操作实验总结(14页珍藏版)》请在金锄头文库上搜索。

1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划windows操作系统操作实验总结实验Windows7基本操作一、实验目的1掌握文件和文件夹基本操作。2掌握“资源管理器”和“计算机”基本操作。二、实验要求1.请将操作结果用Alt+PrintScreen组合键截图粘贴在题目之后。2实验完成后,请将实验报告保存并提交。三、实验内容1文件或文件夹的管理期末机试必考题(1)在D:盘根目录上创建一个名为“上机实验”的文件夹,在“上机实验”文件夹中创建1个名为“操作系统上机实验”的空白文件夹和2个分别名为“”和“”的空白文件,在“操作系统上机

2、实验”文件夹中创建一个名为“”的空白文件。(2)将“”改名为“介绍信.docx”;将“上机实验”改名为“作业”。(3)在“作业”文件夹中分别尝试选择一个文件、同时选择两个文件、一次同时选择所有文件和文件夹。(4)将“介绍信.docx”复制到C:盘根目录。(5)将D:盘根目录中的“作业”文件夹移动到C:盘根目录。(6)将“作业”文件夹中的“”文件删除放入“回收站”。(7)还原被删除的“”文件到原位置。2搜索文件或文件夹,要求如下:查找C盘上所有以大写字母“A”开头,文件大小在10KB以上的文本文件。3.在桌面上为C:盘根目录下的“作业”文件夹创建一个桌面快捷方式。期末机试必考题3“计算机”或“资

3、源管理器”的使用(1)在“资源管理器”窗口,设置以详细信息方式显示C:WINDOWS中所有文件和文件夹,使所有图标按类型排列显示,并不显示文件扩展名。(2)将C:盘根目录中“介绍信.docx”的文件属性设置为“只读”和“隐藏”,并设置在窗口中显示“隐藏属性”的文件或文件夹。4回收站的设置设置删除文件后,不将其移入回收站中,而是直接彻底删除功能。课程设计(综合实验)报告(XX-XX年度第一学期)名称:操作系统综合实验题目:院系:计算机系班级:计科1202学号:学生姓名:指导教师:赵文清王新颖设计周数:第八、九周成绩:日期:XX年10月29日实验3进程的创建一、实验目的练习使用EOSAPI函数Cr

4、eateProcess创建一个进程,掌握创建进程的方法,理解进程和程序的区别。调试跟踪CreateProcess函数的执行过程,了解进程的创建过程,理解进程是资源分配的单位。二、实验内容1准备实验2练习使用控制台命令创建EOS应用程序的进程3练习通过编程的方式让应用程序创建另一个应用程序的进程4调试CreateProcess函数5调试PsCreateProcess函数6练习通过编程的方式创建应用程序的多个进程三、问题答案及参考代码1.在源代码文件提供的源代码基础上进行修改,要求使用同时创建10个进程。提示:可以使用PROCESS_INFORMATION类型定义一个有10个元素的数组,每一个元素

5、对应一个进程。使用一个循环创建10个子进程,然后再使用一个循环等待10个子进程结束,得到退出码后关闭句柄。STARTUPINFOStartupInfo;PROCESS_INFORMATIONProcInfo10;ULONGulExitCode;INTnResult=0;。inti,j;/#ifdef_DEBUG_asm(int$3nnop);#endifprintf(Create10p/rocessesandwaitfortheprocessesexit.nn);=GetStdHandle(STD_INPUT_HANDLE);=GetStdHandle(STD_OUTPUT_HANDLE);=

6、GetStdHandle(STD_ERROR_HANDLE);for(i=0;iState)ListRemoveEntry(&Thread-StateListEntry);PspReadyThread(Thread);PspThreadSchedule();Status=STATUS_SUCCESS;elseStatus=STATUS_NOT_SUPPORTED;KeEnableInterrupts(IntState);/开中断ObDerefObject(Thread);returnStatus;resume命令执行的效果如图:1.思考一下,在本实验中,当loop线程处于运行状态时,EOS中还

7、有哪些线程,它们分别处于什么状态。可以使用控制台命令pt查看线程的状态。2.当loop线程在控制台1中执行,并且在控制台2中执行suspend命令时,为什么控制台1中的loop线程处于就绪状态而不是运行状态?答:当在控制台2中执行suspend命令时,实质上是优先级为24的控制台2线程抢占了处理器,也就是控制台2线程处于运行状态,所以此时loop线程处于就绪状态了。4.总结一下在图5-3中显示的转换过程,哪些需要使用线程控制块中的上下文,哪些不需要使用,并说明原因。答:一个进程在运行过程中或执行系统调用,或产生了一个中断事件,处理器都进行一次模式切换,操作系统接收控制权,有关系统例程完成必须的

8、操作后,或恢复被中断进程或切换到新进程。当系统调度新进程占有处理器时,新老进程随之发生上下文切换,因此,进程的运行被认为是在进程的上下文中执行,这时的控制权在操作系统手中,它在完成必要的操作后,可以恢复被中断的进程或切换到别的进程。实验5进程的同步一、实验目的使用EOS的信号量,编程解决生产者消费者问题,理解进程同步的意义。调试跟踪EOS信号量的工作过程,理解进程同步的原理。修改EOS的信号量算法,使之支持等待超时唤醒功能,加深理解进程同步的原理。二、实验内容计算操作系统实验报告学生姓名学号专业班级指导教师学院信息科学与工程学院完成时间XX年5月实验一生产者-消费者算法一、实验目的深入了解掌握

9、进程的同步、互斥机制,认识理解其调度过程,并用于解决实际生产者/消费者问题。使用高级编程语言现“生产者-消费者”进程同步问题。二、实验内容编制生产者消费者算法,模拟一个生产者、一个消费者,共享一个缓冲池的情形。1.实现对经典的生产者消费者问题的模拟,以便更好的理解此经典进程同步问题。生产者消费者问题是典型的PV操作问题,假设系统中有一个比较大的缓冲池,生产者的任务是只要缓冲池未满就可以将生产出的产品放入其中,而消费者的任务是只要缓冲池未空就可以从缓冲池中拿走产品。缓冲池被占用时,任何进程都不能访问。2.每一个生产者都要把自己生产的产品放入缓冲池,每个消费者从缓冲池中取走产品消费。在这种情况下,

10、生产者消费者进程同步,因为只有通过互通消息才知道是否能存入产品或者取走产品。他们之间也存在互斥,即生产者消费者必须互斥访问缓冲池,即不能有两个以上的进程同时进行。三、实验环境操作系统:windows编程语言:C+四、代码及运行结果#include#includeconstunsignedshortSIZE_OF_BUFFER=10;/缓冲区长度unsignedshortProductID=0;/产品号unsignedshortConsumeID=0;/将被消耗的产品号unsignedshortin=0;/产品进缓冲区时的缓冲区下标unsignedshortout=0;/产品出缓冲区时的缓冲区下

11、标intg_bufferSIZE_OF_BUFFER;/缓冲区是个循环队列boolg_continue=true;/控制程序结束HANDLEg_hMutex;/用于线程间的互斥HANDLEg_hFullSemaphore;/当缓冲区满时迫使生产者等待HANDLEg_hEmptySemaphore;/当缓冲区空时迫使消费者等待DWORDWINAPIProducer(LPVOID);/生产者线程(来自:写论文网:windows操作系统操作实验总结)DWORDWINAPIConsumer(LPVOID);/消费者线程intmain()/创建各个互斥信号g_hMutex=CreateMutex(NUL

12、L,FALSE,NULL);g_hFullSemaphore=CreateSemaphore(NULL,SIZE_OF_BUFFER-1,SIZE_OF_BUFFER-1,NULL);g_hEmptySemaphore=CreateSemaphore(NULL,0,SIZE_OF_BUFFER-1,NULL);/调整下面的数值,可以发现,当生产者个数多于消费者个数时,/生产速度快,生产者经常等待消费者;反之,消费者经常等待constunsignedshortPRODUCERS_COUNT=3;/生产者的个数constunsignedshortCONSUMERS_COUNT=1;/消费者的个数/

13、总的线程数constunsignedshortTHREADS_COUNT=PRODUCERS_COUNT+CONSUMERS_COUNT;HANDLEhThreadsPRODUCERS_COUNT;/各线程的handleDWORDproducerIDCONSUMERS_COUNT;/生产者线程的标识符DWORDconsumerIDTHREADS_COUNT;/消费者线程的标识符/创建生产者线程for(inti=0;iPRODUCERS_COUNT;+i)hThreadsi=CreateThread(NULL,0,Producer,NULL,0,&producerIDi);if(hThreads

14、i=NULL)return-1;/创建消费者线程for(inti=0;iCONSUMERS_COUNT;+i)hThreadsPRODUCERS_COUNT+i=CreateThread(NULL,0,Consumer,NULL,0,&consumerIDi);if(hThreadsi=NULL)return-1;while(g_continue)if(getchar()/按回车后终止程序运行g_continue=false;return0;/生产一个产品。简单模拟了一下,仅输出新产品的ID号voidProduce()std:cerrProducing+ProductID.;std:cerrSucceedstd:endl;/把新生产的产品放入缓冲区voidAppend()std:cerrAppendingaproduct.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 总结/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号