仿真模拟银行家算法对死锁的避免。
对于进程死锁的避免问题,分为两种状态:安全状态和非安全状态。
在避免死锁的方法中,允许进程动态地申请资源分配之前,应先计算此次资源分配的安全性。
若此次分配不会导致系统进入不安全状态,则将资源分配给进程;
否则,令进程等待。
所谓安全状态是指系统能按某种进程顺序,来为每个进程pi分配所需的资源,直至满足每个进程对资源的最大需求,使每个进程都可顺利地完成。
如果系统无法找到这样一个序列,则系统处于不安全状态。
只要系统处于安全状态,系统便可避免进入死锁状态。
因此避免死锁的实质在于:系统在进行资源分配时,如何使系统不进入不安全状态。
银行家算法就是一种最有代表性的避免死锁的算法。
2023/8/7 15:21:24 4.83MB 银行家算法 java 界面 操作系统
1
SkinSharp简介SkinSharp是Windows环境下一款强大的通用换肤库。
SkinSharp作为通用换肤库,只需要在您的程序中添加一行代码,就能让您的界面焕然一新,并拥有多种主题风格和色调的动态切换功能以及Aero透明边框特效。
SkinSharp采用独特的软件界面开发技术,让原本复杂繁琐的界面编程变得轻松自如。
SkinSharp换肤库目前支持所有流行的开发工具。
SkinSharp可以在不修改客户程序的基础上,对在Windows上运行的任何程序进行随意换肤,完全实现了将程序界面与业务逻辑彻底分离,从而可以让您轻松地完成程序界面的完美升级。
SkinSharp优势SkinSharp与同类产品相比有如下优势:1.超轻量级换肤,SkinSharp不依赖于任何第三方类库或模板库(STL,MFC,ATL等),仅仅使用到系统最基本的核心动态链接库。
因此体积在同类产品上是最小的,仅不到200K,运行效率也是最高的,所有绘制和操作全部都是基于Win32API的,其他同类换肤库则十分臃肿。
2.SkinSharp在滚动条和菜单换肤上,和其他同类换肤库有着明显的优势。
在滚动条换肤上,SkinSharp做到了所有控件内置滚动条的换肤,并且不修改控件任何风格和属性,完美兼容各个控件。
在菜单换肤上,SkinSharp采用独特的技术对所有菜单实行换肤,没错,是所有的菜单,包括IE控件内部菜单,系统菜单,滚动条菜单等等,只要是菜单就能换肤!并且支持所有菜单的透明!3.SkinSharp采用先进的皮肤格式,完美兼容各种不同形状外观的皮肤制作。
SkinSharp皮肤采用超高压缩率,体积超小,最小的皮肤小于10K。
载入效率极高,无任何延迟!设计的先进性使得SkinSharp的皮肤有着很好的版本兼容性,即使今后增加了皮肤属性项,也依然能够保持版本的兼容性。
SkinSharp的皮肤同时支持加密功能,保护您自己设计的皮肤不被其他人恶意使用。
4.SkinSharp可以让你轻松拥有Aero透明边框以及阴影特效!SkinSharp仅用标准的GDIAPI就实现了Aero特效,并且效率极高!其他换肤库则没有此特性或者使用了GDI+,这样在Windows2000等系统中你就必须多带一个GDI+的动态链接库,并且效率会有所影响。
另外,SkinSharp还支持边缘阴影,还可以调整阴影参数,实现超炫效果!5.SkinSharp支持更改皮肤的色调,饱和度,亮度,窗体的透明度,菜单的透明度。
仅一款皮肤,您就可以拥有不同的色调主题!做出类似QQ色调主题是一件轻而易举的事情!6.SkinSharp并非COM组件,仅以标准的动态或静态链接库的形式存在,SkinSharp无需进行系统注册,直接使用!7.SkinSharp完全支持Unicode,提供多种编码格式,支持静态库链接,与客户程序可以进行无缝整合!支持绝大多数第三方控件的完美换肤!界面与业务逻辑彻底分离!更多优势特性等待您去发掘!
2023/8/6 22:49:48 2.76MB SkinSharp VB皮肤控件
1
古玩Curio是一个基于协程的库,用于使用async/await进行并发Python系统编程。
它提供了标准的编程抽象,例如任务,套接字,文件,锁和队列,以及一些高级功能,例如对结构化并发的支持。
它可以在Unix和Windows上运行,并且具有零依赖性。
您会发现它熟悉,小巧,快速且有趣。
古玩是不同的软件体系结构中最重要的想法之一是“关注点分离”。
这可以采取多种形式,例如利用抽象层,面向对象的编程,方面,高阶函数等。
但是,它的另一种有效形式存在于分离执行环境的想法中。
例如,操作系统中的“用户模式”与“内核模式”。
这是Curio中的基本思想,但是适用于“异步”执行与“同步”执行。
异步代码的一个基本问题是,它涉及完全不同的评估模型,该模型无法与普通应用程序或其他并发方法(例如线程编程)很好地结合在一起。
尽管在Python中添加了“异步/等待”功能有助于澄清此类代码,但
2023/8/4 18:40:10 266KB Python
1
编写并调试一个综合使用作业调度和进程调度模拟的作业调度程序,采用“简单时间片轮转法”调度算法为多道批处理系统设计一个作业调度程序。
(1)、编写并调试一个多道批处理系统设计一个作业调度程序(2)、作业调度算法:先来先服务。
进程调度算法:时间片轮转法。
(3)、由于在多道批处理系统中,内存中有多道作业等待运行,占有计算机的地切资源直到作业完成为止,因此调度作业时需要考虑它所需要的资源时否得到满足,它所占用的CPU时限问题。
(4)、对每种调度算法都要求打印每个作业的开始运行时刻,完成时刻,周转时间,带权周转时间,以及这组作业的平均周转时间及平均带权周转时间。
2023/8/4 16:18:35 1.89MB 作业调度进程调度MFC
1
题目:五子棋对弈对弈规则如下:主要功能是实现两人之间的对弈,在画好的棋盘上,两个玩家轮流选择自己的落子坐标,然后由五子棋系统自动识别判断游戏的进展,知道一方的五子连成一条线或者棋盘已经无法落子时游戏结束。
选定五子棋的棋盘大小为19*19,玩家可以在这个棋盘上选择落子坐标位置,通过在棋盘上显示不同的符号来代替不同玩家所下的棋子,“o”代表A玩家,“*”代表B玩家。
玩家每次落子之后游戏系统都会对落子位置进行检查,如果落子坐标输入有错应提示错误,并要求玩家继续输入。
当出现同一玩家五子连成一线时,无论是行、列或是对角线的五子连线,都表示玩家游戏胜利,退出游戏任务:编程实现以下功能1.欢迎主界面提示玩家选择游戏开始,结束,设置悔棋次数等。
2.绘制棋盘该模块要求的功能是实现棋盘的显示及棋子的显示,,“o”代表A玩家,“*”代表B玩家。
在每次下棋后要对棋盘进行刷新,将棋盘的状态变化为当前最新状态,然后等待另一个玩家下棋。
3.玩家交替下棋玩家能在棋盘上下棋,玩家每次选择好下棋的行和列坐标,并在该位置落子。
要求:a.提示当前玩家输入落子坐标b.能判断用户输入的坐标是否正确(坐标超出范围或该处已有棋子)4.悔棋功能玩家选择悔棋后刷新棋盘,删除前一次的落子,悔棋次数有限制。
5.输赢判断判断输赢模块的作用是每次玩家落子后判断是否已分出胜负,如果是,则返回胜利者相关信息。
6.设计丰富的用户界面,方便用户操作设计要求:①根据以上功能需求,自己定义合适的数据结构,并说明原因;
②每个功能能提供友好的用户界面,方便用户操作。
2023/8/4 2:24:35 6.04MB 五子棋 C语言 可悔棋 坐标
1
DirectX修复工具(DirectXRepair)是一款系统级工具软件,简便易用。
本程序为绿色版,无需安装,可直接运行。
本程序的主要功能是检测当前系统的DirectX状态,如果发现异常则进行修复。
程序主要针对0xc000007b问题设计,可以完美修复该问题。
本程序中包含了最新版的DirectXredist(Jun2010),并且全部DX文件都有Microsoft的数字签名,安全放心。
本程序为了应对一般电脑用户的使用,采用了傻瓜式一键设计,只要点击主界面上的“检测并修复”按钮,程序就会自动完成校验、检测、下载、修复以及注册的全部功能,无需用户的介入,大大降低了使用难度。
本程序适用于多个操作系统,如WindowsXP(需先安装.NET2.0,详情请参阅“致WindowsXP用户.txt”文件)、WindowsVista、Windows7、Windows8、Windows8.1、Windows8.1Update、Windows10,同时兼容32位操作系统和64位操作系统。
本程序会根据系统的不同,自动调整任务模式,无需用户进行设置。
本程序的V3.8版分为标准版、增强版以及在线修复版。
所有版本都支持修复DirectX的功能,而增强版则额外支持修复c++的功能。
在线修复版功能与标准版相同,但其所需的数据包需要在修复时自动下载。
各个版本之间,主程序完全相同,只是其配套使用的数据包不同。
因此,标准版和在线修复版可以通过补全扩展包的形式成为增强版。
本程序自V3.5版起,自带扩展功能。
只要在主界面的“工具”菜单下打开“选项”对话框,找到“扩展”标签,点击其中的“开始扩展”按钮即可。
扩展过程需要Internet连接,扩展成功后新的数据包可自动生效。
扩展用时根据网络速度不同而不同,最快仅需数秒,最慢需要数分钟,烦请耐心等待。
本程序自V2.0版起采用全新的底层程序架构,使用了异步多线程编程技术,使得检测、下载、修复单独进行,互不干扰,快速如飞。
新程序更改了自我校验方式,因此使用新版本的程序时不会再出现自我校验失败的错误;
但并非取消自我校验,因此程序安全性与之前版本相同,并未降低。
程序有自动更新c++功能。
由于绝大多数软件运行时需要c++的支持,并且c++的异常也会导致0xc000007b错误,因此程序在检测修复的同时,也会根据需要更新系统中的c++组件。
自V3.2版本开始使用了全新的c++扩展包,可以大幅提高工业软件修复成功的概率。
修复c++的功能仅限于增强版,标准版及在线修复版在系统c++异常时(非丢失时)会提示用户使用增强版进行修复。
除常规修复外,新版程序还支持C++强力修复功能。
当常规修复无效时,可以到本程序的选项界面内开启强力修复功能,可大幅提高修复成功率。
请注意,此功能为试验性功能,请仅在常规修复无效时再使用。
程序有两种窗口样式。
正常模式即默认样式,适合绝大多数用户使用。
另有一种简约模式,此时窗口将只显示最基本的内容,修复会自动进行,修复完成10秒钟后会自动退出。
该窗口样式可以使修复工作变得更加简单快速,同时方便其他软件、游戏将本程序内嵌,即可进行无需人工参与的快速修复。
开启简约模式的方法是:打开程序所在目录下的“Settings.ini”文件(如果没有可以自己创建),将其中的“FormStyle”一项的值改为“Simple”并保存即可。
新版程序支持命令行运行模式。
在命令行中调用本程序,可以在路径后直接添加命令进行相应的设置。
常见的命令有7类,分别是设置语言的命令、设置窗口模式的命令,设置安全级别的命令、开启强力修复的命令、设置c++修复模式的命令、控制DirectDraw的命令、显示版权信息的命令。
具体命令名称可以通过“/help”或“/?”进行查询。
程序有高级筛选功能,开启该功能后用户可以自主选择要修复的文件,避免了其他不必要的修复工作。
同时,也支持通过文件进行辅助筛选,只要在程序目录下建立“Filter.dat”文件,其中的每一行写一个需要修复文件的序号即可。
该功能仅针对高级用户使用,并且必须在正常窗口模式下才有效(简约模式时无效)。
本程序有自动记录日志功能,可以记录每一次检测修复结果,方便在出现问题时,及时分析和查找原因,以便找到解决办法。
程序的“选项”对话框中包含了6项高级功能。
点击其中的“注册系统文件夹中所有dll文件”按钮可以自动注册系统文件夹下的所有dll文件。
该项功能不仅能修复DirectX的问题,还可以修复系统中很多其他由于dll未注册而产生的问题,颇为实用。
点击该按钮旁边的小箭头,还可以注册任意指定文件夹下的dll文件,方便用户对绿色版、硬盘版的程序组件进行注册。
2023/8/3 0:57:01 940KB zhangyue DirectX 修复 工具
1
实现了FCFS及RR调度算法;
随机生成进程到达时间、IO请求时间、IO操作时间;
能输出进程平均等待时间及平均周转时间;
完整的vs2010工程;
注释得当;
字符形式表示进程调度过程;
请尊重原创,如有问题,欢迎大家与我探讨。
2023/8/2 3:30:10 14.87MB FCFS RR 进程调度算法 操作系统
1
停止等待协议,用来发送接受不同的文件。
用C++语言写的。
2023/8/1 21:38:37 5.62MB ARQ停止等待协议
1
C#,读做"Csharp",中文译音暂时没有,非专业人士一般读"C井",专业人士一般读"Csharp"。
  C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。
