<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>http://wiki.foofun.cn//index.php?action=history&amp;feed=atom&amp;title=Microkernel</id>
	<title>Microkernel - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.foofun.cn//index.php?action=history&amp;feed=atom&amp;title=Microkernel"/>
	<link rel="alternate" type="text/html" href="http://wiki.foofun.cn//index.php?title=Microkernel&amp;action=history"/>
	<updated>2026-04-03T21:13:31Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>http://wiki.foofun.cn//index.php?title=Microkernel&amp;diff=980&amp;oldid=prev</id>
		<title>2022年3月22日 (二) 11:46 Zhang3</title>
		<link rel="alternate" type="text/html" href="http://wiki.foofun.cn//index.php?title=Microkernel&amp;diff=980&amp;oldid=prev"/>
		<updated>2022-03-22T11:46:31Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh-Hans-CN&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2022年3月22日 (二) 11:46的版本&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;第1行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第1行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:Kernel designs}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:Kernel designs}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 设计 ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 设计 ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Image:Microkernel.png|frame|right|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;微内核的基本概述&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Image:Microkernel.png|frame|right|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;微内核的基本概览&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;微内核尝试将大多数服务 - 例如网络，文件系统等 - 作为用户空间中的守护程序/服务器运行。 剩下的内核要做的就是基本服务，例如物理内存分配 (实际内存 “管理器” 可以在用户空间中实现)，调度和消息传递 (进程间通信)。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;微内核尝试将大多数服务 - 例如网络，文件系统等 - 作为用户空间中的守护程序/服务器运行。 剩下的内核要做的就是基本服务，例如物理内存分配 (实际内存 “管理器” 可以在用户空间中实现)，调度和消息传递 (进程间通信)。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;从理论上讲，这个概念使内核更具响应性 (因为许多功能驻留在可抢占的用户空间线程和进程中，从而无需将上下文切换为内核)，并通过减少在内核空间中运行的代码数量来提高内核的稳定性。 支持多CPU计算机 (更简单的重入保护和对异步功能更好的适用性) 和分布式操作系统 (&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;代码可以在不知道服务提供商是否在同一台计算机上运行的情况下使用服务&lt;/del&gt;) 还有其他好处。 一个缺点是所涉及的消息传递和上下文切换的数量，这使得微内核在理论上比单内核慢。 (这并不是说设计巧妙的微内核无法击败设计愚蠢的单内核。)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;从理论上讲，这个概念使内核更具响应性 (因为许多功能驻留在可抢占的用户空间线程和进程中，从而无需将上下文切换为内核)，并通过减少在内核空间中运行的代码数量来提高内核的稳定性。 支持多CPU计算机 (更简单的重入保护和对异步功能更好的适用性) 和分布式操作系统 (&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;代码可以在不知道服务提供者是否在同一台计算机上运行的情况下使用服务&lt;/ins&gt;) 还有其他好处。 一个缺点是所涉及的消息传递和上下文切换的数量，这使得微内核在理论上比单内核慢。 (这并不是说设计巧妙的微内核无法击败设计愚蠢的单内核。)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;实际上，情况可能会和概念上的不一样。 例如，如果文件系统崩溃，虽然微内核仍将继续运行，但用户的数据还是丢失了 - 除非做出了重启文件系统服务器/守护程序规定，并且存在数据恢复系统。 微内核可以更稳定，但它需要额外的设计工作; 它的好处不是免费从体系结构获得的。 同样，为使微内核设计正确而必须进行的各项设计工作也可以被用于单内核上。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;实际上，情况可能会和概念上的不一样。 例如，如果文件系统崩溃，虽然微内核仍将继续运行，但用户的数据还是丢失了 - 除非做出了重启文件系统服务器/守护程序规定，并且存在数据恢复系统。 微内核可以更稳定，但它需要额外的设计工作; 它的好处不是免费从体系结构获得的。 同样，为使微内核设计正确而必须进行的各项设计工作也可以被用于单内核上。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Zhang3</name></author>
	</entry>
	<entry>
		<id>http://wiki.foofun.cn//index.php?title=Microkernel&amp;diff=978&amp;oldid=prev</id>
		<title>2022年3月22日 (二) 11:31 Zhang3</title>
		<link rel="alternate" type="text/html" href="http://wiki.foofun.cn//index.php?title=Microkernel&amp;diff=978&amp;oldid=prev"/>
		<updated>2022-03-22T11:31:49Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh-Hans-CN&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2022年3月22日 (二) 11:31的版本&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;第1行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第1行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:Kernel designs}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Template:Kernel designs}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 设计 ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 设计 ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Image:Microkernel.png|frame|right|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Basic overview of a microkernel&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Image:Microkernel.png|frame|right|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;微内核的基本概述&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;微内核尝试将大多数服务 - 例如网络，文件系统等 - 作为用户空间中的守护程序/服务器运行。 剩下的内核要做的就是基本服务，例如物理内存分配 (实际内存 “管理器” 可以在用户空间中实现)，调度和消息传递 (进程间通信)。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;微内核尝试将大多数服务 - 例如网络，文件系统等 - 作为用户空间中的守护程序/服务器运行。 剩下的内核要做的就是基本服务，例如物理内存分配 (实际内存 “管理器” 可以在用户空间中实现)，调度和消息传递 (进程间通信)。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;从理论上讲，这个概念使内核更具响应性 (因为许多功能驻留在可抢占的用户空间线程和进程中，从而无需将上下文切换为内核)，并通过减少在内核空间中运行的代码数量来提高内核的稳定性。 支持多CPU计算机 (更简单的重入保护和对异步功能更好的适用性) 和分布式操作系统 (代码可以在不知道服务提供商是否在同一台计算机上运行的情况下使用服务) 还有其他好处。 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;一个缺点是所涉及的消息传递和上下文切换的数量，这使得微内核在概念上比单片内核慢。 &lt;/del&gt;(&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;这并不是说设计巧妙的微内核无法击败设计愚蠢的单片内核。&lt;/del&gt;)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;从理论上讲，这个概念使内核更具响应性 (因为许多功能驻留在可抢占的用户空间线程和进程中，从而无需将上下文切换为内核)，并通过减少在内核空间中运行的代码数量来提高内核的稳定性。 支持多CPU计算机 (更简单的重入保护和对异步功能更好的适用性) 和分布式操作系统 (代码可以在不知道服务提供商是否在同一台计算机上运行的情况下使用服务) 还有其他好处。 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;一个缺点是所涉及的消息传递和上下文切换的数量，这使得微内核在理论上比单内核慢。 &lt;/ins&gt;(&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;这并不是说设计巧妙的微内核无法击败设计愚蠢的单内核。&lt;/ins&gt;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;实际上，情况可能会和概念上的不一样。 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;例如，如果文件系统崩溃，虽然微内核将继续运行，但用户仍然会丢失一些数据 &lt;/del&gt;- &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;除非做出了重新启动文件系统服务器&lt;/del&gt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;守护程序的规定，并且存在数据恢复系统。 &lt;/del&gt;微内核可以更稳定，但它需要额外的设计工作; 它的好处不是免费从体系结构获得的。 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;同样，为使微内核设计正确而必须进行的各项设计工作也可以被用于单片内核上。&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;实际上，情况可能会和概念上的不一样。 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;例如，如果文件系统崩溃，虽然微内核仍将继续运行，但用户的数据还是丢失了 &lt;/ins&gt;- &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;除非做出了重启文件系统服务器&lt;/ins&gt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;守护程序规定，并且存在数据恢复系统。 &lt;/ins&gt;微内核可以更稳定，但它需要额外的设计工作; 它的好处不是免费从体系结构获得的。 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;同样，为使微内核设计正确而必须进行的各项设计工作也可以被用于单内核上。&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;例如，AmigaOS是一个微内核，也是不寻常的一个&lt;/del&gt;: 由于原始的AmigaOS没有内存保护，因此它的消息传递尽可能快 (传递指向内存的指针)，使AmigaOS内核成为有史以来最快的内核之一。 另一方面，缺乏内存保护也意味着微内核体系结构没有增加稳定性 (&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;更高版本确实实现了MMU支持，但速度成本与影响其他微内核系统的速度相同&lt;/del&gt;)。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;例如，AmigaOS是一个微内核，也是其中不寻常的一个&lt;/ins&gt;: 由于原始的AmigaOS没有内存保护，因此它的消息传递尽可能快 (传递指向内存的指针)，使AmigaOS内核成为有史以来最快的内核之一。 另一方面，缺乏内存保护也意味着微内核体系结构没有增加稳定性 (&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;更高版本确实实现了MMU支持，但是又会面临和其他微内核系统一样的速度损失&lt;/ins&gt;)。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;使用微内核设计 (&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;或模块化单片内核&lt;/del&gt;) &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;的副作用之一是启动操作系统所需的整体更改。 &lt;/del&gt;如果文件系统由内核加载的用户空间进程处理，则内核本身首先不包含用于处理文件系统或存储设备驱动程序以加载文件系统进程的代码。 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;解决此问题的一种方法是引导加载程序加载 “RAM磁盘映像”，其中可以包含内核和几个支持文件 &lt;/del&gt;(设备驱动程序等)。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;使用微内核设计 (&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;或模块化单内核&lt;/ins&gt;) &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;的副作用之一是引导操作系统所需的更改。 &lt;/ins&gt;如果文件系统由内核加载的用户空间进程处理，则内核本身首先不包含用于处理文件系统或存储设备驱动程序以加载文件系统进程的代码。 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;解决此问题的一种方法是bootloader加载一个“RAM磁盘映像”，其中可以包含内核和几个支持文件 &lt;/ins&gt;(设备驱动程序等)。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;操作系统设计也可以从单片内核和微内核中借用概念，以便在适当的情况下使用这两种方法的好处。&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;操作系统设计也可以同时从单内核和微内核中借用概念，以便在适当的情况下使用这两种方法的好处。&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 例子 ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== 例子 ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Zhang3</name></author>
	</entry>
	<entry>
		<id>http://wiki.foofun.cn//index.php?title=Microkernel&amp;diff=369&amp;oldid=prev</id>
		<title>Zhang3：创建页面，内容为“{{Template:Kernel designs}} == 设计 == Basic overview of a microkernel 微内核尝试将大多数服务 - 例如网络，文件系统等 - 作为用户空间中的守护程序/服务器运行。 剩下的内核要做的就是基本服务，例如物理内存分配 (实际内存 “管理器” 可以在用户空间中实现)，调度和消息传递 (进程间通信)。  从理论上讲，这个概念使内核更具响应…”</title>
		<link rel="alternate" type="text/html" href="http://wiki.foofun.cn//index.php?title=Microkernel&amp;diff=369&amp;oldid=prev"/>
		<updated>2022-02-02T01:22:16Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“{{Template:Kernel designs}} == 设计 == &lt;a href=&quot;/index.php?title=%E6%96%87%E4%BB%B6:Microkernel.png&quot; title=&quot;文件:Microkernel.png&quot;&gt;frame|right|Basic overview of a microkernel&lt;/a&gt; 微内核尝试将大多数服务 - 例如网络，文件系统等 - 作为用户空间中的守护程序/服务器运行。 剩下的内核要做的就是基本服务，例如物理内存分配 (实际内存 “管理器” 可以在用户空间中实现)，调度和消息传递 (进程间通信)。  从理论上讲，这个概念使内核更具响应…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Template:Kernel designs}}&lt;br /&gt;
