社区
单片机/工控
帖子详情
在裸机上,受到内存容量的限制,文本编辑程序如何写?
everkImage
2011-02-17 09:16:20
由于内存容量较小,而硬盘很大,文件的大小可能会远远大于内存容量。为了避免频繁地读写硬盘,并且保证程序的运行速度,程序流程应该如何。这种问题应该是很早以前的软件开发才会遇到吧,有没有较成熟的方案?大家多帮忙,多提意见^^。
...全文
237
13
打赏
收藏
在裸机上,受到内存容量的限制,文本编辑程序如何写?
由于内存容量较小,而硬盘很大,文件的大小可能会远远大于内存容量。为了避免频繁地读写硬盘,并且保证程序的运行速度,程序流程应该如何。这种问题应该是很早以前的软件开发才会遇到吧,有没有较成熟的方案?大家多帮忙,多提意见^^。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
everkImage
2011-02-22
打赏
举报
回复
自己上浮一下,呵呵
贝隆
2011-02-18
打赏
举报
回复
1KB?
那别想了,连操作系统都无法加载。
楼主还是实在些吧,别假设了。
Ejack79
2011-02-18
打赏
举报
回复
别实现平滑滚动,只允许翻页,以页为单位进行处理。
呵呵,黑暗啊……
everkImage
2011-02-18
打赏
举报
回复
现在这样的问题真的都不用处理了,呵呵。那就回到开始:在内存容量只有1KBytes时,如何编写一个文本编辑程序,来编辑一个1MBytes的文本文件。要求尽量少地读写硬盘,程序运行流畅。
Great_Bug
2011-02-18
打赏
举报
回复
1. RAM 至少该够加载一屏文本。
2. 还至少该够加载文件当前被编辑的扇区。
3. 如果支持随机位置的文件内容编辑,则最好可以允许全部文件加载到RAM。如果只是在文件最后插入内容,则只要缓冲最后的一个扇区就可以了。
Great_Bug
2011-02-18
打赏
举报
回复
1K的RAM。。。。加载一屏的文本都做不到。。。。
everkImage
2011-02-18
打赏
举报
回复
EJack79说的在理,详细些就好了。比如读入一页内容,当删除操作后,后续数据是否读取,还是就让他空着^^
贝隆
2011-02-17
打赏
举报
回复
简单的说就是把使用较多的放到内存中,把使用较少的放到硬盘中。不过,现在的硬件应该不至于很贵啊。加内存是最好的办法,以便把所有的资源都读入内存。
everkImage
2011-02-17
打赏
举报
回复
可能是没描述清楚,具体问题就是用C语言写一个文本编辑程序,考虑内存限制,要求是程序的高性能。不过没有操作系统,没有虚拟内存。
关于lbing7说的复杂计算,这里可能不是很多,可能就是行偏移的计算,但由于是编辑程序,所以行数和行偏移随时会变,如果维护这个数据的话,程序性能可能会有损失。
lbing7
2011-02-17
打赏
举报
回复
方案不面对具体问题不知道怎么弄
通常用点小技巧试试,比如说把一些复杂的计算过程,事先计算好放到ROM里
用到计算的时候,再直接读出来即可
:)
schlafenhamster
2011-02-17
打赏
举报
回复
什么硬盘:“硬盘MB级”
everkImage
2011-02-17
打赏
举报
回复
内存KB量级,硬盘MB级的就算“内存容量较小,而硬盘很大”了,呵呵
schlafenhamster
2011-02-17
打赏
举报
回复
“内存容量较小,而硬盘很大”没遇到过。
32位系统最大支持的
内存容量
是4GB
文章详细解释了32位系统由于内存寻址
限制
只能支持最大4GB内存,而64位系统通过更大的地址空间可支持大量内存。介绍了32位和64位系统
内存容量
的计算原理以及为何选择64位系统对于大内存需求的重要性。,
从0
写
自己的操作系统(1) boot->loader引导
程序
本文主要介绍了x86架构计算机的启动流程。计算机上电后,BIOS对硬件自检,将磁盘第0扇区(MBR)加载到0x7C00,检查引导签名后执行bootloader
程序
。bootloader加载loader,loader设置运行环境,加载操作系统内核到内存并跳转执行,完成系统启动。
java虚拟机内存有几种_Java虚拟机几种
内存容量
本文介绍了Java虚拟机(JVM)的内存管理机制,包括如何获取当前进程的总内存、空余内存及最大可分配内存的方法。
内存ram容量计算
本文详细介绍了RAM(随机存取存储器)的功能与作用,解释了其作为操作系统和其他运行中
程序
的临时存储介质的重要性。同时,文章提供了RAM容量的计算单位及其转换方式,并说明了系统内存的识别原理与
限制
。
关于内存探测
本文探讨了操作系统如何检测和管理物理内存,主要聚焦于BIOS的三种方法:88h、E801h和E820h中断。介绍了这些方法的历史、优缺点以及适用场景,并提及了直接探测内存和通过硬件读取北桥芯片获取
内存容量
的方式。文章适合了解PC内存管理的读者。
单片机/工控
27,521
社区成员
28,798
社区内容
发帖
与我相关
我的任务
单片机/工控
硬件/嵌入开发 单片机/工控
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章