编写c语言程序实现如下功能 创建父子进程,青岛理工大学操作系统实验指导及实验报告.doc...
操作系统实验指导书
青岛理工大学计算机工程学院
二零一一年九月
一、课程编号:071235
二、适用专业:计算机科学与技术专业、网络工程专业、软件工程专业
三、实验个数与学时:4个实验,8学时
四、《操作系统实验》的目的
《操作系统》是一门重要的专业基础课,是涉及较多硬件知识的计算机系统软件课程。在计算机软硬件课程的设置上,它起着承上启下的作用。操作系统对计算机系统资源实施管理,是所有其他软件与计算机硬件的唯一接口,所有用户在使用计算机时都要得到操作系统提供的服务。
操作系统实验的主要任务是让学生掌握常用操作系统的安装方法,了解操作系统进程管理的基本内容,通过实验演示了解操作系统是如何进行进程管理的,为后期操作系统的课程设计奠定基础。
五、实验平台
在虚拟机Vmware或者Virtual Box上的Ubuntu 9.1
实验1 安装Linux操作系统
一、实验目的
在虚拟机Vmware或者Virtual Box上安装Unbuntu 9.1操作系统,后续实验都将在此环境上进行。
通过实验,要求:
1、掌握在虚拟机上安装操作系统的方法;
2、学会安装Linux系统;
3、学会启动Linux系统;
4、学会在宿主机Windows XP操作系统下,与虚拟机上安排的Ubuntu共享文件的方法。
二、实验内容
1、把ubuntu安装至虚拟机上。
加载安装ubuntu操作系统的ISO IMG文件
启动ubuntu虚拟机
按提示分阶段装入系统
2、在Windows下通过网络磁盘来访问ubuntu共享文件夹在虚拟系统Ubuntu下新建一个文件夹,右击该文件夹,选择属性,共享,启用“共享此目录”,并允许他人在此共享里写数据。?注:共享时需要Samba的支持,系统会提示安装安装完成Samba后,需要重启ubuntu才能生效。此时回到XP时可在网上邻居里看到一个*** - desktop server(Samba,Ubuntu)的共享目录。
?
返回Windows XP系统,右击“网上邻居”,选择“映射网络驱动器”,
在“浏览”里找到刚才在Ubuntu下共享的文件夹,选择后完成映射,
这时打开“我的电脑”会发现多了一个“网络驱动器”,如同我们的硬盘一样。
?
?这时你可以在XP系统里复制几个文件到相应的网络驱动器,然后进入Ubuntu系统,就能看到我们刚才复制的文件了;当然,我们也可以往ubuntu共享文件夹里放文件,在XP系统使用。
在创建文件共享的时候,注意主机的网卡一定要打开,否则创建共享是不能成功的实验2 Linux系统中程序编辑、编译与调试工具
一、实验目的
1、熟悉使用Linux字符界面、窗口系统的常用命令。
2、熟悉运用Linux常用的编程工具。
3、掌握在Linux操作系统环境上编辑、编译、调试、运行一个C语言程序的全过程。
二、实验内容
1、熟悉开机后登录Linux系统和退出系统的过程;
2、掌握一种Linux的编辑器,特别是字符界面的vi工具的使用(详见VI简易使用手栅);
3、掌握GCC编译器的基本用法(详见GCC使用手册及常用命令行);
4、掌握GDB调试程序的方法(详见GDB调试程序手册)。要求在实验报告上完整地进行一个数据结构中c程序的调试,源代码不能少于50行。
实验3 进程并发与同步
一、实验目的
1、加深对进程概念的理解,区分进程并发执行与串行执行;
2、掌握进程并发执行的原理,理解进程并发执行的特点;
3、了解fork( )系统调用的返回值,掌握用fork()创建进程的方法;熟悉wait、exit等系统调用;
4、能利用相应的系统调用实现进程树与进程间的同步。
二、实验内容
1、编写一C语言程序,实现在程序运行时通过系统调用fork( )创建两个子进程,使父、子三进程并发执行,父亲进程执行时屏幕显示“I am father”,儿子进程执行时屏幕显示“I am son”,女儿进程执行时屏幕显示“I am daughter”。
要求多次连续反复运行这个程序,观察屏幕显示结果的顺序,直至出现不一样的情况为止。要求有运行结果截图与结果分析
2、连续4个fork()的进程家族树,family1-1.c程序清单如下:
#include
main()
{
fork();
fork();
fork();
fork();
printf(“A\n”);
}
请根据程序运行结果,画出进程家族树,并分析原因。
3、修改程序1,在父、子进程中分别使用wait、exit等系统调用“实现”其同步推进,父进程必须等待儿子进程与女儿进程结束,才可以输出消息。写出相应的同步控制,并分析运行结果。
4、创建一个子进程,并给它加载程序,其功能是调用
编写c语言程序实现如下功能 创建父子进程,青岛理工大学操作系统实验指导及实验报告.doc...相关推荐
- VC6.0(VC++6.0)使用教程(使用VC6.0编写C语言程序)
VC6.0(VC++6.0)使用教程(使用VC6.0编写C语言程序) Visual C++ 6.0简称VC或者VC6.0,是微软1998年推出的一款C/C++ IDE,界面友好,调试功能强大.VC6. ...
- ubuntu下编写C语言程序
目录 一.gcc编译C语言程序 二.makefile编译C语言程序 三.编译过程中遇到的问题 题目:编写一个主程序文件main1.c和一个子程序文件sub1.c,有如下要求:子程序sub1.c包含一个 ...
- Ubuntu下使用gcc和makefile编写c语言程序
文章目录 前言 一.gcc编写c语言程序 1.hello world的输出 2.简单程序的编译与运行 3.windows环境下的编译运行结果对比 二.makefile编写c语言程序 总结 前言 本文通 ...
- VS2019使用教程(使用VS2019编写C语言程序)
VS2019使用教程(使用VS2019编写C语言程序) 继<VS2019下载地址和安装教程>之后,本节给大家讲解如何用 VS2019 编写并运行 C 语言程序. 例如,在 VS2019 中 ...
- VS2017使用教程(使用VS2017编写C语言程序)二
VS2017使用教程(使用VS2017编写C语言程序) < VS2017下载地址和安装 VS2010下载地址和安装教程 > C语言中文网推出辅导班啦,包括「C语言辅导班.C++辅导班.算法 ...
- 使用VS编写C语言程序遇到的scanf错误
我相信有很多初学者都和我一样会遇到这个报错,在vs编译器中,编写c语言程序的时候,使用scanf实现键盘输入,但是当你运行程序的时候,会像下面一样..... 这里的错误提示,scanf不安全,建议使用 ...
- Ubuntu系统中编写c语言程序教程
目录 1.准备工作 1.1 安装GCC及必要软件包 2.使用GCC编写C语言程序 2.1 编写一个整型运算反回浮点型的程序 2.2 在windows系统下使用编译工具编译该程序 3.使用Makefil ...
- Ubuntu中编写C语言程序
Ubuntu中编写C语言程序 1.准备工作 1.1 安装GCC 2.使用GCC编写C语言程序 2.1 编写一个Hello World程序 2.2 编写一个主程序文件main1.c和子程序文件sub1. ...
- visual studio 如何编写c语言程序,用Visual Studio 编写纯C语言程序
本篇文章讲述如何用微软的 Visual Studio 编写纯C语言程序,这里的纯C语言,指的是 ANSI C 语言. 要在 Visual Studio 里创建一个ANSI C语言程序,请按以下步骤执行 ...
- c语言单片机自动浇花系统,LLAKG:Arduino 自动浇花系统(第3集:C语言程序升级与功能优化)...
LLAKG:Arduino 自动浇花系统(第3集:C语言程序升级与功能优化) [复制链接] 第三集: C语言程序升级与功能改进 我叫张柏峦,今年9岁,我喜欢电子科学 第三集视频中,我们再深入的介绍一下 ...
最新文章
- java时间操作方法Calendar
- 特征重要性、特征集成+FeatureUnion、特征选择变换器+ColumnTransformer、标签特征变换+TransformedTargetRegressor、特征质量、自动学习数据中的特征
- 政府和银行运维的差异
- cesium 加载bim模型_构建统一CIM数字底盘,实现基于BIM的全流程管控
- iOS 11和xcode9
- 浅谈Linux中的信号处理机制(三)
- 篝火怎么做_上世纪的“Dyatlov事件”到底是怎么一回事儿,真是未知力量吗?...
- linux terminal教程,Linux入门教程 - 如何记录和重放Linux终端会话
- Matlab英文操作系统下中文乱码的解决方案
- 解决:Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy (default-deploy)
- 在asp.net 2.0中使用SqlBulkCopy类迁移数据
- python环境变量的配置_python基础教程-第一讲-带你进入python的世界
- MFC开发- string、const char*、 char* 、char[]相互转换(全)
- 05SpringMvc_映射器SimpleUrlHanderMapping
- gpt linux双系统安装win7系统分区格式化,如何在GPT分区格式上安装win7 64位系统
- Python 操作 protobuf 常见用法
- 头文件不应该含有非inline函数或对象的定义
- WEBRTC TURNSERVER配置
- 哔哩下载姬(B站下载工具)
- 在js中的瀑布流布局理解