Bs-61 7 Ein/Ausgabe. bs-62 Zur Erinnerung: Moderne Betriebssysteme verbergen die Spezifika der verschiedenen E/A-Geräte hinter der Systemschnittstelle.

Slides:



Advertisements
Ähnliche Präsentationen
Be.as WEB Technologie
Advertisements

Einer der Dienste im Internet
Bauteile des PC´c Werden vorgestellt: PC-Gehäuse Prozessor Tastatur
Ausführen.
Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an:
DVG Dateien Dateien. DVG Dateien 2 Die Klasse File Die Klasse File stellt die Verbindung zwischen dem Filesystem des Rechners und dem.
IO - Hardwarestruktur, allgemein
Software Von Webmaster Mario.
FU Berlin SS 2003 Klaus-Peter Löhr
10 Streams JavaHS Merseburg WS 05/06 E/A - Ströme (Streams) in Java.
Java: Dynamische Datentypen
Dateihandles Um in Perl eine bestimmte Datei zum Lesen, Schreiben oder Anhängen zu öffnen, benötigt man so genannte Dateihandles. Ein Dateihandle ist der.
Basisinformationstechnologie 1 Tanja Lange WS 2003/04 am
1A: POSIX POSIX (Portable Operating System) ist ein Standard für UNIX-Systeme. Er dient dazu, Programme portabel unter UNIX und Derivaten zu tauschen und.
1 Named Pipes alias FIFO Haben einen Eintrag im Dateisystem und sind somit durch Zugriffsrechte identifizierbar Ermöglichen die Kommunikation zwischen.
Bs Kommunikation Kommunikation zwischen Benutzerprozessen (IPK) stellt andere Anforderungen als auftragsorientierte Kommunikation in mikrokernbasierten.
DbjFileManager Paul Fruntzek Michael Stanek. Überblick Unterste Ebene im Schichtenmodell Schnittstelle zum BS (Low-Level) Aufgabenbereich: Persistente.
Programmieren mit JAVA Teil V. Grafikausgabe mit JAVA, das AWT Java wurde von Anfang an mit dem Anspruch entwickelt, ein vielseitiges, aber einfach zu.
Haupt- und Arbeitsspeicher
Datenströme DVG Datenströme.
© 2005 Pohlig - Taulien Datenströme GK Informatik 1 Datenströme.
Einführung MySQL mit PHP
Interrupt Bei dem Transport von Daten zu einem Speichermedium oder zu einer Schnittstelle, muss der PC seine aktuelle Arbeit unterbrechen Man bemüht sich,
Programmieren mit MS Small Basic
Schnittstellen des Computers
Was ist ein Betriebssystem?
Steuerung externer Komponenten über ein USB-Interface.
Aufbau eines Rechners, Hard- und Software
1. Was ist Hardware? Hardware nennt man alle Geräte und Bauteile, die zu einem Computer gehören – also alles was man am Computer anfassen kann. Bsp: Monitor,
Betriebssysteme allgemein
Dateisysteme Marcel Waldvogel. Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 2 Dateisysteme Was ist eine Datei?
Inhaltsverzeichnis 1. Der Drucker 2. Der Plotter 3. Der Monitor
Speichermodulverwendung mit der kompakten Steuerung CP1L
Konstruktion der Voronoi-Diagramme II
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Thin Clients IGEL smart-132.
Computerorientierte Physik VORLESUNG
Wer macht was beim Einschalten des Rechners?
Präsentation von Lukas Sulzer
Die verschiedenen Schnittstellen eines Computers und ihre Verwendung
Netzwerke.
Bs Verzeichnisdateien Anstelle eines zentralen Verzeichnisses: Menge von Verzeichnisdateien (directory files), die selbst in Verzeichnissen verzeichnet.
DATEISPEICHER in der S P S
Verarbeitung und Computerinneres
DER COMPUTER.
Aufbau und Peripherie eines Computers
Anschlussmöglichkeiten beim Samsung S3
Grundlagen, Prinzipien und Aufgaben eines Betriebssystems
Grundlagen, Prinzipien und Aufgaben eines Betriebssystems
Alois Schütte Advanced System Programming 2 Interprozeßkommunikation  2.1 JVM Ablaufumgebung  2.2 Java Native Interface (JNI)  Verwendung von.
Linux oder GNU/Linux WS 2013/2014.
->Prinzip ->Systeme ->Peer – to – Peer
Autor: Timo Pagel Nutzung: Diese Lernkarten sind für die Nutzung mit OpenCards gedacht Siehe dazu
USB Fabius Wiesmann.
Betriebssysteme: Windows-OS
7.5.5 Namensdienste (bereits erwähnte Beispiele: Rmiregistry, Portmapper)  dienen der Abbildung von „Namen“ auf Verweise, Nummern,...  sollten ihre Information.
Universität zu Köln WS 2012/13 Seminar: IT-Zertifikat der Phil.-Fak.: Allgemeine Informationstechnologien I Dozentin: Susanne Kurz M.A. Referenten: Irina.
6.2 Repräsentation auf Platten
6.4.4 Berechtigungen (Capabilities)
C Tutorium – Shared Memory – Knut Stolze. 2 Shared Memory Ein Speicherbereich, auf den mehrere Prozesse Zugriff haben – Also kein privater Speicher –
Pool Informatik, Sj 11/12 GZG FN W.Seyboldt 1 Pool Informatik 5 GZG FN Sj. 11/12 Kopieren, Daten, Programme.
Komponenten des Computers
Ein kleiner Einblick für Anfänger
© Ömer PALTA und © Aleksander RADULOVIC Wireless Technologie IRDA Was ist WLAN und GrundlagenStandardsWas ist IrDANormenGeschichte von IrDAGeschichte von.
Der Taskmanager ist Bestandteil des Betriebssystems, der als Prozessmanager Prozessmanager unter anderem die aktuell laufenden Programme und Prozesse.
05-Betriebssysteme1 Was ist ein Betriebssystem? l Programm, das die Verbindung zwischen dem Benutzer, der Software und der Hardware herstellt l Die Installation.
PC-Grundlagen.
Promise EX4650 & EX8650 Controller Allgemeines: – Es müssen immer Festplatten Konfiguriert werden, da ansonsten für das Betriebssystem keine Laufwerke.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Einflußreiche Systeme Dr. Wolfgang Wörndl.
Betriebssysteme LB BB SS2017
 Präsentation transkript:

