操作系统实验指导书(linux版)

《操作系统》实验指导书

实验学时:16

适用专业:计算机科学与技术

实验一:进程和线程的创建

1. 在linux下编写一个应用程序,命名为an_ch2_1b。这个程序不断地输出如下行:

Those output come from child,[系统时间]

另外写一个应用程序,命名为an_ch2_1a。这个程序创建一个子进程,执行an_ch2_1b。这个程序不断地输出如下行:

Those output come from child,[系统时间]

观察程序运行的结果,并对你看到的现象进行解释。

2。在linux环境下编写一个控制台应用程序,程序中有一个共享的整型变量shared_var,初始值为0;创建一个线程并使其立即与主线程并发执行。新创建的线程与主线程均不断地循环,并输出shared_var 的值。主线程在循环中不断地对shared_var 进行加1操作,即每次循环shared_var 被加1;而新创建的线程则不断地对shared_var 进行减1 操作,即每次循环shared_var 被减1。观察程序运行的结果,并对你看到的现象进行解释。

3。提交源代码以及实验报告。

实验二:进程和线程同步和互斥

1。生产者消费者问题(信号量)

参考教材中的生产者消费者算法,创建5个进程,其中两个进程为生产者进程,3个进程为消费者进程。一个生产者进程试图不断地在一个缓冲中写入大写字母,另一个生产者进程试图不断地在缓冲中写入小写字母。3个消费者不断地从缓冲中读取一个字符并输出。为了使得程序的输出易于看到结果,仿照阅读材料中的实例程序,分别在生产者和消费者进程的合适的位置加入一些随机睡眠时间。

可选的实验:在上面实验的基础上实现部分消费者有选择地消费某些产品。例如一个消费者只消费小写字符,一个消费者只消费大写字母,而另一个消费者则无选择地消费任何产品。消费者要消费的产品没有时,消费者进程被阻塞。注意缓冲的管理。

2。用实现睡觉的理发师问题信号量mutex方式理发师问题的描述:一个理发店接待室有n张椅子,工作室有1张椅子;没有顾客时,理发师睡觉;第一个顾客来到时,必须将理发师唤醒;顾客来时如果还有空座的话,他就坐在一个座位上等待;如果顾客来时没有空座位了,他就离开,不理发了;当理发师处理完所有顾客,而又没有新顾客来时,他又开始睡觉。3。读者写者问题

教材中对读者写者问题算法均有描述,但这个算法在不断地有读者流的情况下,写者会被阻塞。编写一个写者优先解决读者写者问题的程序,其中读者和写者均是多个进程,用信号量作为同步互斥机制。

。实现一个文件查找程序仿照unix操作系统中的find命令,在实现一个find命令。find命令从指定的目录下开始,递归地查找指定文件。其命令格式如下:

find PATH -option 参数 [-print] [-exec 命令 \;]

PATH:查找的起始目录。

-option 参数:用来控制搜索方式,具体如下(以下只给我常用的): -name "文件":指定要查找的文件名,可以有通配符?*等。 -prune 目录:指出搜索时不搜索该目录。 -mtime +n或-n:按时间搜索,+n:表示n天之前修改过的文件;-n:表示今天到n天前之间修改过的文件。 -ctime +n或-n:也是按时间查找,+n:表示n天之前创建的文件;-n:表示今天到n天前之间创建的文件。 -print:将搜索结果输出到标准输出。

可选的实验1:实现-exe选项。 -exec:对查找到的每一个结果实行指定的程序。格式如下: -exec 程序名

提示:执行指定的程序可以创建一个进程执行

可选的实验:

??将你实现的find命令改为用多线程的方式实现。比较多线程实现的find与单线程实现的find的执行结果、效率等,并在实验报告中给出你的解释。

实现一个CPU时间 包括用户态和系统态时间,以毫秒为单位 ,

2)命令执行的时间,

3)进程被抢占的次数,

4)进程主动放弃CPU的次数,

5)进程执行过程中发生缺页的次数

2.在linux中实现一个简单的命令解释程序,功能要求:

1)同时支持内部命令和外部命令,内部命令支持两个(cd、exit)

2)支持后台命令

提示:实验中可能用到的系统调用如下:

? fork — 创建一个新进程

? getrusage — 取得进程的资源使用情况

? gettimeofday — 取当前的时间

? execve — 装入一个程序并执行

? wait — 等待子进程结束

? chdir — 改变进程的工作目录

? strtok — 字符串解析

3、提交源代码以及实验报告。

