中山大学软件工程操作系统实验一报告

2023-12-23 13:38

本文主要是介绍中山大学软件工程操作系统实验一报告,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

欢迎访问我的个人博客:Talk is cheap. Show me the code!。我相信会有所收获的。

实验一 进程和进程通信


一、 实验目的
1. 加深对进程概念的理解,明确进程和程序的区别。进一步认识并发执行的实质。
2. 了解信号处理。
3. 认识进程间通信(IPC):进程间共享内存。
4. 实现shell:了解程序运行。


二、 实验运行环境
虚拟机VMware下的Ubuntu16.04系统


三、 实验内容
1. 进程的创建实验
2. 信号处理实验
3. 进程间共享内存实验
4. 实现shell的要求


四、 实验过程
①进程的创建实验
(1) 将下面的程序编译运行,并解释现象

这里写图片描述

编译运行得到的结果如下图:

这里写图片描述

注意可能得到的结果不止一个,但是每一个结果中都有两个1、四个2、四个3、两个4,这里选取上图的结果来作分析。
可能的原因如下:
这里先用进程树来分析:
这里写图片描述
接下来是各个进程之间的竞争关系导致输出结果不同:
1. 首先执行父进程main,它创建子进程m-p1,进而输出1,再创建子进程m-p2,再输出2,然后执行if判断,此时pid1不为0,所以再输出4。main执行完毕,此过程输出1、2、4;
2. 两个子进程相互竞争,先执行子进程m-p2,它执行后面的代码,先输出2,然后执行if判断,此时该子进程继承了父进程main的pid1值,pid1不为0,所以输出4。m-p2执行完毕,此过程输出2、4;
3. 接着执行子进程m-p1,先输出1,再创建一个子进程m-p1-p2,继续输出2,然后执行if判断,此时pid1为0,创建子进程m-p1-p3,然后输出3。m-p1执行完毕,此过程输出1、2、3;
4. 然后执行子进程m-p1-p3,输出3。m-p1-p3执行完毕;
5. 接着执行m-p1-p2,先输出2,然后执行if判断,此时pid1为0,创建子进程m-p1-p2-p3,输出3。m-p1-p2执行完毕,此过程输出2、3;
6. 最后执行子进程m-p1-p2-p3,直接输出3。m-p1-p2-p3执行完毕。

所以:该结果为1、2、4、2、4、1、2、3、3、2、3、3.


(2) 编写一段程序,使用系统调用fork()创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符a;子进程分别显示字符b和字符c。试观察记录屏幕上的显示结果并分析原因。

所编写的程序如下:

这里写图片描述

编译运行得到的结果如下:

这篇关于中山大学软件工程操作系统实验一报告的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/528234

相关文章

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

Linux操作系统 初识

在认识操作系统之前,我们首先来了解一下计算机的发展: 计算机的发展 世界上第一台计算机名叫埃尼阿克,诞生在1945年2月14日,用于军事用途。 后来因为计算机的优势和潜力巨大,计算机开始飞速发展,并产生了一个当时一直有效的定律:摩尔定律--当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。 那么相应的,计算机就会变得越来越快,越来越小型化。

STM32(十一):ADC数模转换器实验

AD单通道: 1.RCC开启GPIO和ADC时钟。配置ADCCLK分频器。 2.配置GPIO,把GPIO配置成模拟输入的模式。 3.配置多路开关,把左面通道接入到右面规则组列表里。 4.配置ADC转换器, 包括AD转换器和AD数据寄存器。单次转换,连续转换;扫描、非扫描;有几个通道,触发源是什么,数据对齐是左对齐还是右对齐。 5.ADC_CMD 开启ADC。 void RCC_AD

Python:豆瓣电影商业数据分析-爬取全数据【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】

**爬取豆瓣电影信息,分析近年电影行业的发展情况** 本文是完整的数据分析展现,代码有完整版,包含豆瓣电影爬取的具体方式【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】   最近MBA在学习《商业数据分析》,大实训作业给了数据要进行数据分析,所以先拿豆瓣电影练练手,网络上爬取豆瓣电影TOP250较多,但对于豆瓣电影全数据的爬取教程很少,所以我自己做一版。 目

开题报告中的研究方法设计:AI能帮你做什么?

AIPaperGPT,论文写作神器~ https://www.aipapergpt.com/ 大家都准备开题报告了吗?研究方法部分是不是已经让你头疼到抓狂? 别急,这可是大多数人都会遇到的难题!尤其是研究方法设计这一块,选定性还是定量,怎么搞才能符合老师的要求? 每次到这儿,头脑一片空白。 好消息是,现在AI工具火得一塌糊涂,比如ChatGPT,居然能帮你在研究方法这块儿上出点主意。是不

HNU-2023电路与电子学-实验3

写在前面: 一、实验目的 1.了解简易模型机的内部结构和工作原理。 2.分析模型机的功能,设计 8 重 3-1 多路复用器。 3.分析模型机的功能,设计 8 重 2-1 多路复用器。 4.分析模型机的工作原理,设计模型机控制信号产生逻辑。 二、实验内容 1.用 VERILOG 语言设计模型机的 8 重 3-1 多路复用器; 2.用 VERILOG 语言设计模型机的 8 重 2-1 多

【干货分享】基于SSM的体育场管理系统的开题报告(附源码下载地址)

中秋送好礼 中秋佳节将至,祝福大家中秋快乐,阖家幸福。本期免费分享毕业设计作品:《基于SSM的体育场管理系统》。 基于SSM的体育场管理系统的开题报告 一、课题背景与意义 随着全民健身理念的深入人心,体育场已成为广大师生和社区居民进行体育锻炼的重要场所。然而,传统的体育场管理方式存在诸多问题,如资源分配不均、预约流程繁琐、数据统计不准确等,严重影响了体育场的使用效率和用户体验。

【软件工程】软件开发模型

三、瀑布模型  四、几种软件开发模型的主要特点 题目 判断题 选择题 小结

1、简述linux操作系统启动流程

1、简述linux操作系统启动流程 启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它。这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等。开机时将ROM中的指令映射到RAM的低地址空间,CPU读取到这些指令,硬件的健康状况进行检查,按照BIOS中设置的启