它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。
C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。
C#并且C#成为ECMA与ISO标准规范。
C#看似基于C++写成,但又融入其它语言如Pascal、Java、VB等。
  微软c#语言定义主要是从C和C++继承而来的,而且语言中的许多元素也反映了这一点.C#在设计者从C++继承的可选选项方面比Java要广泛一些(比如说struts),它还增加了自己新的特点(比方说源代码版本定义).但它还太不成熟,不可能挤垮Java.C#还需要进化成一种开发者能够接受和采用的语言.而微软当前为它的这种新语言大造声势也是值得注意的.目前大家的反应是:"这是对Java的反击."  C#更像Java一些,虽然微软在这个问题上保持沉默.这也是意料中的事情,我觉得,因为Java近来很成功而使用Java的公司都报告说它们在生产效率上比C++获得了提高.  Java所带来的巨大影响和大家对它的广泛接受已经由工作于这种语言和平台之上的程序员数量明显的说明了(估计世界范围内共有两百五十万程序员使用Java).由这种语言写成的应用程序的数量是令人惊讶的并已经渗透了每一个级别的计算,包括无线计算和移动电话(比如日本发明的Java电话).C#能够在用户领域获得这样的礼遇吗?我们必须等待并观望,就像已经由SSI公司的CEO和主席KalpathiS.Suresh指出来的那样,"我发现所有这些都是渐进的.如果C#不存在,我们总能回到Java或C和C++.这些都不完全是新技术;它们在更大的意义上来说只是大公司制造的市场噱头.我们必须给他们时间安顿下来看看这些是不是真的对IT工业有什么影响."
2023/7/30 17:24:09 30KB asp.net 主题 实例 c#
1
始终保持FIFO片选和读(WEN)有效(这个和guanfu_wang的例程应该是不一样),在进入循环前,首先FIFO_WRST_L();为FIFO第一次复位做准备,然后等待帧中断(VSYNC),在中断中,首先判断前一帧是否写完,如果没写完,就不要这一帧的数据,退出中断继续写上一帧,如果写完,就复位写FIFO,开始写入数据,然后(其实和FIFO几乎同步,但是写TFT比写FIFO慢得多,故不用担心数据出错,同时能保证高效和数据准确)复位读FIFO,开始写TFT,如此循环。
2023/7/30 16:36:20 11KB OV7670 FIFO
1
共 385 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