共查询到20条相似文献,搜索用时 15 毫秒
1.
堆栈测试是嵌入式操作系统安全评估的重要环节,堆栈溢出会覆盖邻近堆栈中的数据,造成数据错乱进而引发系统崩溃。然而捕获并定位堆栈溢出具有一定难度。首先,溢出数据可能会侵占操作系统中其它任务的私有堆栈,而发生溢出的任务本身没有异常表现,以致难以确定堆栈溢出的根源;其次,由于操作系统任务的优先级差异,堆栈溢出的暴露时间可能滞后于其发生时间。提出了一种基于实时堆栈分配与回收行为监测的动态堆栈测试方法,首先在堆栈行为测试点插入桩函数,以采集任务堆栈的测试码;然后设置上位机测试程序,以分析测试码并提供测试结果,实现实时捕获并定位堆栈溢出。利用此方法,在基于车载远程信息处理终端的实际测试中,定位到了3处造成系统崩溃或复位的堆栈溢出异常,评估了操作系统堆栈的安全性。另外,根据测试结果,优化了堆栈大小的静态分配,在单个任务中最多节省了42%的堆栈空间,并将整个任务RAM压缩至原来的63%。 相似文献
2.
《计算机工程与应用》1975,(Z1)
为编写出充分利用PDP-11的功能和灵活性的程序,读者必须熟悉作为PDP-11基本设计原理组成部分的各种程序设计技术。虽然沿用普通的途径例如“面向累加器”的方式也可对PDP-11进行程序设计,但是这种方法不能完全利用PDP-11的结构格式和指令系统。 5.1 堆栈 “堆栈”在PDP-11中是内存中的一个区域,程序员用它暂存中间结果或子程序/中断服务链接。PDP-11的便于作“堆栈”处理的指令是很有用的而且是在一般低价计算机中找不到的特点。这些指令使程序可以动态地建立,修改、删除一个堆栈以及其中的一些项目。堆栈使用“后进,先出”概念,就是说,各项可以按顺序加入堆栈,并按相反的次序从堆栈中取出。在PDP-11中当把每项加入堆栈时,堆栈是从为它保留的最高单元线性地向最低地址扩展。 相似文献
3.
设计了一种动态检测嵌入式软件堆栈溢出及使用量的方案,在不受堆栈溢出影响的定时器中断服务程序中,周期检测堆栈使用量,通过LED提示堆栈溢出深度.通过设置堆栈溢出缓冲区,在RAM空间中隔离堆栈和全局变量分区,使得浅度堆栈溢出不影响系统正常运行,同时,堆栈溢出缓冲区保存了关键的上下文信息,将该信息存储在非易失性存储器中,运行一段时间后,通过专用工具读取非易失性存储器中的堆栈使用量数据和溢出上下文信息,分析异常位置,从而调整堆栈尺寸或者调整程序设计,以提高系统运行的稳定性. 相似文献
4.
5.
《数据结构》是计算机专业的一门重要专业基础课,在学习这门课程的过程中学生普遍认为该课程存在“三难”,难学、难懂、难用。堆栈是数据结构的重要组成部分,也是难点之一,且在实际应用中经常用到,而“迷宫问题”是堆栈应用的一个经典例子。本文采取“试探、回溯”的算法,在计算机上模拟实现了该问题,实现过程类似于手工操作,动态地演示了探索通路的整个过程中堆栈的变化情况,希望对学习、理解、运用堆栈解决实际问题有一定的帮助。1主要数据结构和变量为了尽可能的演示成功,保证演示时的视觉效果,迷宫的生成没有采用随机的方式,而是指定了… 相似文献
6.
针对堆栈处理器特殊架构,为提高实时性,引入多任务堆栈技术,采用Forth自生成器技术,提出一种基于堆栈处理器的抢占式与时间片轮转调度方法,实现了在Forth堆栈处理器中实时多任务的运行,弥补了Forth堆栈处理器在实时多任务操作系统方面的的不足.实验表明,与当前基于寄存器处理器的嵌入式Forth实时系统相比,本文方法在最大关中断时间、任务上下文切换时间和任务响应时间三项重要的实时任务性能指标方面,实时性能有明显提升,从而保证了Forth系统应用的高效性和安全性,满足人们对Forth堆栈处理器实时多任务操作系统方面的应用需求. 相似文献
7.
边金泉 《电子制作.电脑维护与应用》1998,(7):24-24
七、堆栈在程序中,一个子程序能够供给许多地方使用。这样就产生了一个问题:如何记忆是从何处调用的子程序,以便正确返回。在例题三中,第3行调用延时程序后要返回第4行继续运行,第5行调用子程序后要返回第6行,不能错乱。程序是如何实现这一要求的呢?在计算机中采用了一种叫做“堆栈”的技术。所谓堆栈就是在存储器中预留一块叫“栈区”的地方,专门用来保存临时的数据。当主程序调用子程序时,计算机执行到CALL指令就自动将下一条指令的地址“压栈”保存到栈区,当 相似文献
8.
本文用巴科斯范式描述导航式菜单系统,并给出一个导航式菜单系统生成器的算法。生成器的算法很巧妙地使用堆栈,避免通常在类似问题中使用的拉链方法。菜单系统的工作原理简单,一改通常用堆栈运行菜单系统的方法。 相似文献
9.
赵利民 《自动化与仪器仪表》2013,(2)
C51的堆栈操作和硬件及软件实现密切相关,C程序设计一般隐藏底层实现细节,因此由堆栈引发的错误很难发现,本文从C51堆栈构成、使用的场合出发,详细比对系统堆栈和模拟堆栈的不同,并由此分析了两类堆栈空间的计算方法,为避免堆栈溢出提供参考. 相似文献
10.
11.
嵌入式操作系统在微处理器上的移植一直是嵌入式应用所关注的内容.详细论述了ThreadX操作系统在ARM处理器上的移植过程,并针对ThreadX和ARM各自的特点,着重阐述了在移植过程中需要注意的问题,如堆栈的构造,系统堆栈和线程堆栈的不同,处理器的7种模式对应的不同物理寄存器等. 相似文献
12.
在资源受限的嵌入式系统中,为了降低嵌入式软件最大堆栈深度(Worst-Case-Stack Depth,WCSD)的检测误差,从而确定系统内存容量,通过详细分析堆栈使用原因和中断类型,建立中断调度模型,提出基于遗传算法的WCSD动态检测方法以更加准确地指导嵌入式硬件设计和软件开发。基于嵌入式软件全数字仿真平台完成实验,对该模型和方法加以验证。实验结果表明该方法可测得较准确的软件堆栈深度上限,有助于降低内存开销和提高系统的可信度。 相似文献
13.
堆栈溢出是一种在各种操作系统、应用软件中广泛存在普遍且危险的漏洞,可以利用它执行非授权指令,甚至可以取得系统特权,进而进行各种非法操作.从安全操作系统的角度分析了堆栈溢出的原理,以BLP模型为工具对堆栈溢出进行了形式化并在此基础上适当调整了该模型,从安全模型的层次上消除了堆栈溢出的隐患.最后给出了调整后的BLP模型在LSM(Linlux security module)上的实现. 相似文献
14.
Foxmail凭借其强大的功能深受好评,不过在充分享受它所带来的方便与快捷的同时,它也会给你带来安全上的麻烦,例如,由于Foxmail自身的安全漏洞,可能导致黑客很轻易地入侵系统,或者导致用户的邮件帐号被其他人随意盗用等。为了避免这样的安全威胁,下面给大家介绍几则安全防范技巧,供大家参考!巧妙屏蔽,切断入侵最新版本的Foxmail具有解析中文域名的“本领”,不过要发挥出该“本领”,Foxmail需要动态链接库“punylib.dll”文件的支持,而“punylib.dll”内置的Url-ToLocal函数带有堆栈溢出的安全漏洞,黑客可以利用该漏洞轻易地获得对方系统的… 相似文献
15.
随着嵌入式系统复杂性的提高,嵌入式系统软件代码的压缩变得非常重要。目前已经有几种代码压缩方法,它们将程序编译后的目标代码中多次出现的代码加以合并,有效地缩短了程序代码的长度。其中,尤以纯软件方法应用最为方便,但该方法不适用于数据堆栈和子程序调 用堆栈合一的嵌入式系统。本文将这种纯软件方法推广到单一堆栈的体系结构,有效地解决了堆栈结构改变对公用块代码语义的影响问题。 相似文献
16.
使用汇编语言在程序中调用另一个过程时,我们经常使用PUSH、POP命令来保护现场,以便在该过程结束后,能正常执行主程序。这种使用“后进先出”的准栈技术,使得程序设计简单明了,深受程序设计人员喜爱,以致许多设计人员在C语言中也实现了堆栈的使用。 在FoxPro中由于使用了regional定义变量,程序可以自动识别不同过程中同名变量,似乎使用堆栈的意义不大,其实不然。首先FoxPro对于全程变量是无法提供保护的;其次FoxPro提供的READ级数是有限的(只有5级),因此 相似文献
17.
提示并死机的原因是由于CONFIG.SYS系统设置文件设置不当造成的。 在CONFIG.SYS文件中有一个设置数据堆栈个数命令,命令格式为:STACKS=X,Y。此命令功能是在处理硬件中断时动态使用堆栈,仅用于CONFIG. 相似文献
18.
刘洪明 《微小型计算机开发与应用》1996,(6):44-47
MCS-51单片机,早已被广大工程技术人员所熟悉,然而,由于MCS-51单片机堆栈资源有限,所以在多任务大系统应用中受到一定限制采用虚拟堆栈技术,可以成功地解决这一问题。 相似文献
19.
针对异常发生时无法及时有效利用异常发生的上下文信息的问题,在堆栈回溯获得上下文信息的基础上,提出一种能够记录异常信息便于线下分析,同时能够基于预设规则库支持线上对系统应用进行重构的异常处理方法。对PowerPC构架下的堆栈结构进行研究并设计基于堆栈回溯的函数溯源算法;对系统工作状态进行分析抽象,采用有限状态机建立系统异常处理时的状态迁移模型,阐述异常处理的设计实现过程。实验结果表明,该方法能够有效实现对异常的线上线下处理,提升了改进系统应用缺陷的效率,增强了系统应用的容错性和健壮性。 相似文献