bs-61 7 Ein/Ausgabe

bs-62 Zur Erinnerung: Moderne Betriebssysteme verbergen die Spezifika der verschiedenen E/A-Geräte hinter der Systemschnittstelle – so gut es geht. Beispiel Unix: was steckt hinter einem Kanal ? Ein Programm weiß i.d.R. nicht, ob mit read(0,buffer,n) von der Tastatur, aus einer Datei, aus dem Netz, aus einer Pipe,..... gelesen wird

fstat(channel,&status) liefert in status erschöpfende Information darüber, was hinter channel steckt: mode_t st_mode; /* File mode (see mknod(2)) */ ( 7.1) ino_t st_ino; /* Inode number */ dev_t st_dev; /* ID of device containing */ /* a directory entry for this file */ dev_t st_rdev; /* ID of device */ /* This entry is defined only for */ /* char special or block special files */ nlink_t st_nlink; /* Number of links */ uid_t st_uid; /* User ID of the file's owner */ gid_t st_gid; /* Group ID of the file's group */ off_t st_size; /* File size in bytes */ time_t st_atime; /* Time of last access */ time_t st_mtime; /* Time of last data modification */ time_t st_ctime; /* Time of last file status change */ /* Times measured in seconds since */ /* 00:00:00 UTC, Jan. 1, 1970 */ long st_blksize; /* Preferred I/O block size */ blkcnt_t st_blocks; /* Number of 512 byte blocks allocated*/

bs-64 Grobe Klassifizierung von E/A-Geräten – 2 Klassen: blockorientiert (block I/O): - Platten - CD-ROM - Magnetband... weitere externe Speichermedien zeichenorientiert (character I/O): - Tastatur - Maus - Drucker - Plotter... weitere eigentliche E/A-Geräte

bs Explizite Gerätebenutzung Pionierleistung von Unix: Geräte werden als Gerätedateien (special files) eingeführt, die Gerätebeschreibungen enthalten, (block special files und character special files); open erzeugt Kanal zwischen Prozess und Gerät. Beispiel:nach fd = open("/dev/lp",O_WRONLY) drucken mit write(fd,"hello",5)

bs-66 Typische Namenskonvention für Gerätedateien: /dev/..., z.B. /dev/dsk0 Platte, genauer logische Platte = dsk1 zusammenhängender Bereich dsk2 auf realer Platte (partition).... /dev/lp Drucker, falls nur einer (sonst lp1,lp2,.. ) /dev/tty0 Datenstationen/Terminals/Modems tty1.... /dev/tty Pseudo-Gerätedatei: control terminal des aktuellen Prozesses /dev/null Pseudo-Gerätedatei: Abfalleimer

bs-67 Einrichtung von Gerätedateien gemäß der realen Peripherie: mknod(path,mode,dev) erzeugt Gerätedatei mit Namen path, und Gerätebeschreibung dev ; mode bestimmt u.a. den Schutzstatus, aber auch - block special file oder - character special file (oder - Verzeichnis, normale Datei, benannte Pipe). dev hat 2 Komponenten: major device number Geräteart ( Treiber) minor device number Gerätenummer

