虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

避免死锁

  • 银行家算法是用来在系统调用资源时

    银行家算法是用来在系统调用资源时,避免死锁的一种使用很广泛的算法,易懂,有兴趣玩程序的就加我啊QQ364523756

    标签: 算法 系统调用 资源

    上传时间: 2014-01-20

    上传用户:lz4v4

  • 哲学家就餐是一个经典的Java多线程编程的实例

    哲学家就餐是一个经典的Java多线程编程的实例,这是图形版。涉及到线程同步与互斥,临界区访问问题以及避免死锁的方法。

    标签: Java 多线程编程

    上传时间: 2014-01-19

    上传用户:金宜

  • 操作系统中的银行家算法源码

    操作系统中的银行家算法源码,用c++写的关于避免死锁的算法。

    标签: 操作系统 算法 源码

    上传时间: 2014-01-27

    上传用户:虫虫虫虫虫虫

  • 模拟银行家算法

    模拟银行家算法,有效避免死锁.附带详细的实验报告!

    标签: 模拟 算法

    上传时间: 2017-07-05

    上传用户:稀世之宝039

  • 哲学家就餐问题的模拟(ucos实现) 问题描述: 5个哲学家围绕一张圆桌而坐

    哲学家就餐问题的模拟(ucos实现) 问题描述: 5个哲学家围绕一张圆桌而坐,桌子上放着5支筷子,每两个哲学家之间放一支; 哲学家的动作包括思考和进餐; 进餐时需要同时拿起他左边和右边的两支筷子;思考时则同时将两支筷子放回原处。 程序解决了哲学家的就餐问题。 避免死锁(deadlock) 避免饥饿(starvation) 程序使用的使用消息邮箱模拟二值信号量

    标签: ucos 模拟

    上传时间: 2013-12-21

    上传用户:思琦琦

  • 基于ARM的TKernel系统移植研究

    T-Kernel作为一种嵌入式操作系统,由于实时性和开源性,在嵌入式操作系统领域中的应用越来越广泛。ARM是一款比较好的微处理器,T-Kernel在ARM上的应用研究基本上是空白,所以结合两者进行研究促进T-Kernel在国内嵌入式领域的发展。同时,T-Kernel内部调度机制存在着优先级反转缺陷,优先级反向使得高优先级任务的执行时间无法预测,增加了实时系统的不确定性。早期的解决协议较好地解决了优先级反转问题,但同时也存在着自身不足之处。 针对T-Kernel存在的缺陷,在深入研究相关协议的基础上,本论文提出了一种新的改进的优先级继承协议。该协议设置超时保护机制,避免任务在获取信号量时长时间的阻塞,结合Havender提出的“有序资源使用法”防止死锁发生,给出该协议的分析过程,并把该协议结合到T-Kernel中。在这个基础之上,建立研究开发平台;针对硬件设备,研究引导程序的执行原理,实现系统的引导程序;构建T-Kennel内核;移植内核到开发板;最后对T-Kernel的启动过程进行了详细的分析。 T-Kernel在ARM上的移植研究,为嵌入式系统开发的提供了一种开发流程,同时对于T-Kernel的启动过程的分析,为以后的应用程序开发提供了一个接口;对于T-Kernel存在的优先级反转问题的解决,可以改进T-Kernel的实时性和灵活性,同时为实时系统的性能改进提供了参考。

    标签: TKernel ARM 移植

    上传时间: 2013-04-24

    上传用户:shangdafreya

  • 多核专家系列:多核软件迁移与开发:挑战与解决方案

    随着多核平台在嵌入式市场的激增,从传统堆栈到多核堆栈的迁移已成标准任务。但它本身引发了如何有效挖掘多核功能的一些挑战。部分需要解决的问题包括:调试、有效线程处理及避免出现死锁情况、性能和时间造成的延迟问题、多个CPU之间共享系统资源的问题、缓存一致性问题、OS角色问题(不同CPU之间的线程及中断迁移)等。本会议将具体讨论这些挑战并且针对如何应对这些挑战提供相应的建议。此外,我们还将讨论现有的调试技术、工具和方法论。

    标签: 多核 软件 方案

    上传时间: 2013-12-26

    上传用户:wxnumen

  • 哲学家进餐问题是荷兰学者Dijkstra 提出的经典问题之一,它是一个信号量机制问题的应用,在操作系统文化史上具有非常重要的地位。对该问题的剖析有助于学生深刻地理解计算机系统中的资源共享、进程同步、死

    哲学家进餐问题是荷兰学者Dijkstra 提出的经典问题之一,它是一个信号量机制问题的应用,在操作系统文化史上具有非常重要的地位。对该问题的剖析有助于学生深刻地理解计算机系统中的资源共享、进程同步、死锁等问题,并能熟练地应用信号量来解决生活中的控制流程,即将生活中的控制流程用形式化的方式表达出来。 假设有5个哲学家,他们花费一生中的时光思考和吃饭。这些哲学家共用一个圆桌,每个哲学家都有一把椅子。在桌子中央是一碗通心面,在桌子上放着5只筷子。(如图所示)当一个哲学家思考时,他与其他同事不交互。时而,哲学家会感到饥饿,并试图拿起与他相近的两只筷子(他与邻近左、右之间的筷子)。一个哲学家一次只能拿起一只筷子。显然,他不能从其他哲学家手里拿走筷子。当一个饥饿的哲学家同时有两只筷子时,他就不能不用释放他的筷子而自己吃了。当吃完后,他会放下两只筷子,并再次开始思考。 规定奇数号哲学家先拿他左边的筷子,然后再去拿右边的筷子;而偶数号哲学家则相反。按此规定,将是1、 2号哲学家竞争1号筷子;3、4号哲学家竞争3号筷子。即五位哲学家都先竞争奇数号筷子,获得后,再去竞争偶数号筷子,最后总会有一位哲学家能获得两只筷子而进餐。

    标签: Dijkstra 信号量 地理

    上传时间: 2013-12-10

    上传用户:zhangzhenyu

  • 哲学家进餐问题是荷兰学者Dijkstra 提出的经典问题之一,它是一个信号量机制问题的应用,在操作系统文化史上具有非常重要的地位。对该问题的剖析有助于学生深刻地理解计算机系统中的资源共享、进程同步、死

    哲学家进餐问题是荷兰学者Dijkstra 提出的经典问题之一,它是一个信号量机制问题的应用,在操作系统文化史上具有非常重要的地位。对该问题的剖析有助于学生深刻地理解计算机系统中的资源共享、进程同步、死锁等问题,并能熟练地应用信号量来解决生活中的控制流程,即将生活中的控制流程用形式化的方式表达出来。 假设有5个哲学家,他们花费一生中的时光思考和吃饭。这些哲学家共用一个圆桌,每个哲学家都有一把椅子。在桌子中央是一碗通心面,在桌子上放着5只筷子。(如图所示)当一个哲学家思考时,他与其他同事不交互。时而,哲学家会感到饥饿,并试图拿起与他相近的两只筷子(他与邻近左、右之间的筷子)。一个哲学家一次只能拿起一只筷子。显然,他不能从其他哲学家手里拿走筷子。当一个饥饿的哲学家同时有两只筷子时,他就不能不用释放他的筷子而自己吃了。当吃完后,他会放下两只筷子,并再次开始思考。 规定奇数号哲学家先拿他左边的筷子,然后再去拿右边的筷子;而偶数号哲学家则相反。按此规定,将是1、 2号哲学家竞争1号筷子;3、4号哲学家竞争3号筷子。即五位哲学家都先竞争奇数号筷子,获得后,再去竞争偶数号筷子,最后总会有一位哲学家能获得两只筷子而进餐。

    标签: Dijkstra 信号量 地理

    上传时间: 2014-01-23

    上传用户:teddysha

  • Linux网络编程。主要实现共享资源问题。通过lock()函数实现锁定

    Linux网络编程。主要实现共享资源问题。通过lock()函数实现锁定,unlock()实现解锁,以避免造成临界资源的死锁问题。

    标签: Linux lock 网络编程 函数

    上传时间: 2015-12-16

    上传用户:tb_6877751