Linux-Kernelprogrammierung

Größe: px
Ab Seite anzeigen:

Download "Linux-Kernelprogrammierung"

Transkript

1 Linux-Kernelprogrammierung

2 Linux Specials

3 Michael Beck, Harald Böhme, Mirko Dziadzka, Ulrich Kunitz, Robert Magnus, Claus Schröter, Dirk Verworner Linux-Kernelprogrammierung Algorithmen und Strukturen der Version , aktualisierte und erweiterte Auflage Bitte beachten Sie: Der originalen Printversion liegt eine CD-ROM bei. In der vorliegenden elektronischen Version ist die Lieferung einer CD-ROM nicht enthalten. Alle Hinweise und alle Verweise auf die CD-ROM sind ungültig. ADDISON-WESLEY An imprint of Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario Sydney Mexico City Madrid Amsterdam

4 Die Deutsche Bibliothek CIP-Einheitsaufnahme Ein Titelsatz für diese Publikation ist bei Der Deutschen Bibliothek erhältlich Die Informationen in diesem Buch werden ohne Rücksicht auf einen eventuellen Patentschutz veröffentlicht. Warennamen werden ohne Gewährleistung der freien Verwendbarkeit benutzt. Bei der Zusammenstellung von Texten und Abbildungen wurde mit größter Sorgfalt vorgegangen. Trotzdem können Fehler nicht vollständig ausgeschlossen werden. Verlag, Herausgeber und Autoren können jedoch für fehlerhafte Angaben und deren Folgen weder eine juristische Verantwortung noch irgendeine Haftung übernehmen. Für Verbesserungsvorschläge und Hinweise sind Verlag und Herausgeber dankbar. Alle Rechte vorbehalten, auch die der fotomechanischen Wiedergabe und Speicherung in elektronischen Medien. Die gewerbliche Nutzung der in diesem Produkt gezeigten Modelle und Arbeiten ist nicht zulässig. Fast alle Hardware- und Softwarebezeichnungen, die in diesem Buch erwähnt werden, sind gleichzeitig eingetragene Warenzeichen oder sollten als solche betrachtet werden. Umwelthinweis: Dieses Buch wurde auf chlorfrei gebleichtem Papier gedruckt. Die Einschrumpffolie zum Schutz vor Verschmutzung ist aus umweltverträglichem und recyclingfähigem PE-Material ISBN c 2001 Addison-Wesley Verlag, ein Imprint der Pearson Education Deutschland GmbH Martin-Kollar-Straße 10 12, D München/Germany Alle Rechte vorbehalten Lektorat: Susanne Spitzer, [email protected] Korrektorat: Friederike Daenecke, Zülpich Produktion: TYPisch Müller, Arcevia, Italien, [email protected] Satz: Hilmar Schlegel, Berlin Umschlaggestaltung: Hommer DesignProduction, Haar bei München Druck und Verarbeitung: Kösel, Kempten Printed in Germany

5 Inhaltsverzeichnis Vorwort zur 6. Auflage Vorwort der Autoren zur 1. Auflage Vorwort von Linus Torvalds zur 1. Auflage Danksagung xi xi xiii xiv 1 Linux Das Betriebssystem Wesentliche Eigenschaften Linux-Distributionen 5 2 Die Übersetzung des Kerns Wo finde ich was? Die Übersetzung Zusätzliche Konfigurationsmöglichkeiten 12 3 Einführung in den Kern Wichtige Datenstrukturen Die Taskstruktur Die Prozesstabelle Files und Inodes Dynamische Speicherverwaltung Warteschlangen und Semaphore Systemzeit und Zeitgeber (Timer) Zentrale Algorithmen Signale Hardwareinterrupts Softwareinterrupts Booten des Systems Timerinterrupt Scheduler Implementierung von Systemrufen Wie funktionieren Systemrufe eigentlich? Beispiele für einfache Systemrufe Beispiele für komplexere Systemrufe 49

6 vi Inhaltsverzeichnis 4 Die Speicherverwaltung Das architekturunabhängige Speichermodell Speicherseiten Virtueller Adressraum Übersetzung der linearen Adresse Pagedirectories Die Pagetabelle Der virtuelle Adressraum eines Prozesses Das Nutzersegment Virtuelle Speicherbereiche Der Systemruf brk Funktionen für das Mapping Das Kernelsegment Speicherreservierung im Kernelsegment während des Bootens Dynamische Speicherreservierung im Kernelsegment Das Caching der Blockgeräte Blockpuffer Bdflush und Kupdate Die Listenstrukturen des Puffercaches Verwendung des Puffercaches Paging unter Linux Speicherseitenverwaltung und -cache Speicherseitenreservierung Optimierung der Speicherseitenverwaltung durch Kernelthreads Seitenfehler und das Zurückladen einer Speicherseite 97 5 Interprozesskommunikation Synchronisation im Kern Kommunikation über Dateien Das Sperren ganzer Dateien Sperren von Dateibereichen Pipes Debugging mit ptrace System V IPC Zugriffsrechte, Nummern und Schlüssel Semaphore Messagequeues Shared Memory 128

7 Inhaltsverzeichnis vii Die Befehle ipcs und ipcrm IPC mit Sockets Ein einfaches Beispiel Die Implementierung von Unix-Domain-Sockets Das Linux-Dateisystem Grundlagen Die Repräsentation von Dateisystemen im Kern Das Mounten Der Superblock Superblock-Operationen Der Verzeichniscache DEntry-Operationen Die Inode Inode-Operationen Die File-Struktur File-Operationen Das Öffnen einer Datei Das Ext2-Dateisystem Der Aufbau des Ext2-Dateisystems Verzeichnisse im Ext2-Dateisystem Blockallokation im Ext2-Dateisystem Erweiterungen des Ext2-Dateisystems Das Proc-Dateisystem Strukturen des Proc-Dateisystems Implementierung des Proc-Dateisystems Gerätetreiber unter Linux Zeichen- und Blockgeräte Hardware Port I/O Der PCI-Bus Der Dinosaurier ISA Bus ISA-PnP Polling, Interrupts und Wait Queues Polling Interruptbetrieb Interrupt Sharing Softwareinterrupts Bottom Halfs die unteren Interrupthälften 219

8 viii Inhaltsverzeichnis Task Queues Timer Die Implementierung eines Treibers Beispiel PC Lautsprechertreiber Ein einfacher Treiber Die Setup-Funktion Init Open und Release Read und Write IOCTL Poll Llseek MMap Fasync Readdir, Fsync Dynamische und statische Treiber Netzwerkimplementierung Einführung und Überblick Das Schichtenmodell der Netzwerkimplementation Die Reise der Daten Wichtige Strukturen Die socket-struktur Die Struktur sk_buff Pufferverwaltung im Netzwerk Der INET-Socket spezieller Teil eines Sockets Protokolloperationen in der proto-struktur Die allgemeine Struktur einer Socketadresse Netzwerkgeräte unter Linux Ethernet SLIP und PLIP Das Loopback-Gerät Das Dummy-Gerät Ein Beispielgerät Module und Debugging Was sind Module? Implementierung im Kernel Signatur von Symbolen Bedeutung der Objektsektionen für Module und Kern Parameterübergabe und Beispiel 283

9 Inhaltsverzeichnis ix 9.5 Was kann als Modul implementiert werden? Der Kernel-Dämon Einfacher Datenaustausch zwischen Modulen Ein Modulbeispiel Debugging Änderungen sind der Anfang vom Ende Der beste Debugger printk() Debuggen mit GDB Multiprocessing Die Intel-Mehrprozessorspezifikation Probleme bei Mehrprozessorsystemen Änderungen am Kern Initialisierung des Kerns Scheduling Interruptbehandlung Atomare Operationen Der atomare Datentyp Zugriffe auf den atomaren Datentyp Ändern und Testen von atomaren Variablen Spinlocks Zutrittsfunktionen Read-Write-Spinlocks 299 Anhang 301 A Systemrufe 301 A.1 Die Prozessverwaltung 302 A.2 Das Dateisystem 350 A.3 Die Kommunikation 385 A.4 Die Speicherverwaltung 388 A.5 Und der ganze Rest 396 B Kernnahe Kommandos 397 B.1 free Übersicht über den Systemspeicher 397 B.2 ps Ausgabe der Prozessstatistik 398 B.3 top Die CPU-Charts 403 B.4 Init Primus inter pares 405 B.5 shutdown das Herunterfahren des Systems 413 B.6 strace Observierung eines Prozesses 415 B.7 Konfiguration des Netzwerk-Interfaces 418