计算机操作系统实验指导linux版,操作系统实验指导书(linux版).doc相关推荐

  1. 计算机学生对未来的规划800,大学生规划书800字.doc

    大学生规划书800字 大学生规划书800字 大学生规划书800字(一):大学学业规划和职业规划(800字) 大学学业规划和职业生涯规划 大学我的总体规划也就主要围绕这两点进行:个人能力和专业知识. 1 ...

  2. linux 用mutex定义一个linkedlist,【基于LINUX的操作系统实验教程最终版材料】

    (基于LINUX的操作系统实验教程)(最终版) <基于LINUX的操作系统实验教程.doc>由会员分享,可免费在线阅读全文,更多与<(基于LINUX的操作系统实验教程)(最终版)&g ...

  3. linux 实验指导书,linux操作系统实验指导书新 - 图文

    巢湖学院 -p 指定程序识别码,并列出该程序的状况. p 此参数的效果和指定\参数相同,只在列表格式方面稍有差异. r 只列出现行终端机正在执行中的程序. -t 指定终端机编号,并列出属于该终端机的程 ...

  4. c语言上机实验指导西南交通大学,操作系统原理与应用实验指导书-西南交通大学.doc...

    操作系统原理与应用实验指导书-西南交通大学 <操作系统原理与应用> 实验指导书 西南交通大学经济管理学院 电子商务与信息管理系 王明亮编写 2007年7月 实验名称:1. 安装Linux操 ...

  5. linux系统实训总结报告,Linux操作系统实验报告.doc

    Linux操作系统实验报告.doc LINUX 操作系统实验报告课 程 Linux 操作系统 专 业 学 号 姓 名 指导教师 XXXXX 系20 年 月 日实验一 LINUX 基本命令实验目的1.掌 ...

  6. linux平台的实验描述,基于LINUX的操作系统实验平台的设计与实现

    摘要: 操作系统原理课程是计算机专业的重要基础课程,该课程涉及大量抽象和深奥的概念.模型和算法,容易导致学习低效和困难. 本文针对操作系统教学中存在的不足,以Linux0.11版本内核为基础为操作系统 ...

  7. 实验四 linux进程控制实验报告,Linux系统进程控制操作系统实验报告4

    实验课程名称:操作系统 实验项目名称Linux系统进程控制实验成绩 实验者专业班级组别 同组者实验日期年月日第一部分:实验分析与设计(可加页) 实验内容描述(问题域描述) 要求:掌握Linux系统中进 ...

  8. linux进程同步互斥实验小结,操作系统进程同步互斥实验

    <操作系统进程同步互斥实验>由会员分享,可在线阅读,更多相关<操作系统进程同步互斥实验(7页珍藏版)>请在人人文库网上搜索. 1.进程的同步互斥实验进程的同步互斥实验进程的同步 ...

  9. linux文件操作实验心得,操作系统实验心得(多篇).doc

    操作系统实验心得(多篇) 操作系统实验心得(精选多篇) 第一篇:操作系统实验心得 每一次课程设计度让我学到了在平时课堂不可能学到的东西.所以我对每一次课程设计的机会都非常珍惜.不一定我的课程设计能够完 ...

最新文章

  1. LeetCode 85. Maximal Rectangle --python,java解法
  2. 2020年,那些「引爆」了机器学习社区的热门论文、库和基准
  3. hsweb提取页面查询参数_提取网页,登录情况填写规则,参数和值获取办法
  4. mysql binlog rotate_binlog rotate引发的MySQL阻塞事件
  5. linux c之memcpy拷贝结构体到结构体、拷贝字符数组到结构体
  6. 从数据的角度解析计算机的发展,2017计算机知识考前冲刺试题及答案
  7. Hey,孙叫兽的2020 CSDN年度报告已出炉,请查收!
  8. 【NOIP2004】【Luogu1088】火星人(枚举排列)
  9. 调用软键盘_Android 支持拖动、缩放的自定义软键盘
  10. 关于vmware虚拟机硬件里没有软盘驱动器,而操作系统里还有的解决方法
  11. 计算机应用基础学科计划,《计算机应用基础》教学计划
  12. 用计算机求算术平方根,6.1用计算机计算算术平方根.ppt
  13. 2021年总结:回顾这不平凡的一年
  14. 微信小程序使用node-xlsx解析excel文件的云函数
  15. 深度学习之openvino预训练模型测试(车牌识别)
  16. Java中的枚举类是什么?enum关键字怎么使用?
  17. 在 LaTeX 中创建文档
  18. PAT A1027 Colors in Mars
  19. ppst技术视频—— android + mavan环境搭建
  20. 请介绍一下近场通信技术

热门文章

  1. Win 10家庭版如何添加多用户
  2. 国际电商网站APP开发-国际电商网站,跨境方案
  3. MaixII-Dock(v831)学习笔记——MaixII-Dock初使用
  4. 【对讲机的那点事】手把手教你安装公网4G对讲机读写频的驱动及写码?
  5. geolocation.js
  6. DDOS攻击频发,游戏行业该怎么做好防御呢?
  7. 电磁学中一些基础知识3
  8. 本科入职微软,是一种怎样的体验?让我们来听听这位学长的经历分享吧!
  9. MacW资讯:设置苹果Mac电脑的开机密码
  10. 【Web技术】1114- 一文彻底读懂ESLint