操作系统课程设计题目-资源分配.doc
约11页DOC格式手机打开展开
操作系统课程设计题目-资源分配,9页3500余字一、课程设计目的和意义 本次实习要求同学编写和调试一个系统动态分配资源的简单模拟程序,观察死锁产生的条件,并采用适当的算法,有效地防止和避免死锁的发生。银行家算法分配资源的原则是:系统掌握每个进程对资源的最大需求量,当进程要求申请资源时,系统就测试该进程尚需资源的最大量,如果系统中现存的资源数大于或等于...
![](http://img.queshao.com/images/pcgzh.gif)
![](http://preview.queshao.com/tobuy/19632.gif)
内容介绍
此文档由会员 bshhty 发布
9页3500余字
一、课程设计目的和意义
本次实习要求同学编写和调试一个系统动态分配资源的简单模拟程序,观察死锁产生的条件,并采用适当的算法,有效地防止和避免死锁的发生。
银行家算法分配资源的原则是:系统掌握每个进程对资源的最大需求量,当进程要求申请资源时,系统就测试该进程尚需资源的最大量,如果系统中现存的资源数大于或等于该进程尚需求资源最大量时,就满足进程的当前申请。这样就可以保证至少有一个进程可能得到全部资源而执行到结束,然后归还它所占有的全部资源供其它进程使用。
同时,通过这次课程设计,需要掌握以下内容:
(1) 什么是资源分配,为什么要进行资源分配
(2) 什么是死锁,死锁产生的条件
(3) 避免死锁的银行家算法,并模拟实现
这次课程设计的主要意义在于通过实践设计操作,掌握操作系统的结构、特征、功能、发展等,深一步研究系统的实用性及安全性。重在培养学生的实践能力,使理论和实践相结合。
二、软硬件环境
硬件环境: PC机 内存 256M;硬盘500M
软件环境:操作系统:windows xp sp2、windows98
编辑环境:tc2
三、系统设计及开发过程
1. 银行家算法中的数据结构
(1)可利用资源向量Available(一维数组)
是一个含有m个元素,其中的每一个元素代表一类可利用的资源数目,其初值是系统中所配置的该类全部可用资源数目。如果Available[j]=k, 表示系统中现有Rj类资源k个。
(2)最大需求矩阵Max(二维数组)
是一个含有nm的矩阵,它定义了系统中n个进程中的每一个进程对m类资源的最大需求。如果Max(i,j)=k, 表示进程i需要Rj类资源的最大数目为k。
(3)分配矩阵Allocation(二维数组)
是一个含有nm的矩阵,它定义了系统中每一类资源当前已分配给每一进程的资源数。如果Allocation(i,j)=k, 表示进程i当前已分得Rj类资源k个。
(4)需求矩阵Need (二维数组)
是一个含有n*m的矩阵,用以表示每一个进程尚需的各类资源数。如果Need(i,j)=k, 表示进程i还需要Rj类资源k个,方能完成其任务。
Need(i,j)= Max(i,j)-Allocation(i,j)
2.银行家算法设计思想
本实习编写和调试了。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
四、参考资料
《计算机操作系统》,汤子瀛、哲凤屏、汤小丹编著,西安电子科技大学出版社
《C语言程序设计》,谭浩强著,清华大学出版社
《操作系统学习辅导及习题详解》,刘坤起著,电子工业出版社
一、课程设计目的和意义
本次实习要求同学编写和调试一个系统动态分配资源的简单模拟程序,观察死锁产生的条件,并采用适当的算法,有效地防止和避免死锁的发生。
银行家算法分配资源的原则是:系统掌握每个进程对资源的最大需求量,当进程要求申请资源时,系统就测试该进程尚需资源的最大量,如果系统中现存的资源数大于或等于该进程尚需求资源最大量时,就满足进程的当前申请。这样就可以保证至少有一个进程可能得到全部资源而执行到结束,然后归还它所占有的全部资源供其它进程使用。
同时,通过这次课程设计,需要掌握以下内容:
(1) 什么是资源分配,为什么要进行资源分配
(2) 什么是死锁,死锁产生的条件
(3) 避免死锁的银行家算法,并模拟实现
这次课程设计的主要意义在于通过实践设计操作,掌握操作系统的结构、特征、功能、发展等,深一步研究系统的实用性及安全性。重在培养学生的实践能力,使理论和实践相结合。
二、软硬件环境
硬件环境: PC机 内存 256M;硬盘500M
软件环境:操作系统:windows xp sp2、windows98
编辑环境:tc2
三、系统设计及开发过程
1. 银行家算法中的数据结构
(1)可利用资源向量Available(一维数组)
是一个含有m个元素,其中的每一个元素代表一类可利用的资源数目,其初值是系统中所配置的该类全部可用资源数目。如果Available[j]=k, 表示系统中现有Rj类资源k个。
(2)最大需求矩阵Max(二维数组)
是一个含有nm的矩阵,它定义了系统中n个进程中的每一个进程对m类资源的最大需求。如果Max(i,j)=k, 表示进程i需要Rj类资源的最大数目为k。
(3)分配矩阵Allocation(二维数组)
是一个含有nm的矩阵,它定义了系统中每一类资源当前已分配给每一进程的资源数。如果Allocation(i,j)=k, 表示进程i当前已分得Rj类资源k个。
(4)需求矩阵Need (二维数组)
是一个含有n*m的矩阵,用以表示每一个进程尚需的各类资源数。如果Need(i,j)=k, 表示进程i还需要Rj类资源k个,方能完成其任务。
Need(i,j)= Max(i,j)-Allocation(i,j)
2.银行家算法设计思想
本实习编写和调试了。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
四、参考资料
《计算机操作系统》,汤子瀛、哲凤屏、汤小丹编著,西安电子科技大学出版社
《C语言程序设计》,谭浩强著,清华大学出版社
《操作系统学习辅导及习题详解》,刘坤起著,电子工业出版社