dev-c++平台上使用cobeginstddev函数 python可以吗

您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
操作系统-哲学家就餐问题生产者消费者问题.doc 9页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
操作系统-哲学家就餐问题生产者消费者问题.doc
你可能关注的文档:
··········
··········
实验题目: ? 在BACI并发程序设计系统中实现哲学家就餐问题和生产者/消费者问题
一、BACI简介:
BACI提供了一个可以编写并发程序的环境,在这个平台上,我们可以很容易的模拟程序的并发执行,在这种并行的编译环境中,可以把BACI中的一些语句嵌 入到C++,C,Java等高等程序中,使程序可以并行执行 .
  基于C++的BACI语法(C—BACI Compiler)
  该语法结构是在C++语法结构的基础上,增加一些并发语句扩展而来,一下是一些常用的并发语句
  1. cobegin函数
  在BACI系统中,并发进程与并发线程同步,多个进程可以并发的在cobegin 块中来并发执行,该函
  数必须在主函数中,语法结构为:
  cobegin {
  proc1(...);proc2(...);. . . . procN(...);
  其中每个进程并发随机执行,每次执行的顺序可能会不一样,当所有的进程接受后,该函数结束。
  2. Semaphores/Binarysem
  信号量的(Semaphores)机制可以更方便的实现进程同步,Semaphores是一种 如C中”int”一样的
  类 型,可以用来定义信号量类型的变量,Binarysem是一种二进制信号量,它所定义的变量只能取1
  或 0,用来表示互斥。
  1).信号量的声明和初始化
  上面声明了两个信号量a,b,其中b为二进制信号量信号量按如下方式初始化:
  Initialsem(semaphores , interger);
  Initialsem(binarysem , 0/1);
  2)P(wait)/V(signal)函数
  强大的PV操作与信号量一次很方便的解决了并发进程同步与互斥问题
  函数原型:
  void p(semaphores &s); or void wait(semaphores &s);
  void v(semaphores &s); or void signal(semaphores &s);
  函数说明:
  p(sem): 如果sem & 0,则sem减1,调用P的进程可以继续执行,如果sem=0,则该进程阻塞,该函
  数操作是原子性的.
  v(sem): 如果v=0,或有进程阻塞,则将其唤醒,如果没有进程等待,将sem加1,在任何时候调用
  v的进程可以继续执行,其操作也是原子的.
  3.atomic
  atomic关键字定义了原子操作,即该函数操作不可剥夺,每次只能一个进程访问
  用法:在要原子执行的函数前加atomic即可,如:
  atomic int sum(){
  . . . ..
  则sum()函数就可以原子操作了
  4.void suspend(void)
  suspend函数将调用的线程挂起
  5.void revive (int process_number)
  该函数用于唤醒某个进程,其进程号为process_number
二、BACI开发过程:
1、开发环境:
Ubuntu 10.04
2、开发工具:
采用带有GUI的BACI工具软件,下载地址:
http://inside.mines.edu/fs_home/tcamp/baci/index.html
3、解压后的目录:
4、实验测试过程
(a)软件测试用例:
源代码:jqk.cm
测试结果:
(b):生产者消费者问题(Bounded-Buffer)
在BACI系统中模拟生产者,消费者问题,用PV操作实现同步,与互斥
源代码(ex1.cm):
在终端进行编译:
运行结果:
(c):哲学家就餐问题(Dining-Philosophers)
源代码:ex2.cm
编译运行GUI:
运行结果:
三、实验总结
在本次实验过程中,选定题目后便在网上搜索资料,最终选定了较为简单的BACI测试工具,然后简单学习了一下BACI的语法规则和一些常用的函数,进而编写代码测试实验。同时在实验中又复习了经典的同步算法,以及用信号量和PV操作来实现同步的具体方法。
正在加载中,请稍后...博主最新文章
博主热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
操作系统上机实验.doc 76页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
你可能关注的文档:
··········
··········
操作系统上机实验
与课程设计指导书
(第一版)
计算机科学与通信工程学院计算机科学系
江苏大学印刷厂
计算机技术的飞速发展正在引发新一轮世界性技术革命。在经济发展越来越全球化、科技创新越来越国际化、知识经济已初见端倪的今天,任何一门技术或任何一个领域离开了计算机恐怕都是不可想象的。然而计算机技术发展之迅速、计算机及其相关IT产品市场竞争之激烈、计算机产业让人致富之迅猛也同样是人们始料不及的。在新世纪,任何想在技术领域有一番作为的人,恐怕都不得不面对计算机技术的挑战。
学习计算机软件技术,特别是计算机操作系统技术,除了需要刻苦努力外,还需要掌握软件和操作系统的原理与设计技巧。这些原理与技巧可以说是计算机前辈们一代接一代不停努力的结晶,学习和掌握它们对于激发自己的创造力和想象力是很有帮助的。
如何学习和掌握操作系统技术的原理与实际技巧呢?除了听课和读书之外,最好的办法恐怕就是在实践。例如,自己设计一个小型操作系统,多使用操作系统,多阅读和分析操作源代码等。当前非常流行的Linux 操作系统的原始版就是一位大学生的练习之作。除了上述练习方法之外,习题和实验是很重要的实践环节。
本书是一本配合《操作系统》课程的实验指导书,共收集了供广大同学实践的七个实验(其中最后一个可以用作课程设计),包括处理器调度、虚拟存储器、进程同步、驱动调度、进程通信以及UNIX实践。除了给出题目外,还附带了大量的有效提示,在不降低实验难度的基础上,给读者最大的启发性提示。当然,这些提示只是一种参考,里面完全可能存在错误和不妥之处,有待于各路高手的指教,读者可以不局限于这些提示。
本书的编写得到了本学院科学系詹永照老师的大力帮助和支持,他对本书内容的安排组织上提供了宝贵意见,综合他多年的教学经验给我们作了醍醐灌顶,发聋振聩的指导。在此,编者对他表示衷心的感谢!
衷心希望本书能对学习计算机操作系统和计算机软件的人有所帮助。
2004年4月于镇江
每位同学准备实验本,上机前作好充分的准备工作,预习本次实验的内容,事先熟悉与实验有关的软硬件环境。
实验时遵守实验室的规章制度,爱护实验设备,不得私自将使用的计算机加密码,影响其他同学的上机。原则上每人固定实验设备,由始而终地进行实验,对于实验设备出现的问题,要及时向指导老师汇报。
统一以以下格式命名本人的实验文件:
[班级][学号]_[实验题号].[扩展名]
例:计021班学号为03的学生第四个实验的文件名为:j02103_4.c
最终的实验报告按照要求书写(或打印),按时上交,仔细记录实验中的数据、源程序、实验结果,对于实验过程中出现的问题或疑惑要一并书写,并作为重点加以思考。
实验要求 2
处理器调度 5
一、实验内容 5
二、实验目的 5
三、实验题目 5
四、实验报告 8
虚拟存储器 9
一、实验内容 9
二、实验目的 9
三、实验题目 9
四、实验报告 16
驱动调度 17
一、实验内容 17
二、实验目的 17
三、实验题目 17
四、实验报告 20
同步机构 22
一、实验内容 22
二、实验目的 22
三、实验题目 22
四、实验报告 26
UNIX系统 30
一、实验内容 30
二、实验目的 30
三、实验题目 30
四、实验报告 33
进程间通信 34
一、实验内容 34
二、实验目的 34
三、实验题目 34
四、实验报告 40
课程设计 41
课程设计的内容 41
二、课程设计的要求 41
三、课程设计的目的 41
四、课程设计具体内容 41
认识Linux 42
Linux安装 43
进入Linux 44
深入了解Linux 45
Linux 代码分析 52
检查方法 73
参考文献: 74
处理器调度
一、实验内容
选择一个调度算法,实现处理器调度。
二、实验目的
在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态。当就绪状态进程个数大于处理器数时,就必须依照某种策略来决定哪些进程优先占用处理器。本实验模拟在单处理器情况下处理器调度,帮助学生加深了解处理器调度的工作。
三、实验题目
本实验有两个题目,学生可选择其中的一题。
第一题:设计一个按优先数调度算法实现处理器调度的进程。
假定系统有五个进程,每一个进程用一个进程控制块PCB来代表。进程控制块的格式为:
要求求运行时间
其中,进程
正在加载中,请稍后...

我要回帖

更多关于 dev c 怎样编写函数 的文章

 

随机推荐