中山大学数据与计算机科学学院操作系统实验六:进程控制与通信

需积分: 0 0 下载量 3 浏览量 更新于2024-08-05 收藏 890KB PDF 举报
叶盛源同学在2019年6月15日进行了一项关于操作系统的实验,题目是《操作系系统统实实验验》的第六部分。实验主要集中在内核层面的操作系统设计,特别是进程管理方面。实验目标包括: 1. 实现五状态进程模型:学生被要求在内核层实现一个五状态(如就绪、运行、阻塞、挂起和终止)的进程模型,这是理解操作系统调度和控制基础的重要一步。 2. 进程控制原语实践:重点练习进程创建(fork())、退出(exit())以及父子进程间的通信(wait())。这些原语是操作系统的核心功能,涉及进程生命周期管理和数据交换。 3. 原型操作系统进化:在前一阶段的基础上,学生需扩展其操作系统原型,增加新功能如dofork()、dowait()、doexit()等控制原语,并在内核层面实现与用户态的系统调用(如fork(), wait(), exit())相匹配的底层操作。 4. 多进程应用程序设计:通过编写C语言程序,学生们要创建一个多进程的应用场景,比如父进程生成字符串并传递给子进程,子进程统计字母数量,最后父进程展示统计结果。这涉及到进程间通信和协作。 5. 环境与工具:实验在Windows 10环境下进行,借助VMware和DOSBox作为虚拟机,配合TCC、Tasm、TLink等混合编译器进行开发,NASM编译器用于汇编语言编程,VScode和notepad++作为文本编辑器,WinHex用于软盘操作。 这个实验旨在提升学生的系统编程和操作系统原理理解,同时锻炼他们将理论知识应用于实际操作系统的构建能力。通过这个实验,学生不仅能掌握基本的系统调用和进程控制,还能体验到操作系统设计的复杂性和灵活性。