ebook img

Pervasive Linux: Basistechnologien, Softwareentwicklung, Werkzeuge PDF

212 Pages·2012·2.068 MB·German
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Pervasive Linux: Basistechnologien, Softwareentwicklung, Werkzeuge

X.systems.pressisteinepraxisorientierte ReihezurEntwicklungundAdministration von Betriebssystemen,NetzwerkenundDatenbanken. Christoph Czernohous Pervasive Linux Basistechnologien, Softwareentwicklung, Werkzeuge 123 ChristophCzernohous Silcherplatz5 71106Magstadt Deutschland [email protected] ISSN1611-8618 ISBN978-3-540-20940-9 e-ISBN978-3-540-68426-8 DOI10.1007/978-3-540-68426-8 SpringerHeidelbergDordrechtLondonNewYork DieDeutscheNationalbibliothekverzeichnetdiesePublikationinderDeutschenNationalbibliografie; detailliertebibliografischeDatensindimInternetüberhttp://dnb.d-nb.deabrufbar. (cid:2)c Springer-VerlagBerlinHeidelberg2012 Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung,derMikroverfilmungoderderVervielfältigungaufanderenWegenundderSpeicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine VervielfältigungdiesesWerkesodervonTeilendiesesWerkesistauchimEinzelfallnurindenGrenzen der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik Deutschland vom 9. September 1965 in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich vergütungspflichtig. ZuwiderhandlungenunterliegendenStrafbestimmungendesUrheberrechtsgesetzes. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigtauchohnebesondereKennzeichnungnichtzuderAnnahme,dasssolcheNamenimSinneder Warenzeichen-undMarkenschutz-Gesetzgebungalsfreizubetrachtenwärenunddahervonjedermann benutztwerdendürften. Einbandentwurf:KünkelLopkaGmbH,Heidelberg GedrucktaufsäurefreiemPapier SpringeristTeilderFachverlagsgruppeSpringerScience+BusinessMedia(www.springer.com) FürBettina Vorwort PervasiveheißtaufDeutschsovielwiedurchdringend,allgegenwärtig,sichüberall ausbreitend.UndgenaudasgeschiehtzurZeitmitderRechenleistungvonCompu- ternallerArt.EsgibtkaumnochtechnischeAlltagsgegenstände,dienichtirgend- eineFormvonMikroprozessorbeinhalten,diedieseGerätesteuernundzusätzliche Funktionalitätbereitstellen,vonderWaschmaschineüberdasAutozumMobiltele- fon. Wir werden jeden Tag fast überall von Rechenleistung umgeben, sie ist all- gegenwärtig und durchdringt unser Leben, auch wenn wir es manchmal gar nicht merken. ZurgleichenZeitgibteseinenweiterenTrendmitstarkemWachstumspotenzial: OpenSource.DieVerbreitungvonSoftware,derenQuellenfürjedermanneinsehbar sind,hatindenletztenJahrenstarkzugenommen,allemvorandasoffeneBetriebs- system Linux. Ausgehend von einem Betriebssystem für Personal Computer, hat sich Linux in der Zwischenzeit ein festes Standbein im Server-Umfeld geschaffen undwirdauchineingebettetenSystemen,derGrundlagefürPervasiveComputing, immerbeliebter. Der Kombination dieser beiden Wachstumsperspektiven, Pervasive Computing und Linux, gilt das vorliegende Buch. Es richtet sich an Produkt- und Software- entwickler, die Linux in eingebetteten Systemen einsetzen möchten, setzt dabei aber Grundkenntnisse über die Benutzung und Administration von Linux, sowie Programmierkenntnissevoraus.AuchdieVor-undNachteilevonOpenSourceim allgemeinen und Linux im besonderen werden nicht erörtert. Dieses Buch nähert sich dem Thema Pervasive Linux von der Anwendungs- bzw. Softwareentwick- lungsseite.Esgehthauptsächlichdarum,denEinstiegindieEntwicklungfürPerva- sive Linux zu erleichtern. Angesichts der Vielfalt an verfügbarer Hard- und Soft- ware in diesem Bereich sei für das vertiefende Studium einzelner Themen auf diejeweilsspezialisierteLiteraturverwiesen.NichtGegenstanddesBuchesistdie PortierungvonLinuxselbstaufzusätzlicheHardware-Plattformen.Ausdenselben GründenwerdenauchnichtsämtlicheParameterdiverserKommandozeilenbefehle undKonfigurationsdateienaufgelistet. Oftistdie grösste Hürde, überhaupt den Einstieg in Pervasive Linux zu finden. DerAufbaueinerfunktionsfähigenEntwicklungsumgebungkannsehrfrustrierend sein.OftmalssindInformationenaufdenrelevantenWebseitennichtsofortauffind- bar.DiesesBuchsolldenEinstiegindieEntwicklungvonLinux-Anwendungenfür VII VIII Vorwort das Pervasive Computing erleichtern, indem es jeweils mit Beispielen die Grund- lagen für die benötigten Schritte erläutert. Dabei werden auch Werkzeuge vorge- stellt, die nicht spezifisch für Pervasive Linux sind, aber bei der Benutzung und Entwicklunghäufigverwendetwerden. Eswirderklärt,welcheBesonderheitenbeimEinsatzvonLinuxineingebetteten Systemenzubeachtensind,welcheCode-undInformationsquellenesgibt,welche AufgabeneineingebettetesLinuxsystemzuerfüllenhatundauswelchenBestand- teilenesbesteht.DieSoftwareentwicklungwirdmitHilfegängigerWerkzeugebei- spielhaftdargestellt. Die Beispiele orientieren sich an Linux-Systemen, die auf tragbaren digi- talen persönlichen Organisationshilfen (engl.: Personal Digital Assistants – PDA, bzw. Handhelds), mobilen Internetgeräten (engl.: Mobile Internet Device – MID), Tablett-ComputernundMobiltelefonenbzw.sogenanntenSmartphoneseinsetzbar sind, da diese Art Hardware-Grundlage als Massenware relativ unkompliziert und günstigfürjedermannerhältlichistundesfürdieseSystemeofteinebreiteLinux- Unterstützunggibt.DieKonzeptelassensichaberauchaufandereeingebetteteSys- temeübertragen. Das Motto des Buches lässt ich also wie folgt formulieren: Linux macht Spass. PervasiveLinuxmachtdenSpassallgegenwärtig. Danksagung MeinDankgiltmeinerFrauBettinaundmeinemRedakteurHermannEngesservom SpringerVerlagfürdieschierendloseGeduldundUnterstützungbeidiesemBuch- projekt. AusserdemmöchteichmichbeiSilkeundClemensvanDinther,JanBurchhardt und Jens Kretzschmar fürs Korrekturlesen des Manuskripts und die konstruktiven Anregungenbedanken. Magstadt,Deutschland ChristophCzernohous Juni2011 Inhaltsverzeichnis TeilI Systembestandteile 1 PervasiveComputing............................................ 3 1.1 Ressourcenbeschränkung .................................... 3 1.1.1 Speicherverwaltung.................................. 3 1.1.2 GrafischeBenutzerschnittstellen ....................... 4 1.2 Grafik..................................................... 5 1.2.1 Vektorgrafik ........................................ 5 1.2.2 Bitmap-Grafik ...................................... 5 1.3 Mobilität .................................................. 6 1.3.1 Kontextverarbeitung ................................. 6 1.3.2 Datensicherheit ..................................... 7 2 Hardware...................................................... 9 2.1 Prozessor.................................................. 9 2.2 Speicher................................................... 10 2.2.1 Arbeitsspeicher ..................................... 10 2.2.2 PermanenterSpeicher................................ 10 2.3 EingabeundAusgabe ....................................... 13 2.4 Energieversorgung .......................................... 13 3 Software ....................................................... 15 3.1 BootLoader ............................................... 15 3.1.1 DasU-Boot–UniversalBootLoader................... 16 3.1.2 ARMBootLoader .................................. 16 3.1.3 LinuxLoader(LILO) ................................ 17 3.1.4 GrandUnifiedBootLoader(GRUB) ................... 17 3.1.5 blob............................................... 17 3.1.6 Micromonitor(uMon)................................ 18 3.1.7 RedBoot ........................................... 18 3.1.8 colilo.............................................. 18 3.1.9 Qi ................................................ 19 IX X Inhaltsverzeichnis 3.2 LinuxKernel............................................... 19 3.2.1 KernelModule...................................... 19 3.2.2 Framebuffer ........................................ 20 3.2.3 uClinux–virtuelleSpeicherverwaltung ................. 20 3.3 Gerätetreiber............................................... 20 3.3.1 CharacterDevice.................................... 21 3.3.2 BlockDevice ....................................... 21 3.3.3 MemoryTechnologyDevice(MTD).................... 21 3.4 Dateisystemtypen........................................... 22 3.4.1 JournalingFlashFileSystem(JFFS).................... 23 3.4.2 JournalingFlashFileSystem,Version2(JFFS2) ......... 23 3.4.3 UnsortedBlockImagesFileSystem(UBIFS) ............ 23 3.4.4 LogFS............................................. 23 3.4.5 YetAnotherFlashFileSystem(YAFFS) ................ 24 3.4.6 Squashfs........................................... 24 3.4.7 (cramfs) ........................................... 24 3.4.8 SecondExtendedFileSystem(EXT2),EXT3 undEXT4......................................... 24 3.4.9 NetworkFileSystem(NFS)........................... 25 3.4.10 CommonInternetFileSystem(CIFS) .................. 25 3.5 Daten ..................................................... 25 3.5.1 Zeichenkodierungen ................................. 26 3.5.2 Datenformate....................................... 26 3.6 Benutzerschnittstellen ....................................... 30 3.6.1 AnmeldungundBenutzerverwaltungmitTinyLogin ...... 31 3.6.2 BusyBox........................................... 31 3.6.3 XMLUserInterfaceLanguage(XUL) .................. 32 3.6.4 XWindowSystem................................... 32 3.6.5 GIMPToolkit(GTK+) ............................... 33 3.6.6 Enlightenment ...................................... 33 3.6.7 QtforEmbeddedLinux .............................. 34 3.6.8 Nano-X............................................ 34 3.6.9 MiniGUI........................................... 34 3.6.10 freesmartphone.org(FSO) ............................ 35 3.6.11 GPEPalmtopEnvironment(GPE) ..................... 35 3.6.12 OpenPalmtopIntegratedEnvironment(OPIE) ........... 40 3.6.13 GNOMEMobile .................................... 44 3.6.14 Clutter............................................. 44 3.7 DistributionenundPlattformen................................ 44 3.7.1 OpenWrt........................................... 45 3.7.2 Ångström .......................................... 45 3.7.3 PuppyLinux........................................ 45 3.7.4 Android ........................................... 46 3.7.5 MeeGo ............................................ 46 3.7.6 QtExtended........................................ 46 3.7.7 Linaro............................................. 47

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.