




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验一 Linux 基本命令的使用实验(一)实验学时:2学时(二)实验类型:验证(三)实验目的:1. 掌握监视系统的几个Linux基本命令: PS-查看系统的进程 tty-查看当前使用的终端 df-查看系统的文件系统的空间使用情况 du-查看具体某个文件和目录的磁盘空间的占用情况 free-查看使用的内存资源的情况2. 掌握Linux下的联机帮助手册的使用3. 掌握Linux命令的简要帮助的获取方法4. 掌握一些其他常用的Linux命令:adduser-添加新用户 passwd-修改用户口令ls-查看文件属性 cal-显示日历 date-显示系统的日期和时间 clear-清屏 find-查找文件 uname-查看系统信息 who-查看其他登录的用户 which-查看命令的全路径 tar-Linux下的压缩与解压缩命令(四)实验内容:1.以root用户身份登陆,并使用“ls”、“cat”、“cd”等命令来实现基本的文件操作并观察Linux文件系统的特点。2.使用ps查看系统的进程运行情况,使用不同的命令选项并比较显示结果的差别;查看当前系统已安装的文件系统的空间使用情况;查看用户的家目录占用了多少空间;查看使用的内存资源的情况。3.查看ls命令的详细使用方法,查看ps命令的详细使用方法。4.获取ls命令的简要帮助信息,获取ps命令的简要帮助信息。5.用cal命令显示日历,用date命令显示系统的日期和时间,用clear清除屏幕,用find命令在系统中查找文件ch1.doc,用uname命令查看系统的信息,用who命令查看其他登录的用户,用which命令查看一些命令的全路径,用tar命令来压缩test目录下的所有后缀为doc的文件到文件doc.tar.gz中,将doc.tar.gz复制到用户的家目录并展开压缩文件。实验二 进程的创建实验(一)实验学时:2学时(二)实验类型:验证(三)实验目的:1、 加深对进程概念的理解,明确进程和程序的区别2、 进一步认识并发执行的实质(四)实验内容:1、阅读linux的fork.c源码文件,分析进程的创建过程2、学会在linux环境下编程及使用gcc编译器3、编写一个输出“Hello world”的程序4、编写一段程序,使用系统调用fork()函数创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符;父进程显示字符“a”,子进程分别显示字符“b”和“ c”。5、修改已编写的程序,将每个进程的输出由单个字符改为一句话,再观察程序执行时屏幕上出现的现象,并分析其原因。实验三 进程的管理实验(一)实验学时:2学时(二)实验类型:验证(三)实验目的:分析进程争用资源的现象,学习解决进程互斥的方法(四)实验内容:1、阅读linux的sched.h源码文件,加深对进程管理概念的理解2、在以下程序中使用系统调用lockf()来给进程加锁,实现进程之间的互斥,观察并分析出现的现象#includemain()int p1,p2,i;while(p1=fork()=-1);if(p1=0)for(i=0;i500;i+)printf(child%dn,i);elsewhile(p2=fork()=-1);if(p2=0)for(i=0;i500;i+)printf(son%dn,i);else for(i=0;i500;i+) printf(daughter%dn,i);实验四 进程软中断通信实验(一)实验学时:2学时(二)实验类型:验证(三)实验目的:1.了解linux系统中进程软中断通信的基本原理2.了解signal(SIGINT,SIG_IGN)和signal(SIGQUIT,SIG_IGN)两条语句的功能(四)实验内容:1在程序中使用系统调用fork()来创建进程,再用系统调用signal()让父进程捕捉键盘上来的中断信号(即按del键),当捕捉到中断信号后,父进程用系统调用kill()向两个子进程发出信号,观察并分析出现的现象#include#includevoid waiting(),stop();int wait_mark:main()int p1,p2;while(p1=fork()=-1);if(p10)while(p2=fork()=-1);if(p20)wait_mark=1;signal(SIGNAL,stop);waitting(0);kill(p1,16);kill(p2,17);wait(0);wait(0);printf(parent process is killed !n);exit(0);else wait_mark=1; signal(17,stop); waitting();lockf(stdout,1,0);printf(child process2 is killed by parent !n);lockf(stdout,0,0);exit(0);else wait_mark=1; signal(16,stop); waitting(); lockf(stdout,1,0); printf(child process 1 is killed by parent ! n); lockf(stdout,0,0); exit(0); void waitting() while(wait_mark!=0); void stop() wait_mark=0; 2在程序中使用signal(SIGINT,SIG_IGN)和signal(SIGQUIT,SIG_IGN),观察执行的结果并分析出现的现象#include#includeInt pid1,pid2;Int EndFlag=0;Pf1=0;Pf2=0;Void IntDelete()kill (pid1,16);kill (pid2,17);EndFlag=1;void Int1()printf(“child process 1 is killed ! by parent n”);exit(0);void Int2()Printf(“child process 2 is killed ! by parentn”);Exit(0);Main()Int exitpid;Signal(SIGINT,SIG_IGN);Singal(SIGQUIT,SIG_IGN);While (pid1=fork()=-1);If (pid=0)Signal(SIGUSR1,Int1);Singal(SIGINT,SIG_IGN);Pause();Exit(0);ElseWhile (pid=fork()=-1);If (pid2=0)Signal(SIGUSR1,Int1);Signal(SIGINT,SIG_IGN);Pause();Exit(0);ElseSignal(SIGINT,IntDelete);Waitpid(-1,&exitcode,0);Printf(“parent process is killedn”);exit(0);实验五 进程管理通信实验(一)实验学时:2学时(二)实验类型:验证(三)实验目的:1.了解linux系统中进程管道通信的基本原理2.了解pipe( )函数的功能(四)实验内容:编制一段程序,实现进程的管道通信。 使用系统调用pipe()建立一条管道线;两个子进程P1和P2分别向管道中写一句话: Child 1 is sending a message! Child 2 is sending a message! 而父进程则从管道中读出来自于两个子进程的信息,显示在屏幕上。 要求父进程先接收子进程P1发来的消息,然后再接收子进程P2发来的消息。实验六 进程间通信(1)实验(一)实验学时:2学时(二)实验类型:验证(三)实验目的:了解Linux支持的消息通讯机制及信息量机制(四)实验内容:消息的创建,发送和接收。 使用系统调用msgget ( ), msgsnd ( ), msgrev ( ), 及msgctl ( ) 编制一长度为1k的消息的发送和接收程序。 观察分析程序,说明控制消息队列系统调用msgctl ( ) 在此起什么作用?实验七 进程间通信(2)实验(一)实验学时:2学时(二)实验类型:验证(三)实验目的:了解Linux支持的共享存储区机制及信息量机制。(四)实验内容:共享存储区的创建、附接和段接。 使用系统调用shmget( ),shmat( ),sgmdt( ),shmctl( ),编制一个与上述功能相同的程序。实验八 存储管理(一)实验学时:4学时(二)实验类型:设计(三)实验目的:1.存储管理的主要功能之一是合理地分配空间。请求页式管理是一种常用的虚拟存储管理技术。 2.本实验的目的是通过请求页式存储管理中页面置换算法模拟设计,了解虚拟存储技术的技术特点,掌握请求页式存储管理的页面置换算法。(四)实验内容:(1)通过随机数产生一个指令序列,共320条指令。指令的地址按下述原则生成: 50%的指令是顺序执行的; 50%的指令是均匀分布在前地址部分; 50%的指令是均匀分布在后地址部分。 具体的实施方法是: 在 0,319 的指令之间随即选取一起点m; 顺序执行一条指令,即执行地址为m+1的指令; 在前地址0,m+1中随机选取一条指令并执行,该指令的地址为m; 顺序执行一条指令,其地址为 m+ 1; 在后地址m+ 2,319中随机选取一条指令并执行; 重复上述步骤-,直到执行320次指令。 (2)将指令序列变换为页地址流 设:页面大小为1k; 用户内存容量为4页到32页; 用户虚存容量为32k。 在用户虚存中,按每k存放10条指令排在虚存地址,即320条指令在虚存中的存放方式为: 第0条-第9条指令为第0页(对应虚存地址为0,9); 第10条-第19条指令为第一页(对应虚存地址为10,19); 第310条第319条指令为第31页(对应虚地址为310,319)。 按以上方式,用户指令可组成32页。 (3)计算并输出下述各种算法在不同内存容量下的命中率。 先进先出的算法(FIFO); 最近最少使用算法(LRR); 最佳淘汰算法(OPT)先淘汰最不常用的页地址; 最少访问页面算法(LFR); 最近最不经常使用算法(NUR)。 其中、为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年小程序与智能家居生态链产品销售合作协议
- 2025年度绿色环保企业专业环保工程师岗位聘用合同
- 2025年度节能环保设备区域总代授权合同
- 2025年企业培训租赁合同争议预防与解决指南
- 2025年度高端住宅区安保人员职责明确与权益保护合同
- 2025年航空航天领域精密装修泥工劳务分包合同模板
- 海姆立克急救课件
- 海大饲料基础知识培训课件
- 海城八中消防知识培训课件
- 地狱课件安吉尔的秘密
- 口才与演讲训练教程(第四版)课件2-2普通话训练
- 新教师三年职业成长规划
- 公司适用法律法规标准清单2025年08月更新
- 国家中医药管理局《中医药事业发展“十五五”规划》全文
- 美发店租工位合同协议
- QC080000-2017 HSF有害物质管理程序文件全套
- 计量操作人员(通用类)考试题库(含答案)
- 大海(张雨生)原版五线谱钢琴谱正谱乐谱
- 公开课第一课素描基础入门课件
- 数据结构ppt课件完整版
- 铝模板施工工艺标准
评论
0/150
提交评论