Embedded Linux: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
Versie 23482340 van LimoWreck (overleg) ongedaan gemaakt.
Jonas (overleg | bijdragen)
Wijzigingen door 193.191.129.220 hersteld tot de laatste versie door LimoWreck - zie commentaar LimoWreck
Regel 1:
[[Bestand:V9.jpg|thumb|150px|Motorola RAZR², een systeem dat gebruikmaakt van embedded Linux.]]
'''Embedded Linux''' is de algemene naam voor een [[Linux]] -[[besturingssysteem]] dat als een [[embeddedingebed systemsysteem]] gebruikt wordt, opbijvoorbeeld kleinere elektronica-apparaten. Bijvoorbeeld eenin [[Mobielemobiele telefoon|gsm]],s [[router]],of [[Personal Digital Assistant|PDA]],'s...
 
'''Embedded Linux''' bestaat niet als een speciale soort [[GNU]]/[[Linux]],; zoals bijvoorbeeld mandrake [[linux]] of redhat [[linux]]. Het verschil met deze is de opbouw van de [[kernel]]. Hethet is een gewone, doch licht uitgevoerde, [[Linux]]-[[kernel]] die specifieke delen van een uitgebreidere [[kernel]] heeft. Deze delen zijn gekozen omdat ze onontbeerlijk zijnspecifiek voor hetbepaalde doelhandelingen vanafgesteld de versie van '''Embedded Linux'''is (zo zal de kernel van een [[router]] geen [[X Window System|X Window-systeem]]-systeem draaien). Bovenop deze [[kernel]] draait dan andere Linux software, die ondersteunt wordt door de gekozen [[kernel]] (Bij een [[router]] kan dat bijvoorbeeld het softwareprogramma [[ip-tables]] zijn)Linuxsoftware. Men kan kiezen om er de traditionele [[GNU]]-software]] en -bibliotheken op te draaien, of lichtere alternatieven zoals [[Busybox]] met [[uClibc]].
== Embedded Linux Kernel ==
'''Embedded Linux''' bestaat niet als een speciale soort [[GNU]]/[[Linux]], zoals bijvoorbeeld mandrake [[linux]] of redhat [[linux]]. Het verschil met deze is de opbouw van de [[kernel]]. Het is een gewone, doch licht uitgevoerde, [[Linux]]-[[kernel]] die specifieke delen van een uitgebreidere [[kernel]] heeft. Deze delen zijn gekozen omdat ze onontbeerlijk zijn voor het doel van de versie van '''Embedded Linux''' (zo zal de kernel van een [[router]] geen [[X Window System|X Window]]-systeem draaien). Bovenop deze [[kernel]] draait dan andere Linux software, die ondersteunt wordt door de gekozen [[kernel]] (Bij een [[router]] kan dat bijvoorbeeld het softwareprogramma [[ip-tables]] zijn). Men kan kiezen om er de traditionele [[GNU-software]] en -bibliotheken op te draaien of lichtere alternatieven zoals [[Busybox]] met [[uClibc]].
 
