1.目的:调试、修改、运行模拟程序,通过形象化的状态显示,使学生理解进程的概念,了解同步和通信的过程,掌握进程通信和同步的机制,特别是利用缓冲区进行同步和通信的过程。
通过补充新功能,使学生能灵活运用相关知识,培养创新能力。
2.内容及要求:1)调试、运行模拟程序。
2)发现并修改程序中不完善的地方。
3)修改程序,使用随机数控制创建生产者和消费者的过程。
4)在原来程序的基础上,加入缓冲区的写互斥控制功能,模拟多个进程存取一个公共缓冲区,当有进程正在写缓冲区时,其他要访问该缓冲区的进程必须等待,当有进程正在读取缓冲区时,其他要求读取的进程可以访问,而要求写的进程应该等待。
5)完成1)、2)、3)功能的,得基本分,完成4)功能的加2分,有其它功能改进的再加2分3.程序说明:  本程序是模拟两个进程,生产者(producer)和消费者(Consumer)工作。
生产者每次产生一个数据,送入缓冲区中。
消费者每次从缓冲区中取走一个数据。
缓冲区可以容纳8个数据。
因为缓冲区是有限的,因而当其满了时生产者进程应该等待,而空时,消费者进程应该等待;
当生产者向缓冲区放入了一个数据,应唤醒正在等待的消费者进程,同样,当消费者取走一个数据后,应唤醒正在等待的生产者进程。
就是生产者和消费者之间的同步。
  每次写入和读出数据时,都将读和写指针加一。
当读写指针同样时,又一起退回起点。
当写指针指向最后时,生产者就等待。
当读指针为零时,再次要读取的消费者也应该等待。
为简单起见,每次产生的数据为0-99的整数,从0开始,顺序递增。
两个进程的调度是通过运行者使用键盘来实现的。
4.程序使用的数据结构进程控制块:包括进程名,进程状态和执行次数。
缓冲区:一个整数数组。
缓冲区说明块:包括类型,读指针,写指针,读等待指针和写等待指针。
5.程序使用说明  启动程序后,如果使用'p'键则运行一次生产者进程,使用'c'键则运行一次消费者进程。
通过屏幕可以观察到两个进程的状态和缓冲区变化的情况。
2019/3/25 13:35:58 306KB 操作系统 上机 实验报告 进程同步
1
重写QLineEdit,完成编辑框添加删除按钮的功能,当编辑框获得焦点并且北荣不为空时
删除按钮就会显示。
2017/8/2 11:47:41 544KB 编辑框 删除
1
有关于空时编码的详细PPT材料。
包括详细空时分组编码,空时网格编码的详细编译码过程。
2021/2/10 18:02:45 647KB 空时编码;STBC;空时分组编码
1
软件介绍:全能打字教室v1.0安装序列号如下:jrp-0149681、初始设置为:练习时间30分钟;
测试时间5分钟;
音乐播放为顺序播放以上状态在用户修改后会将修改状态保留至下次启动。
2、登录用户库文件为空时自动建立库文件和用户[打字高手],并且要求库内容不得为空。
3、记录成绩超过30次自动保留最近30次该用户记录。
4、专业得分计分方式(按劳动厅中级文录鉴定考核标准)    中文:错误率3‰以内,录入速度90字/分,得满分。
      错误率超过3-10‰之间每一千分点扣1分      错误率超过10‰以上每一千分点扣0.5分      英文:错误率1‰以内,录入速度220字符/分,得满分。
      错误率超过1-10‰之间每一千分点扣1分      错误率超过10‰以上每一千分点扣0.5分      错误率超过500‰均为零分   注:字根练习,录入速度180字符/分为满分。
   考核得分计分方式由管理员设置。