== 设计 ==&lt;br /&gt;
[[Image:Microkernel.png|frame|right|Basic overview of a microkernel]]&lt;br /&gt;
微内核尝试将大多数服务 - 例如网络，文件系统等 - 作为用户空间中的守护程序/服务器运行。 剩下的内核要做的就是基本服务，例如物理内存分配 (实际内存 “管理器” 可以在用户空间中实现)，调度和消息传递 (进程间通信)。&lt;br /&gt;
&lt;br /&gt;
从理论上讲，这个概念使内核更具响应性 (因为许多功能驻留在可抢占的用户空间线程和进程中，从而无需将上下文切换为内核)，并通过减少在内核空间中运行的代码数量来提高内核的稳定性。 支持多CPU计算机 (更简单的重入保护和对异步功能更好的适用性) 和分布式操作系统 (代码可以在不知道服务提供商是否在同一台计算机上运行的情况下使用服务) 还有其他好处。 一个缺点是所涉及的消息传递和上下文切换的数量，这使得微内核在概念上比单片内核慢。 (这并不是说设计巧妙的微内核无法击败设计愚蠢的单片内核。)&lt;br /&gt;
&lt;br /&gt;
实际上，情况可能会和概念上的不一样。 例如，如果文件系统崩溃，虽然微内核将继续运行，但用户仍然会丢失一些数据 - 除非做出了重新启动文件系统服务器/守护程序的规定，并且存在数据恢复系统。 微内核可以更稳定，但它需要额外的设计工作; 它的好处不是免费从体系结构获得的。 同样，为使微内核设计正确而必须进行的各项设计工作也可以被用于单片内核上。&lt;br /&gt;
&lt;br /&gt;
例如，AmigaOS是一个微内核，也是不寻常的一个: 由于原始的AmigaOS没有内存保护，因此它的消息传递尽可能快 (传递指向内存的指针)，使AmigaOS内核成为有史以来最快的内核之一。 另一方面，缺乏内存保护也意味着微内核体系结构没有增加稳定性 (更高版本确实实现了MMU支持，但速度成本与影响其他微内核系统的速度相同)。&lt;br /&gt;
&lt;br /&gt;
使用微内核设计 (或模块化单片内核) 的副作用之一是启动操作系统所需的整体更改。 如果文件系统由内核加载的用户空间进程处理，则内核本身首先不包含用于处理文件系统或存储设备驱动程序以加载文件系统进程的代码。 解决此问题的一种方法是引导加载程序加载 “RAM磁盘映像”，其中可以包含内核和几个支持文件 (设备驱动程序等)。&lt;br /&gt;
&lt;br /&gt;
操作系统设计也可以从单片内核和微内核中借用概念，以便在适当的情况下使用这两种方法的好处。&lt;br /&gt;
&lt;br /&gt;
== 例子 ==&lt;br /&gt;
* Mach&lt;br /&gt;
* QNX&lt;br /&gt;
* [[L4]]&lt;br /&gt;
* AmigaOS&lt;br /&gt;
* [http://minix3.org Minix]&lt;br /&gt;
&lt;br /&gt;
== 另见 ==&lt;br /&gt;
&lt;br /&gt;
=== 论坛主题 ===&lt;br /&gt;
* [[Topic:10099|microkernels]]&lt;br /&gt;
* [[Topic:10234|discussing microkernel vs modular macrokernel]]&lt;br /&gt;
&lt;br /&gt;
==== 推荐阅读 ====&lt;br /&gt;
* [http://www.google.com/search?q=The+Increasing+Irrelevance+of+IPC+Performance+for+Microkernel-Based+Operating+Systems 基于微内核的操作系统中IPC性能越来越不相关] by Brian N. Bershad&lt;br /&gt;
* [http://www.google.com/search?q=The+Persistent+Relevance+of+IPC+Performance+for+Microkernel-Based+Operating+Systems 基于微内核的操作系统中IPC性能的持续相关性] by Wilson C. Hsieh, M. Frans Kaashoek, and William E. Weihl&lt;br /&gt;
* [http://citeseer.ist.psu.edu/408369.html µ-Kernels Must And Can Be Small] by Jochen Liedtke&lt;br /&gt;
* [http://linuxfinances.info/info/microkernel.html Microkernel-based OS Efforts] by Christopher Browne&lt;br /&gt;
* [http://web.archive.org/web/20140803112320/http://i30www.ira.uka.de/~neider/edu/mkc/mkc.html Microkernel Construction Notes] by Raphael Neider&lt;br /&gt;
&lt;br /&gt;
[[Category:Kernel]]&lt;/div&gt;</summary>
		<author><name>Zhang3</name></author>
	</entry>
</feed>