10 x Inhaltsverzeichnis B.8 traceroute der Ariadnefaden im Internet 419 B.9 Konfiguration einer seriellen Schnittstelle 421 B.10 Konfiguration einer parallelen Schnittstelle 424 B.11 Wir basteln uns einen Verzeichnisbaum 425 C Das Proc-Dateisystem 433 C.1 Das Verzeichnis /proc/ 433 C.2 Das Verzeichnis net/ 440 C.3 Das Verzeichnis self/ 442 C.4 Das Verzeichnis sys/ 446 D Der Boot-Prozess 449 D.1 Der Ablauf des Bootens 449 D.2 LILO der Linux-Lader 451 D.2.1 MS-DOS-MBR startet LILO 451 D.2.2 LILO wird von einem Bootmanager gestartet 452 D.2.3 LILO im Master-Boot-Record 452 D.2.4 LILO-Dateien 453 D.2.5 LILO-Boot-Parameter 457 D.2.6 LILO-Startmeldungen 458 D.2.7 Fehlermeldungen 458 E Nützliche Kernfunktionen 461 Index 483

11 Vorwort zur 6. Auflage Ein Preisausschreiben an einem Linux-Stand auf der diesjährigen CeBIT fragte, welche Linux-Version der Version 0.95a vorausging. Ich muss zugeben ich weiß es nicht mehr es war jedenfalls nicht Das erinnert uns wieder an die Anfänge und das sich schnell verändernde, kreative Chaos, das Linux zu dieser Zeit umgab. Zu dieser Zeit war es für viele Mitentwickler von Linux eine Herausforderung, die Quellen eines Betriebsystems verstehen und modifizieren zu können. Inzwischen hat Linux nicht nur den magischen Versionsmeilenstein 2.4 erreicht, sondern auch in der hart umkämpften Softwarebranche einen festen Platz erobert. An der Herausforderung, einen Betriebsystemkern zu verstehen, hat sich nichts geändert, sie ist nur größer geworden. Viele der seit der letzten Meilensteinversion hinzugefügten Features dienen heute nicht mehr nur der banalen Funktion eines Betriebssystems, sondern es kommen mehr und mehr Funktionalitäten hinzu, die Kompatibilitäten zu großen Softwareprodukten ermöglichen, der Unterstützung neuer Hardware oder der Verbesserung der Performance des Systems dienen. Aber auch die 2.4 Version bietet wieder spannende neue Konzepte wie die IP-Tables oder verbessertes Plug-and-Play. Wie mit jedem neuen Meilenstein des Linux-Kernels, muss auch ein Kernel-Buch grundlegend überarbeitet werden, um auf dem neuesten Stand zu sein. Trotz massiver Änderungen in Schnittstellen und Konzepten soll es wieder einen Einblick in das Getriebe von Linux geben. Das Ergebnis dieser Überarbeitung liegt nun vor Ihnen. Wir wünschen Ihnen nicht nur beim Lesen des Buches, sondern auch beim Experimentieren mit dem Linux-Kern viel Spaß. Berlin/Frankfurt/Furtwangen, den Michael Beck Ulrich Kunitz Harald Böhme Robert Magnus Mirko Dziadzka Claus Schröter Vorwort der Autoren zur 1. Auflage Linux gibt es seit etwa zwei Jahren. Was einst als Programmierübung des Informatikstudenten Linus Torvalds begann, ist heute eines der erfolgreichsten Free-Software- Projekte und macht kommerziellen Systemen ernsthaft Konkurrenz. Dies ist das Ergebnis der freiwilligen Arbeit einer weltweiten Programmierergemeinde, die durch ein effektives Kommunikationsmedium, das Internet, verbunden sind. Die freie Verfügbarkeit von Linux hat zu seiner raschen Verbreitung beigetragen. Sicher ist es schwer, die Zahl der Linux-Nutzer zu schätzen. In Deutschland sind es mit Sicherheit schon mehrere zehntausend.

12 xii Vorwort Vor circa eineinhalb Jahren haben wir, die Autoren, das Linux-System für uns entdeckt. Ein Grund dafür besteht sicherlich darin, dass wir jetzt für unsere heimischen PCs ein richtiges Unix-System haben, ohne dafür gleich Tausende von Mark, die man als Student sowieso nicht hat, auf den Tisch legen zu müssen. Der andere, vielleicht wichtigere Grund besteht für uns, und sicherlich auch für einen Großteil der Linux-Gemeinde in der Welt, in der Verfügbarkeit der Quelltexte des Linux- Systems. Es macht einfach Spaß, in den Interna eines Betriebssystems zu wühlen, eigene Ideen auszuprobieren und das System in allen Belangen an seine eigenen Wünsche anzupassen. Dieses Buch wendet sich an alle, die genauso denken, aber auch an die, die einfach nur entdecken wollen, wie ein 32-Bit-Betriebssystem funktioniert. Der Linux-Kern hat im Laufe der Zeit an Umfang zugenommen. Einen wirklich guten Überblick kann man sich nicht mehr allein verschaffen. Da Dokumentationen dünn gesät sind (die einzige Dokumentation, die wir kennen, ist der Entwurf des Linux Kernel Hackers Guide [Joh95]), haben wir im Sommersemester 1993 ein Linux-Seminar begonnen. Jeder, der sich bei uns mit Linux beschäftigte, gab einen Einblick in sein Interessengebiet, in sein Wissen und seine Erfahrungen beim Kernel Hacking. Im Seminar kam es häufig zu spannenden Diskussionen um Modellierungskonzepte, Implementierungsvarianten und Details, die unterschiedlich aufgefaßt wurden. Wir haben im Rahmen dieses Seminars begonnen, unser Wissen über das Linux-System aufzuschreiben, um anderen einen einfacheren Einstieg zu ermöglichen. Dieses Wissen liegt nun überarbeitet in diesem Buch vor. Da die Entwicklung von Linux sehr schnell vorwärtsschreitet, konnten wir uns für das Schreiben des Buches nicht allzuviel Zeit lassen. Wir teilten deswegen die einzelnen Kapitel des Buches entsprechend den Interessengebieten der Autoren auf. Ulrich Kunitz schrieb die Einleitung, das Kapitel über die Speicherverwaltung und das Kapitel über die Interprozesskommunikation. Mirko Dziadzka zeichnet für die Einführung in den Kern verantwortlich. Harald Böhme, unser Netzexperte, hätte sicherlich ein ganzes Buch schreiben müssen, um die Netzwerkimplementation umfassend zu erläutern. Hier konnte er nur in die Materie einführen. Robert Magnus fiel die undankbare Aufgabe zu, die Referenz der Systemrufe auszuarbeiten und die systemnahen Kommandos zu erläutern. Die weiteren Kapitel teilten sich die anderen Autoren auf. Beim Schreiben eines deutschen Buches über ein Betriebssystem ist man immer wieder mit dem Problem der korrekten Übersetzung englischer Fachbegriffe konfrontiert. Im Buch ist bei der Einführung eines Begriffs die englische Originalbezeichnung und deren deutsche Übersetzung angegeben. Oft wurde, wo es dem Sprachgefühl nicht widersprach, die englische Bezeichnung weiterverwendet. Im Text sind Bezeichner aus Quelltexten in der Schriftart Courier gesetzt. Parameter, die sich aus einem speziellen Kontext ergeben, sind in einem kursiven Font gesetzt. Zum Beispiel: % make Argument Da nicht alle Leser dieses Buches Zugang zum Internet haben, sind auf der beiliegenden CD die Slackware-Distribution und die deutsche LST-Distribution 1.7 enthalten. Sie

13 Vorwort xiii lassen sich, nachdem mit Hilfe der MS-DOS-Programme GZIP.EXE und RAWRITE.EXE entsprechende Startdisketten erzeugt worden sind, direkt von der CD installieren. Die Autoren möchten sich ausdrücklich bei Patrick J. Volkerding und dem Linux-Support- Team Erlangen, namentlich Ralf Flaxa und Stefan Probst, für die gewiß sehr umfangreiche Arbeit an diesen Distributionen bedanken. Die CD enthält darüber hinaus den Linux-Kernel Version 1.0.9, die Quellen der im Anhang B erläuterten Programme sowie die Quellen der GNU-C-Bibliothek und der G++- Bibliothek. Darüber hinaus sind Texte aus dem Linux-Documentation-Project und die Internet-RFCs enthalten. Die Dateien sind nicht komprimiert und können unter Linux mit dem mount-kommando in die Verzeichnisstruktur eingebunden werden. Der Inhalt des Buches entspricht unserem heutigen Wissen über den Linux-Kern 1.0, und dieses Wissen ist mit Sicherheit nicht vollständig. Wir sind für alle Korrekturen, Anregungen, Hinweise und Kommentare dankbar. Über sind wir mit der Adresse [email protected] berlin.de zu erreichen. Wer keinen -Zugang besitzt, kann uns auch schreiben: Linux-Team Humboldt-Universität zu Berlin Institut für Informatik Berlin Vorwort von Linus Torvalds zur 1. Auflage Creating an operating system has been (and still is) an exciting project, and has been made even more rewarding through the extensive (and almost uniformly positive) feedback from users and developers alike. One of the problems for people wanting to get to know the kernel internals better has been the lack of documentation, and fledgling kernel hackers have had to resort to reading the actual source code of the system for most of the details. While I think that is still a good idea, I m happy that there now exists more documentation like this explaining about Linux use and internals. Hope you have a good time with Linux and this book, Helsinki, Linus Torvalds

14 xiv Vorwort Danksagung Dieses Buch wäre ohne die Arbeit vieler anderer Menschen nicht möglich gewesen. An erster Stelle möchten wir uns bei den Linux-Hackern in der ganzen Welt und natürlich bei Linus Torvalds bedanken. Ein weiterer Dank geht an die Free Software Foundation (auch unter dem Namen GNU bekannt). Ohne GNU-Software wäre Linux nicht das, was es ist. Danken wollen wir auch den Mitarbeitern und Studenten am Institut für Informatik der Humboldt-Universität zu Berlin und am Fachbereich Allgemeine Informatik der Fachhochschule Furtwangen, die uns bei unserer Arbeit unterstützt haben. Zuletzt noch einen Dank an die unzähligen Korrekturleser, allen voran Ralf Kühnel, deren akribische Korrekturen uns eine große Hilfe waren. Eine besondere Erwähnung verdient hier auch Martin von Löwis, der uns mit konstruktiven Diskussionen und der Implementierung des WindowsNT-Dateisystem für Linux unterstützte. Viel Spaß beim Lesen und der Beschäftigung mit Linux! Berlin/Furtwangen, den Michael Beck, Ulrich Kunitz Harald Böhme, Robert Magnus Mirko Dziadzka, Dirk Verworner

15 1 Linux Das Betriebssystem Linux is obsolete! Andrew S. Tanenbaum Linux ist ein frei verfügbares Unix-artiges Betriebssystem. Ursprünglich nur für den PC entwickelt, läuft es heute auch auf Digital-Alpha und Sparc Workstations. Weitere Portierungen z. B. auf Pocket-PCs sind in der Entwicklung und laufen schon relativ stabil. Linux ist kompatibel zum POSIX Standard und umfasst große Teile der Funktionalität von Unix System V und BSD. Wesentliche Teile des Linux-Kerns, um den es in diesem Buch gehen soll, wurden von Linus Torvalds, einem finnischen Informatikstudenten, entwickelt. Er stellte die Programmquellen des Kerns unter die GNU Public License. Damit hat jedermann das Recht, die Programme kostenlos zu benutzen, zu kopieren und zu modifizieren. Die erste Version des Linux-Kerns war 1991 im Internet verfügbar. Es bildete sich schnell eine Gruppe von Linux-Aktivisten, die die Entwicklung dieses Betriebssystems vorantrieben. Zahlreiche Nutzer testen neue Versionen und tragen dazu bei, die Software fehlerfrei zu machen. Die Linux-Software wird unter offenen und verteilten Bedingungen entwickelt. Mit offen ist gemeint, dass jeder, der dazu in der Lage ist, sich an der Entwicklung beteiligen kann. Das bedeutet, dass die Linux-Aktivisten schnell, effektiv und vor allem weltweit kommunizieren müssen. Das Medium dafür ist das Internet. So verwundert es nicht, dass ein großer Teil der Entwicklungen von begabten Studenten stammen, die an ihren Universitäten und Colleges auf das Internet zugreifen können. Diesen Studenten standen anfangs Entwicklungssysteme mit eher bescheidener Ausstattung zur Verfügung. Aus diesem Grund ist Linux immer noch das 32-Bit-Betriebssystem, das die wenigsten Ressourcen verbraucht, ohne an Funktionalität einzubüßen. Da Linux unter den Bedingungen der GNU Public License [GPL] verbreitet wird, hat man Zugriff auf den vollständigen Quellcode. Damit kann jeder selbst die Funktionsweisen des Systems erkunden sowie Fehler aufspüren und beseitigen. Der eigentliche Reiz für die Autoren des Buches besteht aber im Herumexperimentieren am System. Linux hat natürlich auch Nachteile. Es ist genauso ein Programmierersystem wie Unix. Kryptische Kommandos, schwer überschaubare Konfigurationen und eine nicht immer durchgängige Dokumentation erschweren nicht nur Anfängern die Nutzung. Es scheint aber so, als ob diese Nachteile von Vielen in Kauf genommen werden, um manch anderer Beschränkung (technologischer oder finanzieller Art) proprietärer Systeme wie MS-DOS, Windows oder auch kommerzieller Unix-Derivate für den PC zu entkommen. Mittlerweile gibt es neben dem Linux Document Project [LDP] auch viele andere

16 2 1 Linux Das Betriebssystem für Einsteiger brauchbare Bücher zu Linux. Insbesondere auf dem deutschsprachigen Markt hat sich hier vieles getan. Hier sei auf das Literaturverzeichnis verwiesen. Linux-Systeme werden längst in Softwarehäusern, bei Internet-Providern, in Schulen und Universitäten sowie privat eingesetzt. Mittlerweile gibt es kaum eine Computerzeitschrift mehr, die nicht regelmäßig über dieses Betriebssystem berichtet. Allein auf dem deutschen Linux-Markt werden mehrere Millionen DM pro Jahr umgesetzt. Linux als reines Hackerspielzeug zu bezeichnen, wird der Realität nicht mehr gerecht. Obwohl es inzwischen Portierungen auf andere Hardwarearchitekturen gibt, benutzen die meisten Nutzer Linux noch auf Intel 386ern oder kompatiblen Systemen. Durch die weite Verbreitung dieser Intel-Systeme hat man unter Linux auch kaum Probleme mit Treibern für Peripheriehardware. Sobald eine neue Steckkarte für den PC auf dem Markt ist, findet sich ein Linux-Nutzer, der dafür einen Treiber implementiert. 1 Seit der Version 2.0 werden auch Mehrprozessorsysteme unterstützt. Für ein vernünftiges Arbeiten mit Linux sollte ein PC mindestens acht, bei der Benutzung des X-Window-Systems als grafischer Oberfläche mindestens 16 MByte Hauptspeicher enthalten. Mit jeweils der doppelten Menge macht das Arbeiten auch dann noch Spaß, wenn man im Hintergrund mehrere Compiler gleichzeitig laufen lässt und im Vordergrund einen Text bearbeiten will. Für Spezialanwendungen wie Modem/Fax-Server oder Firewalls reichen aber auch schon vier MByte vollkommen aus. Linux unterstützt im Prinzip jede frei verfügbare Unix-Software. So kann man mit GNU-C++ objektorientiert programmieren oder unter dem X-Window-System Grafiken erstellen. Spiele wie Tetris stehen genauso zur Verfügung wie Entwicklungssysteme für grafische Oberflächen. Durch die Netzwerkunterstützung können Linux-Rechner problemlos in bestehende Netze eingebunden werden. Dieses Buch ist (natürlich) mit L A TEX unter Linux gesetzt worden. 1.1 Wesentliche Eigenschaften Linux erfüllt alle Anforderungen, die heute an ein modernes, Unix-ähnliches Betriebssystem gestellt werden. Multitasking Linux unterstützt echtes präemptives Multitasking. Alle Prozesse laufen völlig unabhängig voneinander. Damit braucht kein Prozess dafür Sorge zu tragen, anderen Prozessen Rechenzeit abzugeben. Linux erlaubt es mehreren Nutzern gleichzeitig, mit dem System zu arbei- Multiuser ten. 1 Ausnahmen sind Karten von Herstellern, die Informationen über die Funktionsweise ihrer Hardware geheim halten.

17 1.1 Wesentliche Eigenschaften 3 Multiprozessing Linux arbeitet seit der Version 2.0 auch auf Multiprozessor- Architekturen. Das heißt, dass das Betriebssystem mehrere Anwendungen (echt parallel) auf mehrere Prozessoren verteilen kann. Architekturunabhängig Linux läuft inzwischen auf fast allem, was Bits und Bytes verarbeiten kann. Die unterstützte Hardware reicht von Embedded-Systemen bis zu IBM-Mainframes. Diese Hardwareunabhängigkeit wird von keinem anderen Betriebssystem erreicht. Demand Load Executables Es werden nur die Teile eines Programms in den Speicher geladen, die auch wirklich zur Ausführung benötigt werden. Bei der Erzeugung eines neuen Prozesses mittels fork() wird nicht sofort Speicher für Daten angefordert, sondern der Datenspeicher des Elternprozesses wird von beiden Prozessen gemeinsam genutzt. Greift dann der neue Prozess irgendwann schreibend auf einen Teil des Datenspeichers zu, muss dieser Teil vor der Modifizierung erst kopiert werden. Dieses Konzept wird Copy-On-Write genannt. Paging Trotz aller Maßnahmen, um den physischen Speicher effektiv zu verwenden, kann es vorkommen, dass dieser vollständig belegt ist. Linux sucht dann 4 KByte große Speicherseiten, so genannte Pages, die freigemacht werden können. Seiten, deren Inhalt auf Festplatte gespeichert ist (z. B. Code aus Programmdateien), werden verworfen. Alle anderen Seiten werden auf die Festplatte ausgelagert. Wird auf eine dieser Speicherseiten wieder zugegriffen, muss sie wieder zurückgeladen werden. Dieses Verfahren wird Paging genannt. Es unterscheidet sich vom Swapping älterer Unix-Varianten, bei denen der gesamte Speicher eines Prozesses auf die Festplatte geschrieben wird, was ohne Zweifel wesentlich ineffektiver ist. Dynamischer Cache für Festplatten MS-DOS-Nutzer kennen das Problem, dass man für ein Festplattencache-Programm wie SMARTDRIVE Speicher mit einer festen Größe reservieren muss. Linux passt die Größe des verwendeten Cache dynamisch an die aktuelle Speicherauslastungssituation an. Ist momentan kein Speicher mehr frei, wird die Größe des Cache reduziert und damit freier Speicher zur Verfügung gestellt. Wird wieder Speicher freigegeben, wird der Cachebereich vergrößert. Shared Libraries Bibliotheken sind eine Sammlung von Routinen, die ein Programm zur Abarbeitung benötigt. Es gibt eine Reihe von Standardbibliotheken, die von mehreren Prozessen gleichzeitig benutzen werden. Es ist daher naheliegend, den Programmcode für diese Bibliotheken nur einmal in den Speicher zu laden und nicht für jeden Prozess extra. Genau das ist mit Shared Libraries möglich. Da diese Bibliotheken erst zur Laufzeit des Programms zu dessen Code hinzugeladen werden, spricht man auch von dynamisch gebundenen Bibliotheken. So ist es kein Wunder, dass in anderen Betriebssytemwelten dieses Konzept als Dynamic Link Libraries bekannt ist.

18 4 1 Linux Das Betriebssystem Unterstützung des POSIX Standards, teilweise System V und BSD PO- SIX definiert eine minimale Schnittstelle zu einem Unix-ähnlichen Betriebssystem. Mittlerweile wird dieser Standard von allen neueren und anspruchsvollen Betriebssystemen unterstützt. Linux (ab Version 1.2) unterstützt POSIX vollständig. Mittlerweile gibt es sogar Linux-Distributionen, die den offiziellen Zertifizierungsprozess durchlaufen haben und sich deshalb auch offiziell POSIX-kompatibel nennen dürfen. Zusätzliche Systemschnittstellen der Unix-Entwicklungslinien System V und BSD wurden auch implementiert. Software, die für Unix geschrieben wurde, lässt sich deswegen in der Regel ohne weiteres auf Linux übersetzen. Verschiedene Formate von ausführbaren Dateien Es ist sicher wünschenswert, Programme, die in anderen Systemumgebungen laufen, unter Linux auszuführen. Aus diesem Grund werden zur Zeit Emulatoren für MS-DOS und MS-Windows entwickelt. Des Weiteren ist Linux in der Lage, Programme anderer Unix-Systeme, die dem ibcs2- Standard entsprechen, auszuführen. Dies trifft zum Beispiel für viele unter SCO-Unix eingesetzte kommerzielle Programme zu. Auch bei den Portierungen für andere Hardwarearchitekturen (z. B. Sparc und Alpha) wird darauf geachtet, die jeweiligen native- Binaries ausführen zu können. So steht dem Linux-Anwender eine Fülle von kommerzieller Software zur Verfügung, ohne dass diese speziell auf Linux portiert wurde. Speicherschutz Linux benutzt die Speicherschutzmechanismen der Prozessoren, um den Zugriff eines Prozesses auf den Speicher des Systemkerns oder anderer Prozesse zu verhindern. Dies trägt entscheidend zur Sicherheit und Stabilität des Systems bei. Ein fehlerhaftes Programm kann deswegen (theoretisch) das System nicht zum Absturz bringen. Unterstützung von nationalen Tastaturen und Fonts Unter Linux kann man mit den unterschiedlichsten nationalen Tastaturen und Zeichensätzen arbeiten. Da der von der internationalen Standardisierungsorganisation (ISO) definierte Zeichensatz Latin1 auch deutsche Umlaute enthält, ist die Verwendung anderer Zeichensätze in Deutschland nicht unbedingt notwendig. Verschiedene Dateisysteme Linux unterstützt verschiedenste Dateisysteme. Das zur Zeit gebräuchlichste Dateisystem ist das zweite erweiterte Dateisystem (Ext2- Dateisystem). Es unterstützt Dateinamen mit bis zu 255 Zeichen und hat eine Reihe von Merkmalen, die es gegenüber herkömmlichen Unix-Dateisystemen sicherer machen. Weitere implementierte Dateisysteme sind das MS-DOS-Dateisystem und das VFAT-Dateisystem für den Zugriff auf MS-DOS bzw. Windows-95-Partitionen, das ISO-Dateisystem für den Zugriff auf CD-ROMs und das NFS für den transparenten Zugriff auf Dateisysteme anderer im Netzwerk befindlicher Unix-Rechner. Weniger gebräuchlich sind das AFF-Dateisystem für den Zugriff auf das Amiga-Fast-Filesystem, das UFS-Dateisystem und das SysV-Dateisystem für den Zugriff auf Unix-Filesysteme anderer Hersteller, das HPFS für den Zugriff auf OS/2-Partitionen oder das Samba- Dateisystem für den Zugriff auf exportierte Filesysteme von Windows-Rechnern.

19 1.2 Linux-Distributionen 5 Andere Filesysteme, wie das unter Windows-NT benutzte WindowsNT-Dateisystem sind in Arbeit und als Beta-Versionen verfügbar. Große Verbreitung gewinnen auch Journaling Filesysteme wie z. B. das Reiser-FS, die sich durch ihre kurze Recovery-Zeit für kommerzielle System empfehlen. Welches kommerzielle Betriebssystem kann schon mit einer solchen Vielfalt aufwarten? TCP/IP, SLIP und PPP-Unterstützung Linux kann in lokale Unix-Netze integriert werden. Im Prinzip können alle Netzwerkdienste, wie das Network File System und Remote Login, benutzt werden. SLIP und PPP unterstützen die Nutzung des TCP/IP- Protokolls über serielle Leitungen. Damit ist mit einem Hochgeschwindigkeitsmodem die Einbindung in das Internet über das öffentliche Telefonnetz möglich. Embedded Linux In letzter Zeit wird Linux mehr und mehr auch für Aufgaben eingesetzt, bei denen es nicht auf die Bedienerfreundlichkeit eines Desktop-Systems ankommt, sondern auf schonenden Umgang mit den verfügbaren Ressourcen. Das ist zum Beispiel in so genannten Embedded-Anwendungen, wie in Industriesteuerungen, Routern, Unterhaltungselektronik und Palmtops der Fall. In den Kern der Version 2.4 sind einige Änderungen eingeflossen, die diesen Anwendungsbereich möglich machen. So kann beispielsweise die Konsole abgeschaltet werden, und es gibt eine Unterstützung für handelsübliche Flash-Memory Hardware (Disk-On-Chip). 1.2 Linux-Distributionen Zur Installation von Linux ist eine Distribution notwendig. Sie besteht aus einer Boot- Diskette und weiteren Disketten oder einer CD-ROM. Installationsskripten ermöglichen es auch unerfahrenen Benutzern, lauffähige Systeme zu installieren. Vorteilhaft ist, dass viele Softwarepakete schon an Linux angepasst und entsprechend konfiguriert sind, was dem Anwender eine Menge Arbeit erspart. In der Linux-Gemeinde gibt es immer wieder Diskussionen über die Qualität der einzelnen Distributionen. Dabei wird sehr oft übersehen, dass das Zusammenstellen einer solchen Distribution eine sehr umfangreiche und komplexe Aufgabe ist. Sehr verbreitet sind international die RedHat-, die S.u.S.E.-, die Debian- und die Slackware-Distribution. Welche dieser Distributionen Sie verwenden, ist Geschmackssache. Erhalten können Sie die angesprochenen Distributionen auf FTP-Servern, in Mailboxen, bei Public-Domain-Vertrieben und in einigen Buchhandlungen. Bezugsquellen finden Sie in einschlägigen Fachzeitschriften oder in den Linux-Newsgruppen des Usenet.

20

Linux-Kernel- Programmierung

Linux-Kernel- Programmierung Michael Beck, Harald Böhme, Mirko Dziadzka, Ulrich Kunitz, Robert Magnus, Dirk Verworner Linux-Kernel- Programmierung Algorithmen und Strukturen der Version 1.0 ADDISON-WESLEY PUBLISHING COMPANY Bonn Paris

Mehr

Das eigene Web mit HTML, CSS und JavaScript

Das eigene Web mit HTML, CSS und JavaScript Das eigene Web mit HTML, CSS und JavaScript Christian Wenz, Tobias Hauser Das eigene Web mit HTML, CSS und JavaScript 15 Workshops Markt+Technik Verlag Die Deutsche Bibliothek CIP-Einheitsaufnahme Ein

Mehr

Digitale Fotografie mit Paint Shop Pro

Digitale Fotografie mit Paint Shop Pro Digitale Fotografie mit Paint Shop Pro Bernd Held / Andrea Fingberg Digitale Fotografie mit Paint Shop Pro 12 Workshops Markt+Technik Verlag Die Deutsche Bibliothek CIP-Einheitsaufnahme Ein Titeldatensatz

Mehr

Betriebswirtschaftliches Rechnungswesen. Die Grundlagen von Buchführung und Finanzberichten

Betriebswirtschaftliches Rechnungswesen. Die Grundlagen von Buchführung und Finanzberichten Betriebswirtschaftliches Rechnungswesen Die Grundlagen von Buchführung und Finanzberichten Bibliografische Information der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in

Mehr

Sandini Bib PHP 5 & MySQL 5

Sandini Bib PHP 5 & MySQL 5 PHP 5 & MySQL 5 Open Source Software wird gegenüber kommerziellen Lösungen immer wichtiger. Addison-Wesley trägt dieser Entwicklung Rechnung mit den Büchern der Open Source Library. Administratoren, Entwickler

Mehr

»Wie mach ich das«titelei_inhalt.indd :44:28

»Wie mach ich das«titelei_inhalt.indd :44:28 »Wie mach ich das« Bibliografische Information Der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische

Mehr

Einführung in Betriebssysteme UNIX AM BEISPIEL LINUX

Einführung in Betriebssysteme UNIX AM BEISPIEL LINUX Einführung in Betriebssysteme UNIX AM BEISPIEL LINUX 23 UNIX entwickelt Anfang der 1970er Jahre von Ken Thompson und Dennis Ritchie (Bell Laboratories) Quelle: Wikipedia Zusammen und auf der Basis von

Mehr

Konzepte von Betriebssystemkomponenten

Konzepte von Betriebssystemkomponenten Konzepte von Betriebssystemkomponenten Systemstart und Programmausführung Seminarvortrag 15.12.2003, Michael Moese Übersicht 2. Systemstart 3. Programmausführung TEIL 1: Systemstart 1.1 Das BIOS 1.2 Der

Mehr

Datenbankprogrammierung mit MySQL 5 und PHP 5 Spona

Datenbankprogrammierung mit MySQL 5 und PHP 5 Spona DAS EINSTEIGERSEMINAR Datenbankprogrammierung mit MySQL 5 und PHP 5 von Helma Spona Neuausgabe Datenbankprogrammierung mit MySQL 5 und PHP 5 Spona schnell und portofrei erhältlich bei beck-shop.de DIE

Mehr

A Kompilieren des Kernels... 247. B Lineare Listen in Linux... 251. C Glossar... 257. Interessante WWW-Adressen... 277. Literaturverzeichnis...

A Kompilieren des Kernels... 247. B Lineare Listen in Linux... 251. C Glossar... 257. Interessante WWW-Adressen... 277. Literaturverzeichnis... 1 Einführung................................................ 1 1.1 Was ist ein Betriebssystem?............................... 1 1.1.1 Betriebssystemkern................................ 2 1.1.2 Systemmodule....................................

Mehr

Echtzeit-Multitasking

Echtzeit-Multitasking Technische Informatik Klaus-Dieter Thies Echtzeit-Multitasking Memory Management und System Design im Protected Mode der x86/pentium-architektur. Shaker Verlag Aachen 2002 Die Deutsche Bibliothek - CIP-Einheitsaufnahme

Mehr

Echtzeit-Multitasking

Echtzeit-Multitasking Technische Informatik Klaus-Dieter Thies Echtzeit-Multitasking Memory Management und System Design im Protected Mode der x86/pentium-architektur. Shaker Verlag Aachen 2002 Die Deutsche Bibliothek - CIP-Einheitsaufnahme

Mehr

Betriebssysteme R. Thomas (Stand : SS 2010)

Betriebssysteme R. Thomas (Stand : SS 2010) FG TECHNISCHE INFORMATIK I BS 000 00 TH 09 R. Thomas (Stand : SS 2010) FG TECHNISCHE INFORMATIK I BS 001 00 TH 10 Kapitel-Überblick Teil 1 : Allgemeines 1. Einführung I-BS-100 2. Grundlegende Aufgaben

Mehr

Unser Online-Tipp für noch mehr Wissen.... aktuelles Fachwissen rund um die Uhr zum Probelesen, Downloaden oder auch auf Papier.

Unser Online-Tipp für noch mehr Wissen.... aktuelles Fachwissen rund um die Uhr zum Probelesen, Downloaden oder auch auf Papier. MIDI am PC und Mac Unser Online-Tipp für noch mehr Wissen... aktuelles Fachwissen rund um die Uhr zum Probelesen, Downloaden oder auch auf Papier. www.informit.de Ulrich Nikolaus Kurt Raster MIDI am PC

Mehr

grep kurz & gut John Bambenek and Agnieszka Klus

grep kurz & gut John Bambenek and Agnieszka Klus grep kurz & gut grep kurz & gut John Bambenek and Agnieszka Klus Beijing Cambridge Farnham Köln Sebastopol Tokyo Copyright der deutschen Ausgabe 2009 by O'Reilly Verlag GmbH & Co.KG Darstellung eines

Mehr

Betriebssysteme. 4y Springer. Eine kompakte Einführung mit Linux. Albrecht Achilles. Mit 31 Abbildungen

Betriebssysteme. 4y Springer. Eine kompakte Einführung mit Linux. Albrecht Achilles. Mit 31 Abbildungen Albrecht Achilles 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Betriebssysteme Eine kompakte Einführung mit Linux

Mehr

Geräteverwaltung: Einführung

Geräteverwaltung: Einführung Geräteverwaltung: Einführung Die Ziele einer Geräteverwaltung sind: Einfache Softwareschnittstelle Gleiche Software Schnittstellen für alle Geräte eines Gerätetyps z.b.: unabhängig vom Soundkartenhersteller

Mehr

Linux-Treiber entwickeln

Linux-Treiber entwickeln Linux-Treiber entwickeln Eine systematische Einführung in Gerätetreiber für den Kernel 2.6 von Jürgen Quade, Eva K Kunst überarbeitet Linux-Treiber entwickeln Quade / Kunst schnell und portofrei erhältlich

Mehr

Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software

Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL3 Folie 1 Grundlagen Software steuert Computersysteme

Mehr

Linux gefahrlos testen

Linux gefahrlos testen Seite 1 von Cage Linux gefahrlos testen In diesem Artikel wird beschrieben, wie man Linux in einer virtuellen Maschine unter Windows installiert. 1 Grundlegende Informationen Um diesen Artikel zu verstehen,

Mehr

Internationale Unternehmensbewertung

Internationale Unternehmensbewertung Internationale Unternehmensbewertung Prof. Dr. Dr. Dietmar Ernst Thorsten Amann Michael Großmann Dietlinde Flavia Lump Internationale Unternehmensbewertung Ein Praxisleitfaden Higher Education München

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard Systeme I: Betriebssysteme Kapitel 4 Prozesse Wolfram Burgard Version 18.11.2015 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Tabellen & Diagramme mit Excel

Tabellen & Diagramme mit Excel Tabellen & Diagramme mit Excel Visual QuickProject Guide von Maria Langer Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten

Mehr

Übersicht. UNIX-Dateisystem (ext2) Super-User unter Linux werden MSDOS: FAT16 und FAT32

Übersicht. UNIX-Dateisystem (ext2) Super-User unter Linux werden MSDOS: FAT16 und FAT32 Übersicht UNIX-Dateisystem (ext2) Super-User unter Linux werden MSDOS: FAT16 und FAT32 Die in diesem Teil vorgestellten Informationen stellen lediglich das Prinzip dar - im Detail ist alles etwas komplizierter...

Mehr

Echtzeitbetriebssysteme

Echtzeitbetriebssysteme Speicherverwaltung (Memory Management) Aufgaben der Memory-Management-Unit ist l der Speicherschutz und l die Adressumsetzung Wird durch Hardware unterstützt l Memory Management Unit (MMU) l MMU wird vom

Mehr

HTML Spielend gelingt die Website