bs-68 Achtung: mknod kann nur vom Super-User ausgeführt werden (EUID = 0) mknod sollte den Schutzstatus i.d.R. so setzen, dass Normalsterblichen kein Zugriff gewährt wird – abgesehen von Ausnahmen wie /dev/tty, /dev/null... Systemprozess darf aber zugreifen, z.B. Drucker-Spooler beginnt seine Tätigkeit mit fd = open("/dev/lp",O_WRONLY)

bs-69 Gerätespezifische Steuerungsfunktionen: ioctl(channel,command,arg) übermittelt dem Treiber hinter channel (falls vorhanden) einen Befehl command mit Parametern arg, z.B. (Bandlaufwerk:)Band zurückspulen (Datenübertragung:)Geschwindigkeit einstellen (Tastatur:)Modus u.a. setzen ( 7.2.1) etc. etc. Bemerkung:Dieser Systemaufruf ist nicht privilegiert – wer im Besitz des channel ist, darf ihn benutzen.

bs Asynchrone serielle Schnittstellen übertragen Daten byteweise (dabei bitweise seriell). Typische angeschlossene Geräte: Tastatur, Maus, Bildschirm, Modem Pufferung der Bytes per Hardware (Gerätesteuerung) und/oder Software

bs-611 Rechnerbenutzung früher häufig so: Großrechner mit vielen unintelligenten Terminals mit Tastatur und zeichenorientiertem Bildschirm, eines davon als Konsole (console) für den Systemverwalter Heute meist alternativ Konsole mit Graphikbildschirm und Maus in Kleinrechner integriert (PC, Laptop, Handheld) X-Terminal mit X Window Server Software – am Netz Thin Clients intelligente Terminals – über Spezialnetz

bs-612 RS-232 ist Hardware-Standard für asynchron-serielle Kommunikation über Terminals und Modems – auch heute noch aktuell: für in Fenstern simulierte Terminals ! Gerätesteuerung für Terminal/Konsole kennt Befehle zum Lesen/Schreiben von Bytes, praktiziert begrenzte Pufferung der Bytes, generiert Unterbrechungen, z.B. auf Tastendruck, fungiert evtl. als Multiplexer für viele Terminals

bs Tastatur kann in (mindestens) 2 Betriebsarten benutzt werden (Unix: line discipline): Zeichenorientierter Modus (non-canonical/raw mode): jedes getippte Zeichen wird sofort an den Benutzerprozess weitergegeben * Zeilenorientierter Modus (canonical/cooked mode): Eingabe wird zeilenweise an den Benutzerprozess weitergegeben (mit Vorverarbeitung von ^C, ^D, Korrekturzeichen [Rücktaste] u.ä. **)

bs-614 ! Pufferung eingegebener Zeichen durch den Treiber ist bei beiden Modi unverzichtbar – im Interesse des Benutzerkomforts: manchmal tippt der Benutzer schneller als das Programm liest ! * * Tanenbaum: System designers who do not allow users to type far ahead ought to be tarred and feathered, or worse yet, be forced to use their own system. ! Im zeilenorientierten Modus können die gepufferten Zeichen modifiziert werden, bevor die Zeile an den Benutzerprozess weitergegeben wird !

bs-615 Pufferung erfolgt entweder in separat für jedes Terminal bereitgestelltem Puffer oder unter Verwendung eines Puffer-Pools bei sehr vielen Terminals (alte Großrechner-Technologie), aber nicht gegen Überlauf gesichert: bei extremem Voraustippen können Zeichen verloren gehen (i.a. aber akustisches Warnsignal)

bs-616 ! Bildschirm ist nicht unabhängig von der Tastatur: Echo der getippten Zeichen auf dem Bildschirm wird durch die Treiber bewerkstelligt, im zeilenorientierten Modus vor dem Weiterreichen an das Programm. Echo kann vom Benutzerprogramm abgeschaltet werden, z.B. für Passwort-Eingabe. (Sehr alte Geräte, z.B. mit Ausgabe auf Papier statt Bildschirm, arbeiteten wie Schreibmaschinen, d.h. mit eingebautem Hardware-Echo; Passwörter wurden durch Überschreiben unleserlich gemacht.)

bs-617 Alle gewünschten Einstellungen können programmgesteuert vorgenommen werden, in Unix mittels ioctl(channel,command,arg) Details zu command,arg : man termio Mittels einer ladbaren keymap kann die Zuordnung von Tasten zu Zeichen flexibel gehalten werden !

bs Zeichenorientierter Bildschirm Sowohl reguläre Ausgabe als auch Eingabe-Echo werden in Ausgabepuffer plaziert und von dort an das Gerät weitergegeben ( Zeichensalat möglich). Bildschirm plaziert eintreffendes Zeichen automatisch hinter dem letzten Zeichen bzw. am Beginn der nächsten Zeile. Steuerungsmöglichkeiten für die Darstellung nicht über ioctl, sondern Schreiben von Steuerzeichen:

