操作系统上机实验报告 实验一 进程的建立 本次实验主要目的是学习如何在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页未读,继续阅读
- 粉丝: 1w+
- 资源: 4072
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- ModifyJSON.zip
- 各种系统编程和并行编程作业实验C和C++源码(含任务管理、进程间通信、并行算法等).zip
- 基于人工神经网络-随机森林-LSTM的径流预测项目源码(Python期末大作业)
- open固件库001.7z
- WinDDK 配置过的驱动模板
- WinDBG-10.0.16299.15.zip
- VMware-workstation-full-16.2.4-20089737.zip
- 章节2:编程基本概念之变量的声明-初始化-垃圾回收机制.rar
- 【java毕业设计】SpringBoot+Vue大学生就业(信息管理)服务平台 源码+sql脚本+论文 完整版
- 基于类关键路径的神经网络通道量化框架python实现源码.zip