5、网络管理中需设置文件共享,并保证成绩档案库文件的读写性、改名权,如成绩库不存在则应给予创建权。
当升级3.5版数据库时会产生临时文件,完成后会自动删除。
因而在升级数据库时应给予删除权。
6、练习成绩存盘必须有1分钟以上练习时间。
7、只允许删除本人练习成绩。
本软件由Delphi5 编程实现,启用了BDE数据库引擎,自带五笔输入法(内含五笔型4.5版词库),可为指法及五笔录入教学和专业文录考核鉴定之用。
本系统为绿色软件,在windows系统目录没有任何修改,并可任意移动本系统目录,利于网络管理。
2017/10/11 11:43:54 5.08MB 其他资源
1
一、设计要求设计一个模拟仿真“生产者-消费者”问题的解决过程及方法的程序。
主要内容是P、V操作过程的设计与实现。
生产消费者问题是操作系统设计中经常遇到的问题。
多个生产者和消费者线程访问在共享内存中的环形缓冲。
生产者生产产品并将它放入环形缓冲,同时消费者从缓冲中取出产品并消费。
当缓冲区满时生产者阻塞并且当缓冲区有空时生产者又重新工作。
类似的,消费者当缓冲区空时阻塞并且当缓冲区有产品时又重新工作。
显然,生产者和消费者需要一种同步机制以协调它们的工作。
二、系统功能本程序模拟实现了“生产者-消费者”问题的解决过程,用图形界面动态演示了P、V操作过程以及生产者、消费者进程之间的工作流程。
本程序使用的算法是典型的P、V操作使用信号量解决“生产者-消费者”问题。
本程序在界面上使用了Java的swing接口函数,用矩形条表示生产者进程中待生产的产品,并设置了三个分区分别表示生产者进程待生产的产品、公共缓冲池中已生产的产品和消费者进程已消费的产品,以动画的效果动态演示了待生产产品变成消费者进程中已消费产品的过程,以及在这一过程中生产者进程和消费者进程协调工作的过程。
在程序运行过程中使用了两个生产者线程和两个消费者线程并发工作,并使用了线程随机休眠的策略,即每个线程在完成一次生产过程或消费过程后随机休眠1至10秒钟。
这一策略能保证生产者和消费者之间的运行顺序被打破,从而产生生产产品和消费产品之间的矛盾(即没有产品可消费的情况下消费者试图向公共缓冲池取产品消费、公共缓冲池里的产品已满的情况下生产者试图生产产品放入缓冲池)。
因为生产者生产产品和消费者消费产品都是随机的,所以产生的矛盾也是不可预知的,在这种情况下,才能检验所使用的算法是否健壮高效。
而本程序正是基于这种思想设计出来的,用来模拟生产者消费者问题的解决过程。
本程序在运行时提供友好的交互界面,且操作简单,在模拟过程中各种情况有相应文字提示,并伴有相应的图像变化,如:当没有产品可消费的情况下消费者试图向公共缓冲池取产品消费,消费者进程阻塞,公共缓冲池随之变成红色,文字提示框内显示warning:it'sempty!Consumerisblock;
当缓冲池已满而生产者试图生产产品并向缓冲池放入产品时,生产者进程阻塞,公共缓冲池里的每一个产品变成黄色,问题提示框显示warning:it'sfull!Producerisblock。
整个模拟过程通俗易懂,利于理解,能很好的协助使用者加强生产者消费者问题的理解。
1
智能天线已成为当今无线通信领域的一大研究热点,它结合了天线阵列技术与信号空时处理,在系统设计中增加了空时处理的自由度,改善了系统功能,增加了系统容量及频谱利用率。
本文重点研究阵列天线信号处理中的自适应波束形成算法,它能利用传感器阵列实现增强有用信号并抑制干扰和噪声的目的。
移动无线通信基于LMS思维自适应波束形成算法研究,
2016/2/7 22:48:56 293KB 天线
1
利用互斥锁和计数信号完成生产者消费者问题一组生产者进程和一组消费者进程共享一个初始为空、大小为n的缓冲区,只有缓冲区没满时,生产者才把消息放入到缓冲区,否则必须等待;
只有缓冲区不空时,消费者才能从中取出消息,否则必须等待。
由于缓冲区是临界资源,它只允许一个生产者放入消息,或者一个消费者从中取出消息。
生产者和消费者对缓冲区互斥访问是互斥关系,同时生产者和消费者又是一个相互协作的关系,只有生产者生产之后,消费者才能消费,他们又是同步关系。
信号量设置:信号量mutex作为互斥信号量,它用于控制互斥访问缓冲池,互斥信号量初值为1;
信号量full用于记录当前缓冲池中“满”缓冲区数,初值为0。
信号量empty用于记录当前缓冲池中“空”缓冲区数,初值为n。
主函数担任接收参数,初始化信号量,创建生产者线程,创建消费者线程,睡眠一段时间后,结束程序
2019/4/24 15:34:27 2KB Linux 生产者消费者
1
《无线通信基础(英文版)》介绍无线通信的基本原理,着重强调概念及其在系统中的实现之间的相互影响,涉及的主要问题有MIMO通信、空时编码、机会通信、OFDM和CDMA等,这些概念均利用无线系统的大量实例予以说明。
书中还配有大量的习题和图表,可以协助读者进一步理解材料内容。
《无线通信基础(英文版)》适合作为通信工程和电子信息类相关专业高年级本科生和研究生的教材,也可供工程技术人员参考。
2020/8/14 21:41:30 4.26MB 通信 无线 无线通信基础
1
空时自适应信号处理_王永良,彭应宁著.pdf空时自适应信号处理(STAP)是相控阵机载雷达杂波抑制与目标检测的关键技术,已成为雷达界抢手的研究方向。
本书以相控阵机载预警雷达为背景,系统、深入地阐述了空时自适应处理的理论、方法及面向实际工程应用所涉及的有关问题。
书中总结了作者多年来的研究成果以及国际上这一领域的研究进展。
全书由十一章组成。
主要内容有空时自适应处理的研究进展及其相关问题,机载相控阵雷达杂波特性及其分析,空时自适应处理基本概念与原理,空时自适应处理的典型方法与分析,空时自适应处理的统一理论与处理框架,天线非正侧面阵放置时的空时自适应处理,杂波和有源干扰同时抑制的方法,空时自适应处理的权值算法等。
此外,书中还专门介绍了传统的机载雷达杂波抑制技术。
本书是关于空时自适应处理的一部专著,可作为雷达领域的专业参考书,也可作为研究生的选修教材,对从事通信、导航与声纳等领域的专业技术人员也有一定的参考价值。
2022/9/7 23:28:36 4.66MB 空时自适应信号处理
1
用matlab编写的Alamouti方案的空时编码仿真代码。
运用QPSK符号,2发1收或2收2发。
2022/9/5 10:52:42 199KB Alamouti QPSK matlab
1
共 44 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