咬一口长生 2023-03-18 23:20 采纳率: 100%
浏览 28
已结题

关于io的一些思考对吗

目前我知道的是软件只能操作自己的内存空间不能操作其他的内存空间(因为不知道内存地址)?操作系统,和java程序这些都属于一个软件。那么io操作就应该是由硬件配套的程序管理的(驱动程序吗?)。当操作系统需要读取文件时,不应该是操作系统去写入而是操作系统向驱动程序发起读取请求,然后把自己的内存空间暴露给驱动系统,驱动系统再向其中写入文件?而java的老版本是:先驱动把文件写进操作系统的内存空间,操作系统再写入java暴露给操作系统的java内存空间,两次copy效率低,现在是建立映射,而操作系统暴露给驱动的内存空间实际上是java暴露给操作系统的内存空间吗?我的理解对吗,所以内存映射并不是java层实现的对吗,而是操作系统层实现的吗?而且如果是硬盘上的拷贝,各个软件传递的也是最终文件放置空间的地址值而非真正的拷贝? 求指导,我是一个非科班的初学者,希望得到的帮助 ,最好能详细讲解从硬件数据到java内存的过程包括各种协议的名称,作用,具体的实现细节可以不用告知,我想知道一个正确的框架?还有个问题,如果是我说的这样,为什么java不去直接找驱动,是不知道驱动的路径吗,只有安装了驱动的操作系统才有交互的可能?而安装的驱动实际上有点像嵌入式开发的软体?

  • 写回答

4条回答 默认 最新

  • threenewbee 2023-03-18 23:37
    关注

    对的,驱动程序是操作系统层面的东西,而内存映射文件在操作系统调用中提供
    这样的好处是,java可以跨平台,否则,遇到java不认识的硬件,就不能运行了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月27日
  • 已采纳回答 3月19日
  • 创建了问题 3月18日

悬赏问题

  • ¥20 论文AlphaTensor复现(有偿)
  • ¥15 (有偿)在ANSYS中 .anf文件
  • ¥45 关于#芯片#的问题:组合逻辑电路设计
  • ¥15 基与机器学习和时间序列分析预测养老服务需求趋势
  • ¥100 求连续两帧图像在水平和垂直上偏移
  • ¥15 mysql全文索引查找指定必须关键词word无效
  • ¥15 Verilog hdl密码锁设计
  • ¥35 基于python的有ssl加密传输的socket聊天室
  • ¥15 数码管亮度控制器设计
  • ¥15 kafka客户端跨网段访问,看日志提示连接的还剩内网地址,且访问不通