HTML Spielend gelingt die Website HTML HTML Spielend gelingt die Website TOBIAS HAUSER CHRISTIAN WENZ Bibliografische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 13.11.2013 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

08.05.2012 UNIX. Linux. UNIX Derivate, die wichtigsten. Free BSD (Open) Solaris MacOS X Linux. UNIX Dateisystem, wichtige Ordner.

08.05.2012 UNIX. Linux. UNIX Derivate, die wichtigsten. Free BSD (Open) Solaris MacOS X Linux. UNIX Dateisystem, wichtige Ordner. 23 UNIX Einführung in Betriebssysteme UNIX AM BEISPIEL LINUX entwickelt Anfang der 1970er Jahre von Ken Thompson und Dennis Ritchie (Bell Laboratories) Quelle: Wikipedia Zusammen und auf der Basis von

Mehr

Linux booten. Jörg Ahrens

Linux booten. Jörg Ahrens Linux booten Was passiert beim Einschalten eines PCs? Das BIOS Viele Bootsektoren Bootloader (Grub, LILO) Kernel Parameter und InitRD Feinheiten beim Plattenausfall Der Bootvorgang Beim Einschalten eines

Mehr

Rechnernutzung in der Physik. Betriebssysteme

Rechnernutzung in der Physik. Betriebssysteme Rechnernutzung in der Physik Betriebssysteme 1 Betriebssysteme Anwendungsprogramme Betriebssystem Treiber BIOS Direkter Zugriff von Anwenderprogrammen auf Hardware nur in Ausnahmefällen sinnvoll / möglich:

Mehr

Betriebssystem? Übersicht. Ziele. Grundlagen. Das ist nur die Oberfläche... Wissen, was man unter einem Betriebssystem versteht

Betriebssystem? Übersicht. Ziele. Grundlagen. Das ist nur die Oberfläche... Wissen, was man unter einem Betriebssystem versteht Betriebssysteme Grundlagen Quellen: InSy Folien zum Thema Unix/Linux Wikipedia Das ist nur die Oberfläche... 1 Ziele 2 Übersicht Wissen, was man unter einem Betriebssystem versteht Was Was ist istein einbetriebssystem?

Mehr

I Grundlagen der System-Administration 8

I Grundlagen der System-Administration 8 Inhaltsverzeichnis I Grundlagen der System-Administration 8 1 Starten und Anhalten des Systems 9 1.1 Überblick über den Boot-Vorgang................... 9 1.2 Der Bootmanager LILO.........................

Mehr

Basisinformationstechnologie I Wintersemester 2011/ November 2011 Betriebssysteme

Basisinformationstechnologie I Wintersemester 2011/ November 2011 Betriebssysteme Basisinformationstechnologie I Wintersemester 2011/12 23. November 2011 Betriebssysteme Seminarverlauf 12. Oktober: Organisatorisches / Grundlagen I 19. Oktober: Grundlagen II 26. Oktober: Grundlagen III

Mehr

Linux-Companion zur Systemadministration

Linux-Companion zur Systemadministration Jochen Hein Linux-Companion zur Systemadministration Einrichtung, Wartung und Software-Updates ADDISON-WESLEY PUBLISHING COMPANY Bonn Reading, Massachusetts Menlo Park, California New York Don Mills, Ontario

Mehr

Linux Installation Party

Linux Installation Party Installation Party powered by FaRaFIN and Netz39 e. V. Alexander Dahl aka LeSpocky http://www.netz39.de/ 2013-04-17 Alexander Dahl ([email protected]) Linux Installation Party 2013-04-17 1 / 13 Geschichte

Mehr

Leitfaden zur IT-Sicherheit für Anwender. PRESS Professional Learning

Leitfaden zur IT-Sicherheit für Anwender. PRESS Professional Learning Leitfaden zur IT-Sicherheit für Anwender PRESS Professional Learning Diese Broschüre zeigt in der Einführung den allgemeinen Trend in der Computertechnik auf. Zum besseren Verständnis werden zudem potentielle

Mehr

Bibliotheks-basierte Virtualisierung

Bibliotheks-basierte Virtualisierung Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2015/2016 V. Sieh Bibliotheks-basierte Virtualisierung (WS15/16)

Mehr

Operating System Kernels

Operating System Kernels Operating System Kernels von Patrick Bitterling 1 Themenübersicht -Eine Einleitung über Kernel -Begriffserklärung, Architekturen -Kernel Subsysteme -Prozess-Scheduling, Speichermanagement,... -Der Networking

Mehr

ReactOS das zu Windows binärkompatible Open-Source- Betriebssystem

ReactOS das zu Windows binärkompatible Open-Source- Betriebssystem ReactOS das zu Windows binärkompatible Open-Source- Betriebssystem Matthias Kupfer ([email protected]) ReactOS Deutschland e.v. Aleksey Bragin ([email protected]) Projektkoordinator 14.03.2010 1 Überblick

Mehr

Betriebssysteme Betriebssysteme und. Netzwerke. Netzwerke Theorie und Praxis

Betriebssysteme Betriebssysteme und. Netzwerke. Netzwerke Theorie und Praxis Einführung Einführung in in Betriebssysteme Betriebssysteme und und Theorie und Praxis Theorie und Praxis Oktober 2006 Oktober 2006 Prof. Dr. G. Hellberg Prof. Dr. G. Hellberg Email: [email protected]

Mehr

LINUX-WORKSHOP. WINTEROPHASE 17/18 Heiko Carrasco

LINUX-WORKSHOP. WINTEROPHASE 17/18 Heiko Carrasco LINUX-WORKSHOP WINTEROPHASE 17/18 Heiko Carrasco VORTRAG LIVE https://tinyurl.com/linux-vortrag ABOUT ME Linux Nutzer seid ~2009 Komplett umgestiegen ~2012 WAS IST LINUX? Als Linux oder GNU/Linux bezeichnet

Mehr

Konzepte von Betriebssystemkomponenten Referat am Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner

Konzepte von Betriebssystemkomponenten Referat am Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner Konzepte von Betriebssystemkomponenten Referat am 24.11.2003 Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner Gliederung Adressräume Page Faults Demand Paging Copy

Mehr

C++GUI Programmierung mit Qt 4

C++GUI Programmierung mit Qt 4 Jasmin Blanchette MarkSummerfield C++GUI Programmierung mit Qt 4 Die offizielle Einführung mit einem Vorwort von Matthias Ettrich ADDISON-WESLEY An imprint of Pearson Education München Boston San Francisco

Mehr

Handbuch SEBLOD. Mehr als nur das Standard-Joomla!: Das Content Construction Kit SEBLOD in der Praxis. Axel Tüting

Handbuch SEBLOD. Mehr als nur das Standard-Joomla!: Das Content Construction Kit SEBLOD in der Praxis. Axel Tüting Axel Tüting SEBLOD Handbuch Mehr als nur das Standard-Joomla!: Das Content Construction Kit SEBLOD in der Praxis. Installation, Konfiguration und Erweiterung mit bestehenden Apps Alles für die eigene App:

Mehr

Advanced IT-Basics. Referenten: Olga Assmus Marc Pawlowski 28.05.14

Advanced IT-Basics. Referenten: Olga Assmus Marc Pawlowski 28.05.14 Advanced IT-Basics Referenten: Olga Assmus Marc Pawlowski 28.05.14 Was ist Linux? Bezeichnet nur den Kernel Betriebssystemkern: - legt Betriebs- und Datenorganisation fest, auf der die weitere Software

Mehr

Wissenschaftlich mit Excel arbeiten

Wissenschaftlich mit Excel arbeiten Wissenschaftlich mit Excel arbeiten Bibliografische Information Der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische

Mehr

Verfasser: Stefan Fritzen Thema : Die Netzwerkkarte Autor : Stefan Fritzen Fach : Kommunikation -1-

Verfasser: Stefan Fritzen Thema : Die Netzwerkkarte Autor : Stefan Fritzen Fach : Kommunikation -1- Thema : Die Netzwerkkarte Autor : Stefan Fritzen Fach : Kommunikation -1- Inhaltsverzeichnis : Seitenangabe : 1. Deckblatt 2. Inhaltsverzeichnis 3. Einleitung 4. Aufbau der Netzwerkkarte 5. Bild einer

Mehr

SLT Schwabacher Linuxtage 2009 Herzlich willkommen. Peter Botschafter / sudo

SLT Schwabacher Linuxtage 2009 Herzlich willkommen. Peter Botschafter / sudo SLT Schwabacher Linuxtage 2009 Herzlich willkommen Entstehung / Geschichte Was ist Linux Linux ist nicht Windows Warum Linux Distributionen Welche Distributionen Unterschiede Live oder Installation Grafik

Mehr

Dokumentation QuickHMI Erste Schritte

