设备接口描述

APP除了在外存中保存数据之外,通过内存中的代码,总共完成两种任务,一个是通过设备功能接口操控设备;另一个是与其他APP通讯,再就没有其他了。


鼠标设备接口:只提供“鼠标当前状态”4B,内含按键状态和屏幕坐标,其他再没有了。


存储设备接口:APP指定“内存位置”和“外存位置”即可,以4KB为单位,“内存位置”尾数为0表示从外向内读,为1表示从内向外写。其他再没有了。


显示设备接口:APP指定“屏幕所展示的内存位置”即可,其他再没有了。然后APP在该位置上改写数据,都会即时的显示在屏幕上。从上到下共分“鼠标指针层”“透明前景层”“不透明背景层”共三层。


网络发送接口:APP指定“本地IP/掩码/网关”和“远端IP”以及“欲发送的数据”即可,再没有了。


网络接收接口:APP指定“本地IP/掩码/网关”以及“超时量”即可,再没有了。


键盘接口:只提供键盘码值队列,包含从上次感知以来出现的未处理的“键盘码值”,然后就没有了。


计时器接口:提供毫秒级倒计时和正向计时,其他就没有了。


时钟接口:提供当前时间查询和未来时刻提醒,然后就没有了。


声音播放接口:APP指定“声音数据的内存位置”即可,其他就没有了。


声音采集接口:APP指定“声音数据的内存位置”即可,其他就没有了。




如果曾经提供的设备功能接口发生变化,只需使用新的编码建立新的接口即可,旧的仍然有效不受影响。


APP在外存中的存储格式:
256MB为单位,最小256MB,最大16TB,完全归APP所有,除了APP自己,谁也无法读写这些空间。
首先是APP图标。
接下来是APP描述,线程个数/请求内存大小/载入大块基址/载入大块长度。
然后是最大255个线程的描述,功能编码/起始地址/通讯段基址。
然后是APP的任意数据,其中包含一个“载入大块”,该数据块在启动运行时被整体载入内存,然后唤醒其中的线程代码,开始运行。该“载入大块”也可以为任意数据,即使是“直接跑飞的乱码”都可以。(其实永远不会跑飞,只会跑飞/截获/重定向/再跑飞/再截获/再重定向,循环不止。)


APP在外存中可存储任意数据,根据设备接口可感知用户的行为;操控硬件与外部通讯;与同一系统中的其他APP交互;将状态或信息显示在屏幕上。完成几乎任意的常规功能。


以上是一个vm58中全部工作方式概括性的说明,其他重要的内容就没有了。







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值