"操作系统实验报告:进程并发与调度" 本实验报告的主要目的是通过实验来加深对操作系统中进程并发与调度的理解。实验中,我们将使用 Windows 系统作为实验平台,通过对事件和互斥体的了解,来学习如何在进程中使用事件和互斥体。 事件 在 Windows 系统中,事件是一种同步机制,用于在进程之间传递信号。事件可以是信号状态的,也可以是非信号状态的。在本实验中,我们将学习如何创建事件、设置事件的初始信号状态、等待事件和释放事件。 在实验程序 3-1.cpp 中,我们可以看到,创建事件使用的是 CreateEvent 函数,该函数创建了一个事件对象,并将其设置为非信号状态。然后,我们可以使用 WaitForSingleObject 函数来等待事件的信号状态变化,一旦事件被设置为信号状态,进程将继续执行。 互斥体 在 Windows 系统中,互斥体是一种同步机制,用于保护共享资源不被多个进程同时访问。在本实验中,我们将学习如何创建互斥体、锁定互斥体和释放互斥体。 在实验程序 3-2.cpp 中,我们可以看到,创建互斥体使用的是 CreateMutex 函数,该函数创建了一个互斥体对象,并将其设置为未锁定状态。然后,我们可以使用 WaitForSingleObject 函数来等待互斥体的锁定状态变化,一旦互斥体被锁定,进程将继续执行。 进程创建 在 Windows 系统中,创建进程使用的是 CreateProcess 函数,该函数创建了一个新的进程,并将其作为父进程的子进程。在本实验中,我们将学习如何创建子进程,并学习如何在父进程中等待子进程的结束。 在实验程序中,我们可以看到,创建子进程使用的是 CreateProcess 函数,该函数创建了一个新的进程,并将其作为父进程的子进程。然后,我们可以使用 WaitForSingleObject 函数来等待子进程的结束,一旦子进程结束,父进程将继续执行。 实验步骤 在实验中,我们将按照以下步骤进行: 1. 找到“labReportCode”文件夹并打开源程序 3-1.cpp。 2. 对 3-1.cpp 进行编译、链接,生成可执行文件 3-1.exe。 3. 运行 3-1.exe 并记录运行结果。 在实验中,我们将学习如何使用事件和互斥体来实现进程之间的同步,并学习如何创建子进程和等待子进程的结束。通过本实验,我们将加深对操作系统中进程并发与调度的理解。
- 粉丝: 192
- 资源: 3万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Udemy 课程 - 面向软件开发人员的 Java 编程大师班 讲师 - Tim Buchalka.zip
- Udemy 上的现代 JavaScript(从新手到忍者)课程的所有讲座文件 .zip
- Thumbnailator - Java 的缩略图生成库.zip
- The Net Ninja YouTube 频道上的 JavaScript DOM 教程的所有课程文件 .zip
- Swagger Spec 到 Java POJO.zip
- Stripe API 的 Java 库 .zip
- RxJava 2 和 Retrofit 结合使用的几个最常见的使用方式举例.zip
- RxJava 2 Android 示例 - 如何在 Android 中使用 RxJava 2.zip
- 上传OpenCV开发资源OpenCv开发资源
- Spring Boot与Vue 3前后端分离技术详解及应用