社区
单片机/工控
帖子详情
在裸机上,受到内存容量的限制,文本编辑程序如何写?
everkImage
2011-02-17 09:16:20
由于内存容量较小,而硬盘很大,文件的大小可能会远远大于内存容量。为了避免频繁地读写硬盘,并且保证程序的运行速度,程序流程应该如何。这种问题应该是很早以前的软件开发才会遇到吧,有没有较成熟的方案?大家多帮忙,多提意见^^。
...全文
176
13
打赏
收藏
在裸机上,受到内存容量的限制,文本编辑程序如何写?
由于内存容量较小,而硬盘很大,文件的大小可能会远远大于内存容量。为了避免频繁地读写硬盘,并且保证程序的运行速度,程序流程应该如何。这种问题应该是很早以前的软件开发才会遇到吧,有没有较成熟的方案?大家多帮忙,多提意见^^。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
打赏
举报
回复
“内存容量较小,而硬盘很大”没遇到过。
操作系统_内存管理(一)
12 位,页号部分为 20 位,若不采用分级页表,则仅页表就要占用 220x4B/4KB = 1024 页,这大大超过了许多进程自身需要的页面,对于内存来说是非常浪费资源的,而且查询页表工作也会变得十分不便、试想若把这些页表放在连续的空间内,查询对应页的物理页号时可以通过页表首页地址+页号x4B的形式得到,而这种方法查询起来虽然相对方便,但连续的1024 页对于内存的要求实在太高,并且上面也说到了其中大多数页面都是不会用到的,所以这种方法并不具有可行性。下图是一个进程在内存中的映像。
操作系统——基础练习(期末复习)
1、(D)不是操作系统关心的主要问题 A、管理计算机
裸机
B、设计、提供用户
程序
与计算机硬件系统的界面 C、管理计算机系统资源 D、高级
程序
设计语言的编译器 2、财务软件是一种©。 A、系统软件 B、接口软件 C、应用软件 D、用户软件 3、操作系统负责为方便用户管理计算机系统的©。 A、
程序
B、文档资料 C、资源 D、进程 4、操作系统是一种(B)。 A、应用软件 B、系统软件 C、通用软件 D、工具软件 5、操作系统是一组©。 A、文件管理
程序
B、中断处理
程序
C、资源管理
程序
D、设备管理
程序
6
操作系统-选择题
1、(D)不是操作系统关心的主要问题 A、管理计算机
裸机
B、设计、提供用户
程序
与计算机硬件系统的界面 C、管理计算机系统资源 D、高级
程序
设计语言的编译器 2、财务软件是一种©。 A、系统软件 B、接口软件 C、应用软件 D、用户软件 3、操作系统负责为方便用户管理计算机系统的©。 A、
程序
B、文档资料 C、资源 D、进程 4、操作系统是一种(B)。 A、应用软件 B、系统软件 C、通用软件 D、工具软件 5、操作系统是一组©。 A、文件管理
程序
B、中断处理
程序
C、资源管理
程序
D、设备管理
程序
6
企业测试环境05
一、 Linux入门 操作系统(科普) 没有安装操作系统的计算机,通常被称为
裸机
如果想在
裸机
上运行自己所编
写
的
程序
,就必须用机器语言书
写
程序
如果计算机上安装了操作系统,就可以在操作系统上安装支持的高级语言环境,用高级语言开发
程序
操作系统的作用 -是现代计算机系统中 最基本和最重要 的系统软件 -是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩展 -主要作用是管理好硬件设备,并为用...
计算机操作系统课后习题答案
第一章 1.设计现代OS的主要目标是什么? 答:(1)有效性 (2)方便性 (3)可扩充性 (4)开放性 2.OS的作用可表现在哪几个方面? 答:(1)OS作为用户与计算机硬件系统之间的接口 (2)OS作为计算机系统资源的管理者 (3)OS实现了对计算机资源的抽象 3.为什么说OS实现了对计算机资源的抽象? 答:OS首先在
裸机
上覆盖一层I/O设备管理软件,实现了对计算机硬件操作的第...
单片机/工控
27,511
社区成员
28,797
社区内容
发帖
与我相关
我的任务
单片机/工控
硬件/嵌入开发 单片机/工控
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章