{{Beginnetje|informatica|2=2006|3=01|4=25}}
Een [[linuxkernel]] zijn vaak [[open source]], daarom zijn embedded linux versies ook gratis verkrijgbaar. Onder andere op het internet. <ref name="linux.org">[http://www.linux.org], Kernels voor linux (linux.org)</ref> Sommige producenten die gebruik maken van '''Embedded Linux''' zeggen dat voorgemaakte versies nog niet onmiddellijk klaar zijn voor gebruik. De meningen hierover zijn echter verdeeld. <ref name="topOS">[http://www.linuxfordevices.com/c/a/News/Linux-still-top-embedded-OS/],Linux still top embedded system</ref> Is de '''Embedded Linux''' nog niet klaar voor gebruik, dan kan deze meestal wel aangepast worden daar het [[Open source|open-source]] is.
== Voordelen van {{Commonscat|Embedded Linux ==}}
 
== Ontwerpconsideraties ==
Bij het ontwerp van een [[embedded system]] zijn er een aantal parameters die invloed hebben op de goede werking van het [[embedded system]]. Is het systeem bijvoorbeeld te groot, dan moet ook het geheugen groter zijn. Dit kan dan leiden tot het gebruik van duurdere chips. Een ander voorbeeld is beveiliging, als het eenvoudig is het [[embedded system]] van een [[router]] te [[hacken]], dan is het computernetwerk waaraan hij verbonden is zeer kwetsbaar voor aanvallen van buitenaf. Ontwerpconsideraties zijn onder andere:
 
*[[Opstarttijd]]
*Geheugen beheer
*Vermogen beheer
*[[Beveiliging en bewaking|Beveiliging]]
*De grootte van het systeem
*Beheer van systeemresources
 
 
=== Opstarttijd ===
'''Opstarttijd''' is de term die staat voor alles wat te maken heeft met het initialiseren van het [[besturingssysteem]]. Na deze opstarttijd zal de geïnstalleerde software kunnen werken. Boot time is afhankelijk van hoeveel delen van de kernel er moet worden geïnitialiseerd, hoe uitgebreid deze delen zijn en hoe snel hardware is waar het besturingssysteem op draait.<ref name=eLinux>[http://elinux.org/Boot_Time], Boot time</ref> Vier technieken om opstarttijd te versnellen zijn:
 
*PKernel XIP - Staat de [kernel] toe om uitgevoerd te worden in [flash] of in-place [[Read-only memory|ROM]] (read-only memory)
*DMA Copy Of Kernel On Startup - De [[kernel]] van [[Flashgeheugen|flash]] naar [[Random-access memory|RAM]] kopiëren met gebruik van [[Direct Memory Access|DMA]]
*Ongecomprimeerde kernel - Een [[kernel]] zonder [[Datacompressie|compressie]] boot misschien sneller
*[[Decompressie]] - De [[kernel]] sneller decomprimeren
 
=== Geheugen beheer ===
Beheer van geheugen in een [[Embedded system]] is over het algemeen eenvoudiger dan op volledige systemen. Bij geheugen is het meestal zo dat hoe groter het wordt, hoe moeilijker het wordt het te beheren (door bv een grotere index). Een [[embedded system]] is veel kleiner dan een volledig systeem. Hierboven komt ook dat er (meestal) niet moet worden gedaan aan [[Virtueel geheugen|swapping]] en dergelijke, zoals wel moet bij grotere systemen.
Problemen bij '''Embedded Linux''' vormen zich rond een beperkte [[Translation look-aside buffer|TLB]] (translation lookaside buffer), die in embedded systems meestal niet zo groot zijn. Hierdoor is er bij gebruik van userspace work een aanzienlijke daling in [[prestatie]]. Applicaties op de [[Processor (computer)|CPU]] (central processing unit) zijn 5% tot 40% van hun [[processortijd]] bezig met foute adressering.
 
=== Vermogen beheer ===
Aangezien veel van de toestellen die met embedded linux werken met batterijen werken is het nodig om het vermogen gebruik van de toestellen zoveel mogelijk te beperken, en zo efficient mogelijk om te gaan met de energie.<ref name="PowerM">[http://elinux.org/Power_Management], Elinux wiki Power management</ref> (zoals bijvoorbeeld een screensaver op een gsm/PDA)
 
=== Beveiliging ===
Beveiliging is voor alle software systemen die aangesloten zijn op het [[internet]] onmisbaar.<ref name="celux">[http://www.celinux.org/elc08_presentations/ELC2008_nakamura.pdf], Presentatie over SELinux(pagina 4-6)</ref> Vanaf het moment dat een systeem is aangesloten op een communicatienetwerk is het namelijk open voor aanvallen van buitenaf, van mensen die toegang proberen te krijgen tot het systeem of er schade aan willen berokkenen. Om deze reden is het nodig om Embedded Linux op zulke systemen te beveiligen.
Een voorbeeld van een inbraak op een [[embedded system]] (niet linux) was er op de Iphone/Ipod/Ipad. Waardoor hackers software konden installeren zonder daarvoor betaald te hebben. <ref name="Ihack">[http://www.demorgen.be/dm/nl/5401/Multimedia/article/detail/1141487/2010/08/05/Hackers-kunnen-programma-s-installeren-via-lek-in-software-iPhone-iPad-en-iPad-Touch.dhtml], Artikel in de morgen over foutjes in Ipad/Iphone/Ipod</ref>
 
=== Grootte van het systeem ===
De grootte van het systeem dient zoveel mogelijk beperkt te worden. De grootte van het systeem heeft een rechtstreeks verband met de nood naar meer geheugen, de opstarttijd en de prestaties van het systeem.
 
=== Beheer van systeemresources ===
Toestellen die gebruik maken van een [[Embedded system]] zijn over het algemeen toestellen die beperkte hardware hebben. Om toch nog zoveel mogelijk prestaties te halen uit de hardware die gebruikt wordt dient goed gekozen te worden welke software hoeveel % van de processortijd krijgt. Dit kan afhangen van welke applicatie er op dat moment uitgevoerd wordt op het toestel. Vb: Wanneer er muziek wordt afgespeeld op een Gsm moet de softwareapplicatie die daarvoor verantwoordelijk is genoeg processortijd krijgen om de muziek zonder haperen af te spelen. Wanneer er echter een bericht binnenkomt tijdens het afspelen, dan moet er ook genoeg processortijd zijn voor dat bericht.
 
== Voordelen van Embedded Linux ==
In 2008 was '''Embedded Linux''' het top [[embedded system]]. Met het grootste aantal gebruikers zowel voor de [[Open source|open-source]] [[Besturingssysteem|besturingssystemen]] als de andere besturingssystemen. '''Embedded Linux''' had toen 23% van het aantal gebruikers. In 2009 is dat aantal nog gestegen naar 26%. Terwijl in 2004 het nog maar 15,5% had. <ref name="topOS" />
 
De reden voor het succes van Linux werd door de gebruikers zelf omschreven als volgt:
*De kostprijs van [[licentie]]s
*Flexibiliteit door toegang tot de [[Broncode|source]]
*Algemene vertrouwdheid met het systeem
*Steeds verbeterend/groeiend applicaties en tools
*Groeiende ervaring bij de ontwikkelaars van '''Embedded Linux'''
 
== Referenties ==
<references />
 
[[Categorie:Linux]]