bs-619 ANSI-Norm für Bildschirmsteuerung: Steuerzeichen ESC ( = 0x1B) (escape character, Ausweichzeichen, Fluchtsymbol) und nachfolgenden Steuerwerten ermöglicht Umsetzen des Schreibzeigers und andere Sonderfunktionen. Beispiele: [nA für n Zeilen aufwärts [nD für n Stellen nach links [2J für Bildschirm löschen u.a.m.

bs Modem bietet eine Fülle von Einstellungsmöglichkeiten betr. Übetragungsgeschwindigkeit, Parity Bit,..... und eine Fülle von Spezialfunktionen betr.Herstellen einer Verbindung, Schließen einer Verbindung,....., alles mittels ioctl(channel,command,arg)

bs Universal Serial Bus - USB dient als Multiplexer für mehrere langsame serielle Geräte, wird von einem Treiber betrieben, der für alle Geräte zuständig ist; daher können Geräte während des Betriebs angeschlossen und entfernt werden.

bs Graphikbildschirm praktiziert meistens Rastergraphik (raster/bitmap graphics) *: Bildschirminhalt ist nicht Ergebnis einer Ausgabe- operation, sondern sichtbar gemachter Speicher. Realer Adressraum des Rechners umfasst Videospeicher (video RAM) mit 1 Bit – 4 Bytes pro Pixel (oder Zeichen), dessen Inhalt über einen video controller angezeigt wird.

bs-623 Fenstersystem (window system) = Systemsoftware, die Rasterbildschirmgeräte (einschließlich Tastatur und Maus) unterstützt, entweder als Teil des Betriebssystem-Kerns (z.B. MS Windows) oder als Systemprozess(e) im Benutzer-Modus (z.B. X Window System, M.I.T.)

bs-624 Allgemeine E/A-Prinzipien von Fenstersystemen: Ereignisschlange (statt Eingabezeichenfolge) steuert die Aktivität eines mit Fenstern arbeitenden Programms Ereignis wird von Maus oder Tastatur generiert und enthält Positionsdaten der Maus Graphik-Bibliothek stellt massenhaft Routinen zur komfortablen graphischen Ausgabe zur Verfügung, insbesondere zur Manipulation von Fenstern und standardisierten graphischen Elementen.....

bs-625 Implementierung der Bibliothek benutzt entweder Systemaufrufe oder beauftragt Window-Server-Prozess Programmiersprachen bauen ihre eigenen Bibliotheken darauf auf

bs Beispiel MS Windows ermöglicht Benutzung des Fenstersystems über Systemaufrufe Beispiel Hauptprogramm: HWND hwnd = CreateWindow(...);..... while(GetMessage(&msg,NULL,0,0)) {..... // dispatch message * }

bs-627 Beispiel Ausgabe in Fenster: HDC hdc = GetDC(hwnd); // open device context TextOut(hdc,x,y,psText,iLength); // output PostScript text Rectangle(hdc,xleft,ytop,xright,ybottom); // draw rectangle ReleaseDC(hwnd,hdc); // close device context

bs-628 Beispiel Bit-Map-Kopieren: BitBlt(dsthdc,dx,dy,width,height, srchdc,sx,sy,SRCCOPY); Bit Block Transfer, kopiert Rechteck von Pixels vom Fenster srchdc in das Fenster dsthdc Schriftarten als Bit Maps? In allen Größen ?? TrueType fonts:Umrisse durch Punktfolgen beschreiben und nach Größenanpassung ausfüllen

bs X Window System entwickelt am M.I.T., 1980 Client/Server-Architektur, lokal oder übers Netz X-Server betreibt Bildschirm im Auftrag der X-Klienten (z.B. in Adressraum, der den Videospeicher einschließt) und informiert Klienten über Maus/Tastatur-Ereignisse leicht auf beliebige Systeme aufsetzbar, sogar auf Windows weit verbreitet für Unix-Varianten X-Terminal = Rechner, der nur einen X-Server enthält

bs-630 ! X Server ist nur für elementare Rastergraphik und Ereignismeldung zuständig Klientenseitig: umfangreiche Bibliotheken für Graphik und Interaktionselemente (widgets) separater Prozess Window Manager unterstützt die eigentliche Fensterverwaltung

bs Thin Clients Thin Client = Rasterbildschirm-Terminal, das nur mit Pixel-Rechtecken beschickt wird billig, extrem einfache Geräteschnittstelle leistungsfähiger Server (Großrechner?) erforderlich Beispiel: Sun SLIM (stateless low-level interface machine)