免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: ljoolj
打印 上一主题 下一主题

[NetBSD] 如何直接运行被压缩的文件 [复制链接]

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
11 [报告]
发表于 2006-04-13 19:19 |只看该作者
原帖由 ljoolj 于 2006-4-13 18:20 发表
多谢大家关注哈。
givm:
  先说明一下我的测试系统是vmware上安装的 netbsd3.0 特殊一点是没有给它分配swap分区,因为我模拟的系统没有硬盘。
   我又做了测试,开始的空内存磁盘的确几乎不占空间,只有在给它 ...


如果LZ时间不紧张的话,能否请详细说明你的目的、条件、设备等等。你受到的帮助才会更有意义,也不会浪费他人时间,你说呢?:wink:
关于NetBSD的MD文件系统,我没有理性的分析过代码层,仅从表面现象来说的。Linux的md系统我不知道和NetBSD的区别,所以不能乱讲。
我的意思是在你没有找到合适的替代方案之前可以采用这个临时的方案。
如果你要找关于压缩elf运行的代码,可以寻找sys/arch/`uname -p`/stand/boot下的代码。这段代码可以处理以gzip命令压缩或非压缩的内核。前段时间我粗略看了看它的实现,仍然需要引入一个解压库,先解压然后运行。不过它是内核嘛,解压之后原始压缩程序可以任意处理。

论坛徽章:
0
12 [报告]
发表于 2006-04-14 10:09 |只看该作者
不好意思,我这个初学者提问都有点蹩脚哈。
我的目标系统: cpu: powerpc
                      memory: 128M or 256M, (当然希望能小一点)
             flash: 16M.
                      执行文件格式elf
                      os: netbsd 3.0(无swap分区)
测试平台:
             pc机(i386)+vmware+netbsd(无swap分区)

我这有个执行文件(非内核,内核已经跑起来了)比较大,压缩存放在flash里面。现在要处理的问题是用什么方式去执行它?当然如果有办法直接执行,不存在中间临时解压缩文件,是最好的实现了,目前还没有想到很方便的实现办法。
现在想到的折中办法是把解压缩文件临时释放到内存盘中,然后执行。然后删除解压缩文件,
现在的问题是1. 程序在执行中删除它在盘上文件,长期运行中会不会有隐患呢?
                    2. 在实验中,删除了临时文件,把内存盘删空,内存盘好象也不能十分容易得释放自己已经获取的内存资源。有比较多的保留。这样就出现比较多的内存浪费。

应该是讲清楚了吧  :)

论坛徽章:
0
13 [报告]
发表于 2006-04-19 18:00 |只看该作者
是不是跟windows下软件加壳有点相似?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP