操作系统上机实验报告 实验一 进程的建立 本次实验主要目的是学习如何在Windows操作系统中通过编程创建和管理进程,以及实现父子进程间的协同工作。实验中使用了Dev-C++作为开发环境,通过调用Windows API函数进行进程操作。 在实验中,我们创建了两个进程:父进程和子进程。父进程负责创建子进程,并在子进程完成特定任务(读取文件)后继续执行。子进程则负责读取文件,并向文件写入数据。为了实现进程协同工作,父进程调用了`WaitForSingleObject`函数,该函数会阻塞父进程直到指定的事件(在这里是子进程的结束)发生。这样,父进程就会等待子进程执行完毕后再继续执行后面的代码,确保了进程间的顺序执行。 实验程序中,父进程的源代码使用`CreateProcess`函数创建子进程,并传递参数以执行`lab1.2.exe`。子进程则负责打开并读取`date.txt`文件,然后向文件写入10个数字(48-57),最后读取并输出文件内容。通过这种方式,父子进程实现了数据的交互和协同工作。 实验二 线程共享进程数据 本实验旨在理解线程间的数据共享机制。在同一个进程中,我们创建了一个新的线程,并在这个线程中修改了全局变量`count`的值。线程可以访问和修改与其所在进程共享的内存空间,因此线程能够直接影响到其他线程或主程序的执行。 实验中,我们定义了一个静态全局变量`count`,在主线程中初始化为10,然后创建了一个新线程`ThreadProc`。这个线程会递增`count`并输出,同时也会等待5秒钟。主线程同样输出`count`的值,展示了线程如何改变共享数据并影响主线程的输出。 通过这两个实验,我们深入理解了操作系统中的进程和线程概念,以及它们在实际编程中的应用。实验过程让我们掌握了如何使用Windows API进行进程和线程的创建、管理,以及如何实现进程间的通信和线程间的资源共享。此外,实验还提升了我们对于操作系统底层工作原理的认识,对提升软件开发能力有着重要的实践意义。
剩余17页未读,继续阅读
- 粉丝: 9249
- 资源: 4051
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- win10玩游戏打开过场动画,提示找不到vids:cvid解压缩程序
- 基于HTML和JavaScript的小越小学网页设计源码
- 美萍会员管理系统标准版2021v1
- 基于Vue框架的uniapp前端设计源码
- 基于Vue的Java、JavaScript、HTML整合的家庭理财管理系统设计源码
- 美萍化妆品销售管理系统标准版2021v1
- 基于JavaScript的贝壳二手房/新房交互式命令行爬虫设计源码
- 基于Emacs Application Framework的Python与Vue/JavaScript双语言文件管理器设计源码
- 美萍固定资产管理系统标准版2021v1
- 基于Vue和Element-UI的电商管理系统服务端API设计源码