Dokumentation QuickHMI Erste Schritte Dokumentation QuickHMI Erste Schritte Version 5.1 Indi.Systems GmbH Universitätsallee 23 D-28359 Bremen [email protected] Tel. + 49 421-989703-30 Fax + 49 421-989703-39 Inhaltsverzeichnis 1 Vorwort...

Mehr

Aufbau eines modernen Betriebssystems (Windows NT 5.0)

Aufbau eines modernen Betriebssystems (Windows NT 5.0) Aufbau eines modernen Betriebssystems (Windows NT 5.0) Moritz Mühlenthaler 14.6.2004 Proseminar KVBK Gliederung 1.Das Designproblem a) Überblick b) Design Goals c) Möglichkeiten der Strukturierung 2. Umsetzung

Mehr

So funktionieren Computer

So funktionieren Computer So funktionieren Computer Ein visueller Streifzug durch den Computer & alles, was dazu gehört Ron White Illustrationen: Timothy Edward Downs und Sarah Ishida Alcantara Übersetzung aus dem Amerikanischen:

Mehr

Excel Basiswissen

Excel Basiswissen Excel 2013 Basiswissen Verlag: BILDNER Verlag GmbH Bahnhofstraße 8 94032 Passau http://www.bildner-verlag.de [email protected] Tel.: +49 851-6700 Fax: +49 851-6624 Autorinnen: Anja Schmid, Inge Baumeister,

Mehr

Bernd Bleßmann, Jörg Bleßmann. Linux. Aufbau und Einsatz eines Betriebssystems. 1. Auflage. HLuHB Darmstadt. Bestellnummer Bildungsverlag EINS

Bernd Bleßmann, Jörg Bleßmann. Linux. Aufbau und Einsatz eines Betriebssystems. 1. Auflage. HLuHB Darmstadt. Bestellnummer Bildungsverlag EINS Bernd Bleßmann, Jörg Bleßmann Linux Aufbau und Einsatz eines Betriebssystems 1. Auflage Bestellnummer 01146 HLuHB Darmstadt 15917903 Bildungsverlag EINS Vorwort 7 1 Betriebssysteme 9 1.1 Die Aufgaben des

Mehr

Word Basiswissen

Word Basiswissen Word 2013 Basiswissen Verlag: BILDNER Verlag GmbH Bahnhofstraße 8 94032 Passau http://www.bildner-verlag.de [email protected] Tel.: +49 851-6700 Fax: +49 851-6624 ISBN: 978-3-8328-0057-4 Autorin:

Mehr

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Name: Matrikel-Nr: Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Bitte schreiben Sie leserlich und antworten Sie kurz und präzise. 1. Zeichnen Sie das Schichten-Modell eines Computersystems und markieren

Mehr

Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind

Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind Betriebssysteme Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind Umfaßt z.b. auch Compiler, Interpreter und Dienstprogramme

Mehr

USB-Parallel- Adapter Projektbeschreibung zum USB-Parallel-Adapter für das mysmartusb Board

USB-Parallel- Adapter Projektbeschreibung zum USB-Parallel-Adapter für das mysmartusb Board Dipl. Ing. Toralf Riedel Dipl. Ing. Päd. Alexander Huwaldt USB-Parallel- Adapter Projektbeschreibung zum USB-Parallel-Adapter für das mysmartusb Board Seite: 2 / 6 Die Informationen in diesem Produkt werden

Mehr

Objektorientiertes Programmieren in C++

Objektorientiertes Programmieren in C++ Nicolai Josuttis Objektorientiertes Programmieren in C++ Von der Klasse zur Klassenbibliothek D-64289 Darmstadt ADDISON-WESLEY PUBLISHING COMPANY Bonn Paris Reading, Massachusetts Menlo Park, California

Mehr

Literatur und Links. Webtechnologien SS 2017 Teil 1/Entwicklung

Literatur und Links. Webtechnologien SS 2017 Teil 1/Entwicklung Literatur und Links [1-1] Seidler, Kai; Vogelsang, Kay: Das XAMPP Handbuch. Addison-Wesley, 2006 [1-2] http://www.apachefriends.org/download.html http://sourceforge.net/projects/xampp/files/ [1-3] http://aktuell.de.selfhtml.org/extras/download.shtml

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 21.11.2012 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Testat nach Weihnachten Mittwoch

Mehr

Betriebssystemschichten (11.03.2011)

Betriebssystemschichten (11.03.2011) Proseminar Speicher- und Dateisysteme (11.03.2011) Bernd Ihnen Übersicht 2/20 Einleitung Betriebssysteme/ Übersicht Mikrokernel Monolithischer Kernel Vergleich der Kernel Fallbeispiel Linux Kernelaufbau

Mehr

Linux Paging, Caching und Swapping

Linux Paging, Caching und Swapping Linux Paging, Caching und Swapping Inhalte Paging Das Virtuelle Speichermodell Die Page Table im Detail Page Allocation und Page Deallocation Memory Mapping & Demand Paging Caching Die verschiedenen Caches

Mehr

Systemsoftware (SYS) Fakultät für Informatik WS 2007/2008 Christian Baun. Übungsklausur

Systemsoftware (SYS) Fakultät für Informatik WS 2007/2008 Christian Baun. Übungsklausur Hochschule Mannheim Systemsoftware (SYS) Fakultät für Informatik WS 2007/2008 Christian Baun Übungsklausur Aufgabe 1: Definieren Sie den Begriff der Systemsoftware. Nennen Sie die Aufgaben und Komponenten

Mehr

GeoShop Netzwerkhandbuch

GeoShop Netzwerkhandbuch Technoparkstrasse 1 8005 Zürich Tel.: 044 / 350 10 10 Fax.: 044 / 350 10 19 GeoShop Netzwerkhandbuch Zusammenfassung Diese Dokumentation beschreibt die Einbindung des GeoShop in bestehende Netzwerkumgebungen.

Mehr

Virtueller Speicher und Memory Management

Virtueller Speicher und Memory Management Virtueller Speicher und Memory Management Speicher-Paradigmen Programmierer ein großer Adressraum linear adressierbar Betriebssystem eine Menge laufender Tasks / Prozesse read-only Instruktionen read-write

Mehr

Teil 3: Konzepte von Betriebssystemen

Teil 3: Konzepte von Betriebssystemen Teil 3: Konzepte von Betriebssystemen Inhalt: Einführung Prozesse Speicherverwaltung Virtueller Speicher 1 Definition eines Betriebssystems Was ist ein Betriebssystem? einfache Definition: Als Betriebssystem

Mehr

ReactOS das zu Windows binärkompatible Open-Source- Betriebssystem. Matthias Kupfer ([email protected]) ReactOS Deutschland e.v.

ReactOS das zu Windows binärkompatible Open-Source- Betriebssystem. Matthias Kupfer (mkupfer@reactos.org) ReactOS Deutschland e.v. ReactOS das zu Windows binärkompatible Open-Source- Betriebssystem Matthias Kupfer ([email protected]) ReactOS Deutschland e.v. Überblick Der Build Prozess Einführung Geschichte von ReactOS Windows NT

Mehr

Inhaltsverzeichnis VII. Teil I: PC- und Mikrocomputer-Technik

Inhaltsverzeichnis VII. Teil I: PC- und Mikrocomputer-Technik VII Teil I: PC- und Mikrocomputer-Technik 1 Interne Darstellung von Informationen... 2 1.1 Darstellung positiver ganzer Zahlen... 2 1.1.1 Binär- und Hexadezimalsystem... 3 1.1.2 Umrechnungsverfahren...

Mehr

Rüdiger Brause. Betriebssysteme. Grundlagen und Konzepte. Dritte, überarbeitete Auflage Mit 170 Abbildungen. Springer

Rüdiger Brause. Betriebssysteme. Grundlagen und Konzepte. Dritte, überarbeitete Auflage Mit 170 Abbildungen. Springer Rüdiger Brause Betriebssysteme Grundlagen und Konzepte Dritte, überarbeitete Auflage Mit 170 Abbildungen Springer In hal tsverzei c h n is 1 Übersicht...... 1 1.1 Einleitung: Was ist ein Betriebssystem?...

Mehr

Network-Attached Storage mit FreeNAS

Network-Attached Storage mit FreeNAS Network-Attached Storage mit FreeNAS Diese Anleitung zeigt das Setup eines NAS-Servers mit FreeNAS. FreeNAS basiert auf dem OS FreeBSD und unterstützt CIFS (samba), FTP, NFS, RSYNC, SSH, lokale Benutzer-Authentifizierung

Mehr

Windows 8 Apps entwickeln

Windows 8 Apps entwickeln Windows 8 Apps entwickeln Apps für die neue Oberfläche von Windows 8 Entwickeln mit HTML5, JavaScript, XAML und C# Von den Grundlagen der Programmiersprachen bis zur fertigen App Windows 8 Apps entwickeln

