百科问答小站 logo
百科问答小站 font logo



一个模块(比如文件系统)在内核中实现(宏内核),跟它在内核外实现(微内核),主要区别是什么? 第1页

  

user avatar   bei-ji-85 网友的相关建议: 
      

内核外有很多地方,可以是内核文件外,但仍然运行在内核地址空间内,也可以是纯粹的用户空间里。而且文件系统也由很多部分构成,可能是单独的文件系统驱动本身,也可能包括VFS之类的整个IO核心。

Windows的文件系统驱动就不包含在内核文件里,但仍然运行在内核地址空间里,你说这是不是内核外?

FUSE就是把文件系统驱动本身搬到了用户态,但VFS API还是内核里的,你说这是不是内核外?

当然,目前还没见过哪个OS能把类似VFS这种文件系统核心都搬到用户空间的(我自己试过,效率直接降1000倍以上)。

所以,就看你怎么定义这些东西了。

纯粹的用户态文件系统(FUSE),不能直接访问硬件,不能访问内核资源,所有操作都要走系统调用,涉及到上下文切换。

内核内的东西,绝大多数情况下不需要系统调用,也不涉及上下文切换,包括Windows这种混合内核的。

宏内核和微内核只是书上的概念,实际实现的操作系统里一般两种都多少支持一点。




  

相关话题

  如何评价 Windows 11 抄袭 mac OS 的声音就没断过? 
  微软为什么不推出纯文本模式的Windows server? 
  新买的移动硬盘该格式化为 NTFS 还是 exFAT? 
  如果华为自己做手机操作系统,你对这个操作系统有什么建议? 
  为什么 Windows 的音量调节弹出来很慢? 
  为什么普及 Linux 桌面操作系统这么难呢? 
  为什么 Android 要采用 Binder 作为 IPC 机制? 
  大学学习linux是安装虚拟机,还是安装双系统。? 
  操作系统里面经常说的一个功能用「软件实现」还是用「硬件实现」,其本质区别是什么? 
  请问一个没有文件管理概念,也没有文件系统的操作系统是什么样子的? 

前一个讨论
为什么每次买无座票,都会变成二等座?
下一个讨论
这种电视是不是就叫伪4k?





© 2025-06-22 - tinynew.org. All Rights Reserved.
© 2025-06-22 - tinynew.org. 保留所有权利