<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=EKA2</id>
	<title>EKA2 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=EKA2"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=EKA2&amp;action=history"/>
	<updated>2026-07-13T12:02:16Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=EKA2&amp;diff=183631&amp;oldid=prev</id>
		<title>imported&gt;Cewbot：​清理重定向的分類: :Category:操作系统内核→:Category:作業系統核心 (Category:作業系統核心) - log</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=EKA2&amp;diff=183631&amp;oldid=prev"/>
		<updated>2024-05-01T05:23:24Z</updated>

		<summary type="html">&lt;p&gt;&lt;a href=&quot;/index.php?title=User:Cewbot/log/20230406/configuration&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User:Cewbot/log/20230406/configuration（页面不存在）&quot;&gt;清理重定向的分類&lt;/a&gt;: &lt;a href=&quot;/index.php?title=Category:%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%86%85%E6%A0%B8&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Category:操作系统内核（页面不存在）&quot;&gt;Category:操作系统内核&lt;/a&gt;→&lt;a href=&quot;/wiki/Category:%E4%BD%9C%E6%A5%AD%E7%B3%BB%E7%B5%B1%E6%A0%B8%E5%BF%83&quot; title=&quot;Category:作業系統核心&quot;&gt;Category:作業系統核心&lt;/a&gt; (Category:作業系統核心) - &lt;a href=&quot;/index.php?title=User:Cewbot/log/20190913&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User:Cewbot/log/20190913（页面不存在）&quot;&gt;log&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;EKA2&amp;#039;&amp;#039;&amp;#039;（Epoc Kernel Architecture）是[[Symbian OS]]的第二代核心。&lt;br /&gt;
&lt;br /&gt;
如同它的第一代核心[[EKA1]]一般，具有先佔式多工與記憶體保護功能。兩者主要的差異在於：&lt;br /&gt;
* 即時處理（real-time）的保證（API的呼叫是快速、更重要、時間限制內）&lt;br /&gt;
* 多執行緒的支持&lt;br /&gt;
* 隨插式記憶體模型，支持更多的ARM處理器指令&lt;br /&gt;
* 更友善的使用者介面支持，讓使用者可以在Symbian OS 8.0以及8.1中選取核心的設定。&lt;br /&gt;
&lt;br /&gt;
EKA2最主要的優勢還在於支持電話具信號堆疊（singalling stacks）。一般而言，Symbian OS的手機通常是執行於分散的處理器，或是同一個處理器，但是必須使用到複雜而且靠不住的“hacks”。這樣的“具信號堆疊”實在過於複雜，想將程式碼改寫，使其能在Symbian OS自然的運作，顯然不容易做到。因此，EKA2提供了客制化層級（personality layers），實現一般作業系統的基礎基元（basic primitives），允許具信號堆疊在Symbian OS上可擁有更多的不變性。&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
EKA2 is the second-generation kernel for Symbian OS.&lt;br /&gt;
&lt;br /&gt;
Like its predecessor, EKA1, it has pre-emptive multithreading and full memory protection. The main differences are:&lt;br /&gt;
&lt;br /&gt;
Real-time guarantees (each API call is quick, but more importantly, time-bound) &lt;br /&gt;
Multiple threads inside the kernel as well as outside &lt;br /&gt;
Pluggable memory models, allowing better support for later generations of ARM instruction set. &lt;br /&gt;
A &amp;quot;nanokernel&amp;quot;, providing the most basic OS facilities, and on which other &amp;quot;personality layers&amp;quot; can be built &lt;br /&gt;
Its user-side interface is almost completely compatible with EKA1. This enables Symbian OS version such as 8.0 and 8.1 which offered a choice of kernel.&lt;br /&gt;
&lt;br /&gt;
The main advantage of EKA2 is its ability to run full telephone signalling stacks. Traditionally, on Symbian OS phones, these have been run on a separate CPU, or run on the same CPU only through complex and unreliable &amp;quot;hacks&amp;quot;. Such signalling stacks are extremely complex, and rewriting them to work natively on Symbian OS is typically not an option. Hence, EKA2 allows &amp;quot;personality layers&amp;quot; to emulate the basic primitives of other operating systems, thus allowing existing signalling stacks to run largely unchanged on the Symbian OS CPU.&lt;br /&gt;
&lt;br /&gt;
The real-time guarantees are a natural pre-requisitive of this ability, and also help with multimedia tasks. However, as with any real-time operating system, a full analysis of all threads is required before any real-time guarantees can be offered to anything except the highest-priority thread. (Higher priority threads may prevent lower-priority threads from running). Any multimedia task is likely to involve graphics, storage and/or networking activity, all of which are at much higher risk of disrupting the stream than the kernel is.&lt;br /&gt;
&lt;br /&gt;
Inside the kernel, EKA1 only allowed a single thread (plus a &amp;#039;null&amp;#039; idle thread). EKA2 allows many threads. This makes it much easier to write device drivers that involve complex state machines, such as that for memory sticks or USB. Interrupts are handled with an Interrupt Service Routine, which may request an Immediate Deferred Function Call (called as soon as the interrupts are processed) or a Deferred Function Call, which is queued to run on a kernel thread. This in turn may communicate with user-side threads.&lt;br /&gt;
&lt;br /&gt;
Power management is largely unchanged from EKA1. The exact scheme varies between phones, but generally, the task of the null thread puts the CPU and peripherals to sleep, after having requested a wake-up whenever the next timer is due to expire.&lt;br /&gt;
&lt;br /&gt;
EKA2 runs on ARM CPUs, and the &amp;quot;WINS&amp;quot; Symbian OS emulator. (Ports may exist for other CPUs too). On the emulator, EKA2 provides somewhat better emulation, in particular for the RProcess APIs which Symbian OS uses to represent processes. In EKA1 they didn&amp;#039;t work at all under the emulator, because it exists as a single Windows process. EKA2, in contrast, when asked to launch another process copies the requested .exe into a .dll, changing appropriate flags so that Windows recognises it as a DLL, then loads it into the current process. These APIs therefore work as expected, with only a few limitations such as the lack of writable global data (which wasn&amp;#039;t even possible on ARM CPUs under EKA1).&lt;br /&gt;
&lt;br /&gt;
EKA2 doesn&amp;#039;t currently cope with demand paging or multiple CPUs.&lt;br /&gt;
&lt;br /&gt;
Much of the credit for EKA2 goes to a single Symbian kernel engineer, who began the project as an experiment, many years before it became an official part of Symbian OS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:作業系統核心]]&lt;br /&gt;
[[Category:微內核]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Cewbot</name></author>
	</entry>
</feed>