Mehr

UNIX und C. Einleitung

UNIX und C. Einleitung UNIX und C Einleitung 1 Themen UNIX Geschichte Eigenschaften Aufbau Shells Filesystem Wichtige Kommandos und Programme Einführung in C Arbeit mit C unter UNIX Kopplung von C-C und JAVA-Programmen Webseiten-Programmierung

Mehr

Webtechnologien Teil 1: Entwicklungsumgebung(en)

Webtechnologien Teil 1: Entwicklungsumgebung(en) Webtechnologien Teil 1: Entwicklungsumgebung(en) 05.04.17 1 Literatur und Links [1-1] Seidler, Kai; Vogelsang, Kay: Das XAMPP Handbuch. Addison-Wesley, 2006 [1-2] http://www.apachefriends.org/download.html

Mehr

Systeme 1. Kapitel 3 Dateisysteme WS 2009/10 1

Systeme 1. Kapitel 3 Dateisysteme WS 2009/10 1 Systeme 1 Kapitel 3 Dateisysteme WS 2009/10 1 Letzte Vorlesung Dateisysteme Hauptaufgaben Persistente Dateisysteme (FAT, NTFS, ext3, ext4) Dateien Kleinste logische Einheit eines Dateisystems Dateitypen

Mehr

RO-Tutorien 15 und 16

RO-Tutorien 15 und 16 Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 10 am 29.06.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft

Mehr

PVFS (Parallel Virtual File System)

PVFS (Parallel Virtual File System) Management grosser Datenmengen PVFS (Parallel Virtual File System) Thorsten Schütt [email protected] Management grosser Datenmengen p.1/?? Inhalt Einführung in verteilte Dateisysteme Architektur

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

PowerPoint Professionell Präsentieren. Inge Baumeister

PowerPoint Professionell Präsentieren. Inge Baumeister PowerPoint 2016 Professionell Präsentieren Inge Baumeister Inhalt Verlag: BILDNER Verlag GmbH Bahnhofstraße 8 94032 Passau http://www.bildner-verlag.de [email protected] Tel.: +49 851-6700 Fax: +49

Mehr

Aufbau einer Testumgebung mit VMware Server

Aufbau einer Testumgebung mit VMware Server Aufbau einer Testumgebung mit VMware Server 1. Download des kostenlosen VMware Servers / Registrierung... 2 2. Installation der Software... 2 2.1 VMware Server Windows client package... 3 3. Einrichten

Mehr

Die L4-Mikrokern. Mikrokern-Familie. Hauptseminar Ansätze für Betriebssysteme der Zukunft. Michael Steil. Michael Steil 18.04.2002

Die L4-Mikrokern. Mikrokern-Familie. Hauptseminar Ansätze für Betriebssysteme der Zukunft. Michael Steil. Michael Steil 18.04.2002 Die L4-Mikrokern Mikrokern-Familie Hauptseminar Ansätze für Betriebssysteme der Zukunft 18.04.2002 Folie 1 Aufbau des Vortrags 1. Mikrokerne: Idee und Geschichte 2. L4: ein schneller Mikrokern 3. L4Linux:

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 20.11.2013 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Wdhlg.: Attributinformationen in

Mehr

Partitionieren und Formatieren

Partitionieren und Formatieren Partitionieren und Formatieren Auf eine Festplatte werden Partitionen angelegt, damit Daten an verschiedenen (relativ) unabhängigen Orten gespeichert werden können oder dass mehrere unabhängige Betriebssysteme

Mehr

Linux Eine Alternative?

Linux Eine Alternative? Linux Eine Alternative? Agenda Lagebericht Grundlagen von Linux Linux Vor- und Nachteile Einsatzgebiete Kosten Ausblick 1 Durchbruch für Linux Kampf gegen Linux 2 Was ist Linux? UNIX wurde 1969 von der

Mehr

YouTube. Richtig nutzen von Anfang an!

YouTube. Richtig nutzen von Anfang an! YouTube Richtig nutzen von Anfang an! Verlag: BILDNER Verlag GmbH Bahnhofstraße 8 94032 Passau http://www.bildner-verlag.de [email protected] Tel.: +49 851-6700 Fax: +49 851-6624 ISBN: 978-3-8328-5280-1

Mehr

Christian Haasz. Das Buch für alle, die gute Fotos mögen. DIGITAL fotografieren. tiv. an ans Mo

Christian Haasz. Das Buch für alle, die gute Fotos mögen. DIGITAL fotografieren. tiv. an ans Mo DIGITAL fotografieren en an ans Mo tiv Ran ans Motiv Digital fotografieren DIGITAL fotografieren en Ran ans Motiv Bibliografische Information der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet

Mehr

Android- Handbuch. 4., aktualisierte und erweiterte Auflage

Android- Handbuch. 4., aktualisierte und erweiterte Auflage Großes Kapitel zur Sicherheit und Privatsphäre 4., aktualisierte und erweiterte Auflage Andreas Itzchak Rehberg Android- Handbuch Einsteiger-Workshop, Apps, Datensicherung, Sicherheit, Privatsphäre, Tuning,

Mehr

Programmieren mit Java

Programmieren mit Java Reinhard Schiedermeier Programmieren mit Java 2., aktualisierte Auflage ein Imprint von Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario Sydney Mexico City Madrid Amsterdam

Mehr

Freiberuflicher IT-Berater Schwerpunkte: Unix, Oracle, Netzwerk. www.jj-it.de. www.jj-it.de. Dipl.-Inform. Joachim Jäckel

Freiberuflicher IT-Berater Schwerpunkte: Unix, Oracle, Netzwerk. www.jj-it.de. www.jj-it.de. Dipl.-Inform. Joachim Jäckel Freiberuflicher Schwerpunkte: Unix, Oracle, Netzwerk 2005 1 Testaufbauten von Oracle 10g RAC auf preiswerter Hardware 2 3 Typisches Cluster System Clients Public Network Node A Node B Cluster Interconnect

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 21.12.2016 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Irmtraut Meister / Lukas Salzburger AVR- Mikrocontroller-Kochbuch Entwurf und Programmierung praktischer Anwendungen

Irmtraut Meister / Lukas Salzburger AVR- Mikrocontroller-Kochbuch Entwurf und Programmierung praktischer Anwendungen PC & ELEKTRONIK Irmtraut Meister / Lukas Salzburger AVR- Mikrocontroller-Kochbuch Entwurf und Programmierung praktischer Anwendungen Irmtraut Meister / Lukas Salzburger AVR-Mikrocontroller-Kochbuch PC

Mehr

Erlangen von Administrator-Privilegien unter Microsoft Windows NT 4.0 durch Ausnutzung einer Sicherheitslücke im Systemcache

Erlangen von Administrator-Privilegien unter Microsoft Windows NT 4.0 durch Ausnutzung einer Sicherheitslücke im Systemcache Erlangen von Administrator-Privilegien unter Microsoft Windows NT 4.0 durch Ausnutzung einer Sicherheitslücke im Systemcache Ein Bericht aus der Projektarbeit im Rahmen der Vorlesung Informationssicherheit

Mehr

Betriebssysteme Teil 16: Dateisysteme (Beispiele)

Betriebssysteme Teil 16: Dateisysteme (Beispiele) Betriebssysteme Teil 16: Dateisysteme (Beispiele) 21.01.16 1 Übersicht UNIX-Dateisystem (ext2) Super-User unter Linux werden MSDOS: FAT16 und FAT32 Die in diesem Teil vorgestellten Informationen stellen

Mehr

2.3 - Das Verwaltungsmodul moveon installieren - SQL-Version

2.3 - Das Verwaltungsmodul moveon installieren - SQL-Version 2.3 - Das Verwaltungsmodul moveon installieren - SQL-Version Das Verwaltungsmodul moveon besteht aus zwei Komponenten: dem moveon Client und der moveon Datenbank. Der moveon Client enthält alle Formulare,

Mehr

Speicher- und Cacheverwaltung unter Linux. Ralf Petring & Guido Schaumann

Speicher- und Cacheverwaltung unter Linux. Ralf Petring & Guido Schaumann Speicher- und Cacheverwaltung unter Linux Ralf Petring & Guido Schaumann Übersicht Virtueller Adressraum Virtuelle Speicheraufteilung Reale Speicheraufteilung Speicherverwaltung Speicherzugriff Auslagerungsstrategien

Mehr

RELEASE 5 Lotus Notes als Datenquelle

RELEASE 5 Lotus Notes als Datenquelle Intrexx Professional RELEASE 5 Lotus Notes als Datenquelle Inhaltsverzeichnis 1. Einführung... 3 2. JAR-File installieren... 3 3. Datenquelle erstellen... 3 4. Lizenzschlüssel eingeben... 5 Copyright Das

Mehr