PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN
|
|
|
- Edwina Krause
- vor 8 Jahren
- Abrufe
Transkript
1 PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN 3. UNIX/Linux-Dateisysteme und zugehörige Systemaufrufe und Kommandos (Teil I) Wintersemester 206/7
2 UNIX/Linux-Dateisystem(e) Systemaufrufe zur Dateiarbeit: creat(...) Erzeugen einer neuen Datei open(...) close(...) Öffnen einer bereits existierenden Datei (auch bei entsprechenden Parameterangaben: erzeugen einer neuen Datei) schließen einer Datei (nach Beendigung der Dateiarbeit) read(...) write(...) Lesen aus einer Datei Schreiben in eine Datei lseek(...) Einstellen des Lese-/Schreibzeigers einer Datei ws 206/7 H.-A. Schindler Folie: 3-2
3 Organisation einer Festplatte unter UNIX Dateiblöcke (Boot- Block) Superblock i-nodes Metadaten Indexblock Zugriffsrechte Link-Zähler uid gid Datei-Länge Adressen der ersten 0 direktenblöcke Einfach Indirekt Zweifach Indirekt Dreifach Indirekt Darstellung nach /Nehmer+98/ Bild 9-2 S.279 ws 206/7 H.-A. Schindler Folie: 3-3
4 Verwaltungsstruktur inode inodes existieren als statische Strukturen zunächst auf Festplatte. ein Datenträger-inode enthält folgende Komponenten: Eigentümer und Gruppe des Eigentümers Zugriffsrechte( rwx jeweils für: Eigentümer / Gruppe / andere), Typ der Datei (regulär / Verzeichnis / Pipe /...) Zeitpunkt der letzten Dateiänderung Zeitpunkt des letzten Dateizugriffs Zeitpunkt der letzten Änderung dieses inodes Anzahl der Links auf zugehörige Datei Dateilänge (in Byte) Blocknummern der Dateiblöcke - 0 Adressen auf direkte Dateiblöcke - Adresse auf einfach-indirekten Block - Adresse auf doppelt-indirekten Block - Adresse auf dreifach-indirekten Block ws 206/7 H.-A. Schindler Folie: 3-4
5 UNIX/LINUX-Dateien: Gestreute Speicherung der Dateiblöcke Block-Nummerierung auf Datenträger 4 5 Beginn der Datei 3 EOF (end of file) [Dateiende] Nummerierung der Blöcke innerhalb einer Datei 34 2 Verkettung Vorteile: Editier-Operationen effizient implementierbar Nachteile: serielles Lesen nicht zeiteffizient größere Gleichlaufschwankungen (Jitter) beim Auslesen ws 206/7 H.-A. Schindler Folie: 3-5
6 Gestreute Speicherung: Verkettung über Indexblock (Prinzip) Datei-Name Index-Block Datei 9 Datei2... Verzeichnis - (Directory) Ausschnitt nicht belegt = EOF Inhalt des Indexblocks Darstellung nach /Silberschatz+9/ Bild 9.6 S.343 ws 206/7 H.-A. Schindler Folie: 3-6
7 echte Datenblöcke UNIX/LINUX: Indirekte Adressierung von Dateiblöcken Datei-Name inode-nr. Datei 00 Datei2... Verzeichnis- Ausschnitt Sekundäre usw. Indexblöcke (Benutzung abhängig von Datei-Länge) Datei- Attribute direkt(0) direkt() direkt(2) direkt(3) direkt(4) direkt(5) direkt(6) direkt(7) direkt(8) direkt(9) einfach indirekt doppelt indirekt dreifach indirekt Index-Block (innerhalb eines inode) Darstellung nach /Inf-Handbuch/ Bild S.542 ws 206/7 H.-A. Schindler Folie: 3-7
8 Systemaufruf creat(..) erzeugt neue Datei Verwendung im Programm (Prinzip): int <id_file>; I <id_file> = creat( <pathname>, <mode>); Konkretes Beispiel: int fd; I fd = creat( NeueDatei, 0700); <id_file> int >=3 Identifikator(Nummer) einer von einem bestimmten Prozess geöffneten Datei (Eintrag in der ufd-struktur des Prozeskontrollblocks) - Systemaufruf fehlgeschlagen <pathname> <mode> int Pfadname der Datei, ausgehend vom aktuellen Verzeichnis bzw. absolut Zugriffsrechte auf neue Datei (Angabe als Oktalzahl: z.b = rwxrwx---) folgende Folien ws 206/7 H.-A. Schindler Folie: 3-8
9 Programm creat.c main() { } int fd; fd= creat("neuedatei", 0700); /* 0700: Zugriffsrechte (oktal): rwx------*/ ws 206/7 H.-A. Schindler Folie: 3-9
10 UNIX/Linux-Zugriffsrechte ( Permissions ) Bei UNIX-Systemen basieren Zugriffsrechteauf verschiedenste Objekte (z.b. Dateien, diverse Kontrollblöcke, Message-Queues usw.) auf einem Eigentümer/Nutzergruppen-Konzept Jedes derartige Objekt hat einen Eigentümer, der einer bestimmten Nutzer- Gruppe (ggf. auch mehreren) angehört. Als mögliche Zugriffsarten sind definiert: Lesen: r ( read ) Schreiben: w ( write) Ausführen: x ( execute ) Zugriffsrechte werden dann gesondert in der Reihenfolge: Eigentümer Gruppe alle anderen Nutzer ( world ) an diese vergeben (und können durch den Eigentümer auch geändert werden). ws 206/7 H.-A. Schindler Folie: 3-0
11 Symbolische Darstellung der Zugriffsrechte Bei Darstellungen wird ein gesetztes Recht durch das jeweilige Zeichen r, w oder x symbolisiert ein nicht gesetztes durch einen Strich. (vergleiche z.b. die Ausgabe des Kommandos ls l?, welches u.a. die für die jeweils betrachteten Dateien die Zugriffsrechte ausgibt.) Beispiele:.) r w x r r bei einer Datei: Eigentümer: darf Datei lesen, schreiben (d.h. Ändern oder Löschen) und ausführen (sinnvoll natürlich nur bei ausführbaren Dateien) Mitglieder der Gruppe: nur Lesen erlaubt alle Anderen: gleichfalls nur Lesen erlaubt 2.) r w x r x x bei einer Datei: Eigentümer: darf Datei lesen, schreiben und ausführen Mitglieder der Gruppe: dürfen lesen und ausführen alle Anderen: dürfen nur Ausführen ws 206/7 H.-A. Schindler Folie: 3 -
12 Symbolische Darstellung der Zugriffsrechte binäre Darstellung: gesetzte Rechte werden als L (= ) interpretiert, nicht gesetzte als 0 (Null) Beispiele:.) r w x r r ) r w x r x x 000 Darstellung als Oktalzahl: jeweils 3 Rechte zusammengefasst: Beispiele:.) r w x r r ) r w x r x r ws 206/7 H.-A. Schindler Folie: 3-2
13 Öffnen von Dateien: Systemaufruf open(... ) Bevor Lese- oder Schreibzugriffe auf eine (existierende) Datei ausgeführt werden können, muss diese (durch jeweiligen Prozess) geöffnet werden. Warum? Zugriff auf Festplatte: wesentlich langsamer als Hauptspeicherzugriff Geschwindigkeitssteigerung: so wenig Plattenzugriffe, wie möglich:. Nur einmal Durchhangeln durch Verzeichnisstruktur, dann Zugriff über Identifikator id_file 2. Verwaltungsstrukturen für Festplatte ( Superblock ) u. Datei ( inode ) in Hauptspeicher geladen durch open(..) oder creat(..) veranlasst [nach Änderung Zurückschreiben nötig!! sync()] 3. Lesen u. Schreiben von Dateiblöcken über Dateicache im Hauptspeicher ws 206/7 H.-A. Schindler Folie: 3-3
14 open(... ) öffnet existierende Datei oder erzeugt neue Datei Verwendung im Programm (Prinzip): int <id_file>; I <id_file> = open( <pathname>, <mode> ); Konkretes Beispiel: int fd; I fd = open( NeueDatei, 2); <id_file> int wie bei creat(..) <pathname> wie bei creat(..) <mode> int anders als bei creat: O_RDONLY (= 0)... nur zum Lesen öffnen O_WRONLY (= )... nur zum Schreiben öffnen O_RDWR (= 2)... zum Lesen und Schreiben öffnen (weitere Angaben möglich, siehe Literatur) ws 206/7 H.-A. Schindler Folie: 3-4
15 Daten-Strukturen im HS für unmittelbare Dateizugriffe nach open(..) user file descriptor table (in User-Struktur des PCB) file table Read 2 inode table (/etc/passwd) Rd-Wrt (local) id_file_ = open( /etc/passwd, O_RDONLY); id_file_2 = open( local, O_RDWR); id_file_3 = open( /etc/passwd, O_WRONLY); Write (im Adressbereich des Betriebssystemkerns) Darstellung nach /Bach86/ Bild 5.3 S. 94 ws 206/7 H.-A. Schindler Folie: 3-5
16 Daten-Strukturen nachdem 2 Prozesse Dateien geöffnet haben user file descriptor table (Prozess ) file table 7 Read Rd-Wrt Read 3 inode table (/etc/passwd) (local) (Prozess 2) id_file_4 = open( /etc/passwd, O_RDONLY); id_file_5 = open( private, O_RDONLY); Write Read (private) (im Adressbereich des Betriebssystemkerns) Darstellung nach /Bach86/ Bild 5.4 S. 95 ws 206/7 H.-A. Schindler Folie: 3-6
17 Systemaufruf close(...) schließt(zuvor geöffnete oder erzeugte) Datei Aufruf im Programmtext: <result> = close(<id_file>); <result> int 0: fehlerfreie Ausführung -: Systemaufruf fehlgeschlagen <id_file> int Rückkehrwert bei open(..) bzw. creat(..), siehe dort ws 206/7 H.-A. Schindler Folie: 3-7
18 Daten-Strukturen nachdem Prozess Datei wieder geschlossen hat user file descriptor table (Prozess ) NULL file table 7 Read Rd-Wrt Read 3 inode table (/etc/passwd) (local) (Prozess 2) Write result = close(id_file_5); (im Adressbereich des Betriebssystemkerns) Darstellung nach /Bach86/ Bild 5. S. 05 ws 206/7 H.-A. Schindler Folie: 3-8
19 Systemaufruf read(...) liest aus(zuvor geöffneter) Datei Aufruf im Programmtext: <rbyte> = read(<id_file>, <address>, <nbyte>); <rbyte> int Anzahl der tatsächlich gelesenen Byte <id_file> int Rückkehrwert von open(..), siehe dort <address> int Adresse im Programm, ab der die aus der Datei gelesenen Daten unterzubringen sind <nbyte> int Anzahl der Byte, die gelesen werden sollen ws 206/7 H.-A. Schindler Folie: 3-9
20 Programm openread.c #include <stdio.h> main() { int i, fd, rbytes; char buffer[000]; // Puffer vorab "saeubern" for(i = 0; i < 000; i++) buffer[i] = '\0'; fd= open("./openread.c", 0); rbytes = read(fd, buffer, 000); } printf("\n\ninterne Datei-Nr:%d\n\nGELESENE ZEICHEN: \ Anzahl:%d\nTEXT:\n\n%00s\n\n", fd, rbytes, buffer); ws 206/7 H.-A. Schindler Folie: 3-20
21 Systemaufruf write(...) schreibt in(zuvor geöffnete bzw. erzeugte) Datei Aufruf im Programmtext: <wbyte> = write(<id_file>, <address>, <nbyte>); <wbyte> int Anzahl der tatsächlich geschriebenen Byte <id_file> int Rückkehrwert von open(..) bzw. creat(..), siehe dort <address> int Anfangsadresse eines Programmbereichs, ab der in die Datei zu schreibende Daten stehen <nbyte> int Anzahl der Byte, die geschrieben werden sollen ws 206/7 H.-A. Schindler Folie: 3-2
22 Programm openwrite.c char buffer[] = "Dieser Text soll in die Datei "; main() { } int fd, wbytes; fd= open("neuedatei", 2); wbytes = write(fd, buffer, 29); ws 206/7 H.-A. Schindler Folie: 3-22
23 Systemaufruf lseek(...) stellt Lese-/Schreibzeiger einer(zuvor geöffneten) Datei ein Aufruf im Programmtext: <position> = lseek(<id_file>, <offset>, <reference>); <position> long eingestellte Position <id_file> int Rückkehrwert von open(..), siehe dort <offset> long Größe der Änderung des aktuellen Zeigerwerts <reference> int Bezugspunkt, auf den sich offset bezieht SEEK_SET... Dateianfang SEEK_CUR... aktueller Zeigerwert SEEK_END... Dateiende ws 206/7 H.-A. Schindler Folie: 3-23
24 Zusammenhänge <address> Daten- Bereich read(..) write(..) <position> Lese-/Schreibzeiger Einstellung: lseek(..) Prozess (Programm) Datei (auf Festplatte) ohne Berücksichtigung einzelner Blöcke ws 206/7 H.-A. Schindler Folie: 3-24
25 Realisierung der Read- und Write-Funktionen über Dateipuffer inode Dateizeiger im Hauptspeicher Dateipuffer Pufferposition Ortsinformation Externer Speicher (Festplatte) Darstellung nach /Nehmer+98/ Bild 9-2 S.263 ws 206/7 H.-A. Schindler Folie: 3-25
26 Kommandos und #include-dateien Anzeigen von i-node-informationen: Kommando ls ( list Iauflisten) mit Parameter l ( long ): ls l <name> wird größte Informationsmenge geliefert zur Arbeit mit Dateien werden benötigt: #include <stdio.h> // zur Ausführung von E/A-Operationen [meist printf(...)] #include <sys/types.h> // wegen Definitionen spezieller Datentypen #include <fcntl.h> // spezielle Definitionen zu Dateien ws 206/7 H.-A. Schindler Folie: 3-26
27 Aufgabenstellung. Verwenden Sie Beispielprogramm creat.c welches eine neue Datei im aktuellen Verzeichnis erzeugt. Überprüfen Sie, ob nach einer Ausführung des übersetzten Programms die gewünschte Datei existiert, welche Länge und welchen Inhalt sie hat und ob die spezifizierten Zugriffsrechte gesetzt sind. (Verwenden Sie u.a. das UNIX-Kommando ls l.) Sie können mit geänderten Zugriffsrechten und z.b. absoluten Pfadnamen weiter experimentieren. Überprüfen Sie auch, ob ein spezifizierter aber nicht existierender Pfad eingerichtet wird. 2. Verwenden Sie jetzt Programm openwrite.c welches in die erzeugte Datei schreibt. Kontrollieren Sie, ob es korrekt arbeitet. Sie können dann z.b. mit geänderten Textlängen, mehrmaligem Schreiben etc. weiter experimentieren. 3. Verwenden Sie jetzt Programm openread.c welches die eigene Quelltext-Datei liest. Kontrollieren Sie, ob es korrekt arbeitet. Interpretieren Sie den Rückgabewert von read(..). ws 206/7 H.-A. Schindler Folie: 3-27
28 Aufgabenstellung 4. Integrieren Sie in das Beispielprogramm openread.c den Systemaufruf lseek(..). Stellen Sie den Lese-/Schreibzeiger so ein, dass Sie nicht (wie ohne lseek(..)) ab Position 0 lesen, sondern z.b. erst ab Position 20 von Beginn, 30 von Dateiende usw. Untersuchen Sie jeweils auch die Rückkehrwerte der Systemaufrufe. ENDE 3 ws 206/7 H.-A. Schindler Folie: 3-28
PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN
PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN 2. UNIX/Linux-Prozessverwaltung und zugehörige Systemaufrufe Wintersemester 2016/17 2. Die UNIX/LINUX-Prozessverwaltung Aufgaben: 1. Erzeugen neuer Prozesse
PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN
PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN 10. UNIX/Linux: Reaktion auf Fehler Wintersemester 2016/17 Reaktion auf Fehler: Übersicht Systemaufrufe: 1. Rückkehrwert: in den meisten (aber nicht in allen!)
FILE *fp; char fname[100];... fp = fopen (fname, rb ); if( fp == NULL ) { perror( fopen );... } // Fehlernachricht auf letzten Fehler, der aufkam
Aktuelle Fileposition ermitteln long pos; pos=ftell(fp); //aktuelle Bytenummer Filelaenge in Bytes fseek(fp,0,seek_end); pos=ftell(fp); Fileendeerkennung int rc; rc = feof (fp) //!= 0 bei Fileende // ==
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
Was machen wir heute? Betriebssysteme Tutorium 10. Frage 10.1.a. Frage 10.1.a
Was machen wir heute? Betriebssysteme Tutorium 10 Philipp Kirchhofer [email protected] http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 1
Dateioperationen Fachhochschule Würzburg-Schweinfurt Prof. Dr. Martin Ochs. Abspeichern und Einlesen von Texten (Strings) in Dateien
Informatik I SS 2003 Dateioperationen 1 Textdateien, Öffnen Abspeichern und Einlesen von Texten (Strings) in Dateien 1. Das Öffnen einer Datei a) Deklaration eines Zeigers auf eine Datei FILE *pfile; b)
Basiskonzepte des Rechnerbetriebs
Universität Potsdam Institut für Informatik Wintersemester 2012 2013 Basiskonzepte des Rechnerbetriebs Aufgabenblatt 2 2 Das UNIX-Dateisystem Arbeiten Sie, wenn nicht anders vermerkt, immer auf der Kommandozeile!
Tafelübung zu BS 4. Dateioperationen
Tafelübung zu BS 4. Dateioperationen Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund [email protected] http://ess.cs.uni-dortmund.de/~os/ http://ess.cs.tu-dortmund.de/de/teaching/ss2013/bs/
Programmiersprachen Einführung in C
Programmiersprachen Einführung in C Teil 10: Arbeiten mit Prof. Dr. Gliederung Programmiersprachen 1. Von der Maschinensprache zu C 2. Die Struktur von C-Programmen 3. Variable und Datentypen in C 4. Bildschirm
Betriebssysteme K_Kap11B: Files, Filesysteme Datenstrukturen
Betriebssysteme K_Kap11B: Files, Filesysteme Datenstrukturen 1 Files als lineare Liste File angeordnet als verkette Liste von Blöcken Jeder Block enthält Zeiger zum Nachfolger Zeiger = Adresse des Blocks
Jeder Datenträger besitzt einen I-Node-Array. Jede Datei auf dem Datenträger hat einen I-Node-Eintrag.
Einführung in die Betriebssysteme Fallstudien zu Dateisystemen Seite 1 Unix-Dateisystem Der Adreßraum einer Datei wird in gleichlange Blöcke aufgeteilt. Ein Block hat die Länge von 1 oder mehreren Sektoren
Dateizugriff unter C
Begriffe Dateizugriff unter C Datei = sequentielle Ansammlung von Datenbytes, z.b. auf einer Festplatte Auch Bildschirm und Tastatur werden wie Dateien behandelt: Bildschirm ist die Datei stdout Tastatur
UNIX-Dateisysteme - Allgemeines
FACHHOCHSCHULE MUENCHEN FACHBEREICH ELEKTROTECHNIK UND INFORMATIONSTECHNIK FG TECHNISCHE INFORMATIK V BS 36 1 TH 7 ----------------------------------------------------------------------------------- UNIX-Dateisysteme
stattdessen: geräteunabhängiges, abstraktes Format für Speicherung und Transfer von Daten Datei
Dateiverwaltung Dateiverwaltung 2002 Prof. Dr. Rainer Manthey Informatik II 1 Dateien weitere zentrale Aufgabe des Betriebssystems: "Verbergen" der Details der Struktur von und der Zugriffe auf Sekundärspeicher-Medien
6.2 FAT32 Dateisystem
6.2 FAT32 Dateisystem Dateisystem für Windows 98 einige Unterschiede zum Linux-Dateisystem EXT2: keine Benutzeridentifikation für Dateien und Verzeichnisse! Partitionen werden durch Laufwerke repräsentiert,
Verzeichnisbaum. Baumartige hierarchische Strukturierung Wurzelverzeichnis (root directory) Restliche Verzeichnisse baumartig angehängt
Verzeichnisbaum Baumartige hierarchische Strukturierung Wurzelverzeichnis (root directory) Restliche Verzeichnisse baumartig angehängt / tmp etc var usr lib home bin man lib meier mueller schulze 1 Verzeichnisse
PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN
PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN 2. UNIX/Linux-Prozessverwaltung und zugehörige Systemaufrufe Wintersemester 2015/16 2. Die UNIX/LINUX-Prozessverwaltung Aufgaben: 1. Erzeugen neuer Prozesse
Dateisysteme. Datei: Objekt zum Abspeichern von Daten Die Datei wird vom Dateisystem als Teil des Betriebssystems verwaltet. c~åüüçåüëåüìäé açêíãìåç
Dateisysteme Datei: Objekt zum Abspeichern von Daten Die Datei wird vom Dateisystem als Teil des Betriebssystems verwaltet. Die Datei hat einen eindeutigen Namen. 0 max Adressraum der Datei Dateilänge
PROGRAMMIEREN MIT UNIX/Linux-SYSTEMAUFRUFEN
PROGRAMMIEREN MIT UNIX/Linux-SYSTEMAUFRUFEN UNIX/Linux-Interprozesskommunikation, zugehörige Systemaufrufe und Kommandos 7. UNIX/Linux-Shared Memory 8. (Benannte) Pipes UNIX/Linux-IPC-Mechanismen Nachrichtenbasierter
MMC/SD FAT 16 mit AVR und C
MMC/SD FAT 16 mit AVR und C Die Bibliothek von Roland Riegel enthält einen kompletten FAT16 Zugriff auf MMC/SD Karten über den SPI eines µc. Anforderungen: - SPI oder 5 freie PINs am Controller - Für den
Verteilte Systeme. Verteilte Systeme. 9 Verteilte Dateisysteme SS 2015
Verteilte Systeme SS 2015 Universität Siegen [email protected] Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 7. Juli 2015 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/13) i
9. Dateisysteme. Betriebssysteme Harald Kosch Seite 164
9. Dateisysteme Eine Datei ist eine Abstraktion für ein Aggregat von Informationen (muß nicht eine Plattendatei sein). Aufbau eines Dateisystems: Katalog (Directory) Einzelne Dateien (Files) Zwei Aspekte
Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff
Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Agenda Elementare Einführung C Programm Syntax Datentypen, Variablen und Konstanten Operatoren und Ausdrücke Kontrollstrukturen
BACKUP Datensicherung unter Linux
BACKUP Datensicherung unter Linux Von Anwendern Für Anwender: Datensicherung in Theorie und Praxis! Teil 4: Datenrettung Eine Vortragsreihe der Linux User Group Ingolstadt e.v. (LUG IN) in 4 Teilen Die
Im Windows Betriebssystem sind Dateien eindeutig gekennzeichnet durch ihren Pfad, Dateinamen und nach einem Punkt die Dateierweiterung.
Dateioperationen Seite 1 von 12 Im Windows Betriebssystem sind Dateien eindeutig gekennzeichnet durch ihren Pfad, Dateinamen und nach einem Punkt die Dateierweiterung. z.b.: c:\testdateien\text.dat //Datendatei
Betriebssysteme 1. Thomas Kolarz. Folie 1
Folie 1 Betriebssysteme I - Inhalt 0. Einführung, Geschichte und Überblick 1. Prozesse und Threads (die AbstrakFon der CPU) 2. Speicherverwaltung (die AbstrakFon des Arbeitsspeichers) 3. Dateisysteme (die
Benutzer- und Rechtevergabe
Benutzer- und Rechtevergabe Gliederung 1) Einführung 2) Rechte 3) Benutzer 4) Editoren Einführung GNU/Linux ist ein Mehrbenutzer- Betriebssystem (d.h. es können mehrere GNU/Linux ist ein Mehrbenutzer-
Interprozesskommunikation
Interprozesskommunikation Inhalt 1. Überblick... 2 2. Pipes... 5 3. Fifo...22 3.1. Übung IPC-2...39 Unix für Entwickler: Interprozesskommunikation Prof Dr. Alois Schütte 1/40 1. Überblick Hier werden die
Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff
Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff von Athanasia Kaisa Grundzüge eines Zwischenspeichers Verschiedene Arten von Zwischenspeicher Plattenzwischenspeicher in LINUX Dateizugriff
Betriebssysteme, Rechnernetze und verteilte Systeme 1 (BSRvS1) Dateisysteme.
Betriebssysteme, Rechnernetze und verteilte Systeme 1 (BSRvS1) Dateisysteme Olaf Spinczyk 1 Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund [email protected]
C für Java-Programmierer
Carsten Vogt C für Java-Programmierer ISBN-10: 3-446-40797-9 ISBN-13: 978-3-446-40797-8 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-40797-8 sowie im
Kap. 8: Dateisysteme (E3 EXT2 Dateisystem) 1
Kap. 8: Dateisysteme (E3 EXT2 Dateisystem) 1 E 3 EXT2 Dateisystem Lernziele Aufbau des ext2-dateisystems kennenlernen Verwaltungsstrukturen auf dem Datenträger analysieren Hard- und Softlinks Übungsumgebung
Wiederholung: Realisierung von Dateien
Wiederholung: Realisierung von Dateien Zusammenhängende Belegung Datei A Datei C Datei E Datei G Datei B Datei D Datei F Belegung durch verkettete Listen (z.b. FAT) Dateiblock 0 Dateiblock 1 Dateiblock
1. Allgemeine Datei (Binärdatei mit formatierten Inhalt)
Datei ein komplexer Datentyp, der primär zur dauerhaften (persistenten) Speicherung von Daten auf einen externen Datenträger dient die wichtigsten Operationen, die mit Dateien durchgeführt werden, sind
Eine Mini-Shell als Literate Program
Eine Mini-Shell als Literate Program Hans-Georg Eßer 16.10.2013 Inhaltsverzeichnis 1 Eine Mini-Shell 1 1.1 Einen Befehl parsen......................... 2 1.2 Was tun mit dem Kommando?...................
Betriebssysteme (BS)
Betriebssysteme (BS) Dateisysteme Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund [email protected] http://ess.cs.uni-dortmund.de/~os/ http://ess.cs.tu-dortmund.de/de/teaching/ss2011/bs/
Systemprogrammierung I - Aufgaben zur Erlangung der Klausurzulassung für Informatiker und Wirtschaftsinformatiker
Systemprogrammierung I - Aufgaben zur Erlangung der Klausurzulassung für Informatiker und Nachfolgend finden Sie die drei Aufgaben, die Sie als Zulassungsvoraussetzung für die Scheinklausur am 18.7.2001
Dateien lesen und schreiben mit php
Dateien lesen und schreiben mit php (fopen(), fgets(), fread(), fwrite, fclose(), fputs(), file_get_contents()) Der Dateizugriff (anfügen und lesen) fopen(filename, mode) Öffnen vom lokalen Dateisystem
Praktikum Betriebssysteme 1. Aufgabe (1)
FG TECHNISCHE INFORMATIK U BS 041 01 TH 09 Praktikum Betriebssysteme 1. Aufgabe (1) Es wird ein unter LINUX lauffähiges C++-Programm ptab, mit dem Informationen über die Partitionierung von Festplatten
Implementierung von Dateisystemen
Implementierung von Dateisystemen Teil 2 Prof. Dr. Margarita Esponda WS 2011/2012 44 Effizienz und Leistungssteigerung Festplatten sind eine wichtige Komponente in jedem Rechnersystem und gleichzeitig
Dateisystem. Prof. Dr. Margarita Esponda-Argüero WS 2011/2012. M. Esponda-Argüero
Dateisystem Prof. Dr. Margarita Esponda-Argüero WS 2011/2012 1 Dateisystem Das Betriebssystem muss eine Schnittstelle zur Verfügung stellen, die für alle verschiedenen Massenspeichermedien funktioniert.
Ein einfaches Dateisystem
Ein einfaches Dateisystem Betriebssysteme Hermann Härtig TU Dresden Wegweiser Gegenstand und Begriffe Dateien und Verzeichnisse Implementationsaspekte Ablauf eines Dateizugriffs Betriebssysteme WS 2014/5,
Hochschule Darmstadt Informatik-Praktikum WS 2017/2018 WIng Bachelor 6. Aufgabenblatt Zeiger, verkettete Liste, Dateieingabe und -ausgabe
Aufgabe 6: Häuser verwalten - dynamisch Für ein Schneeräumungsunternehmen soll ein Programm zur Verwaltung von Häuserlisten geschrieben werden. Das Programm soll in der Lage sein, zu einem Haus die wichtigsten
File I/O. Persistieren von Daten. Gastvorlesung Ralph Erdt erdt (bei) informatik.fh-wiesbaden.de
File I/O, Ralph Erdt, erdt (bei) informatik.fh-wiesbaden.de Seite 1 File I/O Persistieren von Daten Gastvorlesung - 18.01.10 Ralph Erdt erdt (bei) informatik.fh-wiesbaden.de File I/O, Ralph Erdt, erdt
Das ext2-dateisystem
Das ext2-dateisystem 18. Februar 2004 Geschichte Linux wurde unter Minix entwickelt. Dieses Betriebssystem hatte ein einfaches Dateisystem, das zudem noch sehr gut getestet war. So war das erste Dateisystem,
Von der Platte zur Anwendung (Platte, Treiber, Dateisystem)
(Platte, Treiber, Dateisystem) 1. Einleitung 2. Dateisysteme 2.1. Logisches Dateisystem 2.2. Dateiorganisationsmodul 2.3. Basis Dateisystem 3. Festplattentreiber 3.1. Funktionsweise 3.2. Scheduling Verfahren
2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
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
Übersicht. Informatik 1 Teil 10 Dateien
Übersicht 10.1 Permanente Datenspeicher 10.2 Festplatte (Bild) 10.3 Dateien 10.4 Dateien öffnen 10.5 Der Filepointer 10.6 Schreiben in Dateien - die Funktion fprintf( ) 10.7 Lesen aus Dateien die Funktion
Grundlagen der Dateisysteme. Daniel Lieck
Grundlagen der Dateisysteme Daniel Lieck Einführung Dateisysteme wofür eigentlich? - Ändern, Erstellen, Löschen von Dateien - Strukturierung der Dateien auf Datenträger - Dateiname und rechnerinterne Speicheradressen
Betriebssysteme (BS) Dateisysteme. Olaf Spinczyk.
Betriebssysteme (BS) Dateisysteme http://ess.cs.tu-dortmund.de/de/teaching/ss2016/bs/ Olaf Spinczyk [email protected] http://ess.cs.tu-dortmund.de/~os AG Eingebettete Systemsoftware Informatik
Grundlagen der Programmierung
Übung 1: Unix Werkzeuge Robert Sombrutzki [email protected] Unix Werkzeuge Warum? Diese Frage sollten Sie sich immer mal wieder stellen! Denkbare Antworten Weil Sie diese Werkzeuge immer
UNIX/Linux Lösung. Mär 14, 17 20:40 Seite 1/6. Prozeßsynchronisation (was ist das?, wo kommt es vor?, Beispiel?):
Mär 14, 17 20:40 Seite 1/6 Aufgabe 1: Erklären Sie folgende Begriffe (25 Punkte): Prozeßsynchronisation (was ist das?, wo kommt es vor?, Beispiel?): Abstimmen von mehreren Prozessen, warten auf Ergebnisse,
Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1
Fachhochschule Kaiserslautern Fachbereiche Elektrotechnik/Informationstechnik und Maschinenbau Labor Datenbanken Versuch 1 : Die Grundlagen von MySQL ------------------------------------------------------------------------------------------------------------
OPERATIONEN AUF EINER DATENBANK
Einführung 1 OPERATIONEN AUF EINER DATENBANK Ein Benutzer stellt eine Anfrage: Die Benutzer einer Datenbank können meist sowohl interaktiv als auch über Anwendungen Anfragen an eine Datenbank stellen:
Die Programmiersprache C
Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,
Dateisystem: Einführung
Dateisystem: Einführung Hauptaufgabe des Dateisystems ist der schnelle und zuverlässige Zugriff auf Dateien Problem: Entweder schneller Zugriff oder viel Redundanz beim speichern! Zusätzlich müssen Unterverzeichnisse
Dateisystem: Einführung
Dateisystem: Einführung Hauptaufgabe des Dateisystems ist der schnelle und zuverlässige Zugriff auf Dateien Problem: Entweder schneller Zugriff oder viel Redundanz beim speichern! Zusätzlich müssen Unterverzeichnisse
Modellierung und Programmierung
Modellierung und Programmierung Dr. Martin Riplinger 9.1.2013 IAM Institut für Angewandte Mathematik Fortgeschrittene Ein- und Ausgabe Bisher: Ein- und Ausgabe nur über die Kommandozeile Erweiterung: Konzept
2 2. Tag. 2.1 Das Dateisystem. das Dateisystem organisiert die Speicherung von Daten. viele Betriebssysteme haben verschiedene Dateisysteme
2 2. Tag 2.1 Das Dateisystem das Dateisystem organisiert die Speicherung von Daten viele Betriebssysteme haben verschiedene Dateisysteme ein gutes Dateisystem ist wichtig um Daten sicher zu lagern Das
Rechteverwaltung unter Unix/Linux
Kurzskript zum Thema: Rechteverwaltung unter Unix/Linux Silvio Chemnitz Lars Oergel 9. November 2012 Inhaltsverzeichnis Zugriffsrechte 2 Grundlagen der Rechteverwaltung...................... 2 Dateien.....................................
FH München, FB 03 FA WS 06/07. Ingenieurinformatik. Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz
FH München, FB 03 FA WS 06/07 Ingenieurinformatik Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz Zulassung geprüft vom Aufgabensteller: Teil I Aufg. 2 Aufg. 3 Aufg. 4 Aufg. 5 Summe Note Aufgabensteller:
GI Vektoren
Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung
Programmiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften
Programmiertechnik Teil 4 C++ Funktionen: Prototypen Overloading Parameter C++ Funktionen: Eigenschaften Funktionen (Unterprogramme, Prozeduren) fassen Folgen von Anweisungen zusammen, die immer wieder
Das virtuelle Dateisystem von Linux (VFS)
Das virtuelle Dateisystem von Linux (VFS) Idee: uniformer Zugriff auf unterschiedliche Dateisysteme ext2 Block Device Programm (cp, rm) VFS NTFS Block Device NFS Netzwerk Arten von Dateisystemen: plattenbasiert
Betriebssysteme SS 2013. Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz E SB 5 (11.04.2013) ACLs und Capabilities
Betriebssysteme SS 2013 Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz E SB 5 (11.04.2013) ACLs und Capabilities 11.04.2013 Modul 6: Betriebssysteme, SS 2013, Hans-Georg Eßer Folie E-1 ACLs und
Betriebssysteme (BS)
Betriebssysteme (BS) Dateisysteme Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund [email protected] http://ess.cs.uni-dortmund.de/~os/ http://ess.cs.tu-dortmund.de/de/teaching/ss2013/bs/
Grundlagen der Informatik Vorlesungsskript
Grundlagen der Informatik Vorlesungsskript Prof. Dr. T. Gervens, Prof. Dr.-Ing. B. Lang, Prof. Dr. F.M. Thiesing, Prof. Dr.-Ing. C. Westerkamp 16 AUTOMATISCHES ÜBERSETZEN VON PROGRAMMEN MIT MAKE... 2 16.1
Physische Dateistrukturen
Direktzugriffsdateien Seite 1 Charakteristik: Folge von Elementen (physischen Datensätzen) Länge (Speicherbedarf) dynamisch Begriffe: x = < > leere Datei x x = Datei x mit einem Datensatz x1 x =
Benutzer- und Rechte-Verwaltung Teil 2
Benutzer- und Rechte-Verwaltung Teil 2 Linux-Kurs der Unix-AG Zinching Dang 26. November 2012 Zugriffsrechte (1) definieren, welche Benutzer welche Dateien lesen, schreiben und ausführen dürfen (read,
Grundlagen der Informatik für Ingenieure I. Background: 4. Dateisystem/Betriebssystemschnittstelle
Background: 4. Dateisystem/Betriebssystemschnittstelle 4.1 Überblick 4.2 Dateien 4.2.1 Dateiattribute 4.2.2 Operationen auf Dateien 4.3 Kataloge 4.3.1 Katalogattribute 4.3.2 Operationen auf Katalogen 4.4
Benutzer- und Rechte-Verwaltung Teil 2
Benutzer- und Rechte-Verwaltung Teil 2 Linux-Kurs der Unix-AG Zinching Dang 30./31. Mai 2012 Benutzer- und Gruppen-Datenbank Benutzer- bzw. Gruppen-Informationen sind in einzelnen Dateien gespeichert:
VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer. Kommunikation I (Internet) Übung 1 Telnet und FTP
VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer Kommunikation I (Internet) Übung 1 Telnet und FTP SS 2003 Inhaltsverzeichnis 2. Übungen mit Telnet und FTP...1 2.1. Testen der Verbindung mit ping...1 2.2. Arbeiten
Variablen. Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes
Variablen Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes v ist Stück im Speicher, der 4 Bytes lang ist Speicherzugriff? Über Adressen!
Rechner muß unterschiedliche Geräte bedienen können. zeichenorientierte Geräte (character devices, unstructured devices)
Betriebssysteme Folie 6-1 6 Dateiverwaltung Rechner muß unterschiedliche Geräte bedienen können zeichenorientierte Geräte (character devices, unstructured devices) (z.b. Sichtgeräte, Drucker oder Übertragungsleitungen
Einführung in Dateisysteme
Proseminar Speicher- und Dateisysteme Agenda 1. Allgemeines 2. Grundlagen/ Konzeption eines Dateisystems 3. Strukturelle Konzepte von Dateisystemen/ Beispiele 4. Sicherheitsaspekte 5. Ausblick Seite 2
8. Referenzen und Zeiger
8. Referenzen und Zeiger Motivation Variable werden in C++ an speziellen Positionen im Speicher abgelegt. An jeder Position befindet sich 1 Byte. Sie sind durchnummeriert beginnend bei 0. Diese Positionen
Systeme I: Betriebssysteme Kapitel 3 Dateisysteme. Wolfram Burgard
Systeme I: Betriebssysteme Kapitel 3 Dateisysteme Wolfram Burgard Version 28.10.2015 1 Weiterer Inhalt der Vorlesung Verschiedene Komponenten / Konzepte von Betriebssystemen Dateisysteme Prozesse Nebenläufigkeit
Programmieren in C/C++ und MATLAB
Programmieren in C/C++ und MATLAB Christof Beyer Sven Willert Sabine Schmidt Christian-Albrechts-Universität zu Kiel CAU 7-1 Bisher eingeführt war für Namen nur der Datentyp char. Dieser erlaubt das Speichern
Systemprogrammierung
IDateisystem IXI 3. Februar 2011 9. Februar 2011 WS 2010/11 1 / 56 1Überblick 1 Überblick Medien Speicherung von Dateien Freispeicherverwaltung Beispiele: Dateisysteme unter UNIX und Windows Dateisysteme
