首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解基于内核的TCB与微内核TCB的区别

理解基于内核的TCB与微内核TCB的区别
EN

Security用户
提问于 2017-07-03 22:30:40
回答 1查看 375关注 0票数 1

最近,我学习了可信计算基础的概念,并看到了两种类型的TCB:

  • 基于内核的TCB
  • 微核TCB

根据我的理解,这里的主要区别是,在前者中,我们有许多面向OS的进程,比如在内核中运行的文件系统或虚拟内存管理系统(因此在最受信任的级别上,在最高的权限中),而在后面,我们尽可能多地移动到在用户空间中运行。(通常权限较小)

做一个更小的内核背后的理性是什么?例如,在内核中运行设备驱动程序,难道不是更安全吗?

EN

回答 1

Security用户

回答已采纳

发布于 2017-07-04 04:30:51

在内核模式下运行的代码始终具有执行任何操作的完全权限,包括崩溃内核或破坏其内部数据结构。用户模式驱动程序限制了这些功能,因此必须通过指定的接口与微内核进行通信。例如,如果存储设备驱动程序存在错误,以致它用作复制缓冲区目标的指针有时未初始化,则在宏内核中,未初始化的指针有可能指向内核自己的内存,驱动程序可能会覆盖内核的数据结构,如进程表,可能会导致整个系统崩溃(内核恐慌)。在微内核中,由于驱动程序不能直接写入内核内存,这样的错误最多只会使设备驱动程序本身崩溃,并且内核可以重新启动设备驱动程序进程。

一般来说,人们认为微内核比宏内核具有更好的安全体系结构,但是它会带来性能上的损失。现代的微内核和宏内核使用了许多技巧来最小化它们的弱点。

票数 1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/163332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档