Embeddable Linux Kernel Subset
| Embeddable Linux Kernel Subset | |
|---|---|
| [[Datei:Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)|150px|alt=]] | |
| Entwickler | Jody Bruchon, Riley Williams†, Alan Cox, Chad Page u. v. m. |
| Lizenz(en) | GPLv2 |
| Erstveröff. | Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value) |
| Akt. Version | Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value) vom Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value) (vor Fehler im Ausdruck: Unerwarteter Operator < Fehler im Ausdruck: Unerwarteter Operator < Fehler im Ausdruck: Unerwarteter Operator <) |
| Abstammung | Linux 2.0/2.1 (1997) ↳ Linux-8086/ELKS |
| Architektur(en) | x86 ab 8086/8088, Psion SIBO |
| Sprache(n) | Englisch |
| Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value) | |
Embeddable Linux Kernel Subset (kurz ELKS), vormals Linux-8086, ist ein freier Betriebssystem-Kernel für Computer, die mit x86-kompatiblen 16-Bit-Prozessoren ab dem 8086/8088 ausgestattet sind. Es wird als freie Software unter der GNU General Public License (GPL) verbreitet. Als ein Fork von Linux stellt ELKS eine auf diese Bedingungen angepasste Untermenge dieses Unix-artigen Kernels dar. Das erklärte Ziel der Entwicklung ist Unix-V7-Funktionalität auf 16-Bit-Architekturen. Ein solcher Kernel kann in eingebetteten Systemen sowie zu Ausbildungs- und Lehrzwecken genutzt werden. ELKS läuft neben den 16-Bit-x86-Prozessoren (retronym auch oft „x86-16“) auch auf Psion-SIBO-Organizern.
Linus Torvalds hatte den Linux-Kernel ab 1991 für ein Unix-artiges Betriebssystem ursprünglich nur für seinen 386-PC entwickelt und ihn daher voll auf dessen 32-Bit-Protected-Mode aufgebaut. Doch bereits in den 1990er Jahren wurde der Kernel auf 64-Bit-Systeme wie den Alpha-Prozessor portiert. (Inzwischen läuft der Linux-Kernel nicht mehr auf einem 80386er; die Unterstützung wurde in Kernel-Version 3.8 entfernt.) Auf x86-kompatiblen 16-Bit-Prozessoren war Linux aber grundsätzlich nicht lauffähig, was zusätzliche praktische Gründe hat. Zum einen waren ältere Computer meist generell mit sehr wenig Arbeitsspeicher ausgerüstet. Als Linux 1991 erschien, lief es zwar auf Systemen mit 4 MiB RAM,<ref>Warren Young: memory limit of the Linux kernel. (Internetforum) In: Unix & Linux. Stack Exchange, 4. November 2014, abgerufen am 22. Mai 2025 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)): „Let’s take the wayback machine to the early 1990s, when Linux was being created. Back in those days, we’d have arguments about whether Linux could be made to run in 2 MiB of RAM or if it really needed 4 whole MiB. Of course, the high-end snobs were all sneering at us, with their 16 MiB monster servers.“</ref> mit einer grafischen Benutzeroberfläche wie X Window System ist jedoch bereits deutlich mehr Arbeitsspeicher nötig. Zum anderen ist die Speicherbegrenzung eine fundamentale Einschränkung der 16-Bit-x86-Architektur: im Real Mode ist, neben dem fehlenden Speicherschutz, nur 1 MiB direkt adressierbar, im 16-Bit-Protected-Mode des Intel 80286 (dem im Vergleich zum i386 die MMU fehlt) nicht mehr als 16 MiB.
Dennoch startete Alan Cox gemeinsam mit Chad Page 1995 Linux-8086.<ref>Alan Cox: {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value). In: comp.os.linux.announce. 30. November 1995, abgerufen am 18. April 2013 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> Ein Meilenstein war die TCP/IP-Implementierung in ELKS 0.1 2002.<ref>Alan Cox: Linux 8086. (E-Mail) In: LWN.net. 1. April 2002, abgerufen am 22. Mai 2025 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref><ref>Hans-Joachim Baader: Linux 8086 – Das Linux 8086-Projekt, das einen stark abgemagerten Linux-Kernel auf sehr alte CPUs portieren will, hat mit der Hinzufügung einer TCP/IP-Implementierung einen Meilenstein erreicht. In: Pro-Linux. 1. April 2002, abgerufen am 22. Mai 2025.</ref> Die Entwicklung hatte jedoch selbst nach mehr als einem Jahrzehnt noch Alpha-Status und kam nur sehr langsam voran.<ref>Harry Kalogirou: {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value). In: Blog von Harry Kalogirou. 1. Oktober 2005, abgerufen am 14. April 2013 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> Version 0.1.4 wurde am 19. Februar 2012 in Gedenken an den verstorbenen Riley Williams auf SourceForge veröffentlicht.<ref>Jody Bruchon: {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value). 19. Februar 2012, archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am 21. Februar 2012; abgerufen am 14. April 2013 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> Jody Bruchon siedelte das Projekt 2014 zu GitHub um, wo es auch aktiv weiterentwickelt werden sollte.<ref>offizielle Website: {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) abgerufen am 12. September 2015</ref> Im März 2015 erschien Version 0.2.0. Seit 2018 (Version 0.2.1 erschien am 25. Juni 2018) steht ELKS auf GitHub sowohl im Quelltext zum selbst kompilieren als auch in Form von vorgefertigten Abbildern für verschiedene Diskettenformate<ref>ghaerr / elks Releases. GitHub, abgerufen am 22. Mai 2025 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> und als 32-MiB-Festplatte<ref>How to use ELKS #Binaries. (Wiki) Abgerufen am 22. Mai 2025 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> zum Download bereit.
Weblinks
- alte offizielle Website auf SourceForge (englisch)
- neue offizielle Entwicklerseite auf GitHub (englisch), Hauptentwickler: Jody Bruchon
- Entwickler-Newsgroup (englisch, erste Nachricht vom 26. April 2006)
Siehe auch
- Xenix von Microsoft (und später SCO), eine kommerzielle Portierung von AT&T UNIX Version 7 auf den Intel 8086 (1980) und den 80286 (1983)
- PC/IX, eine UNIX-Portierung auf 8086/8088 von 1984
Einzelnachweise
<references />