22. Linux-Treiber. System Architektur
|
|
- Nadine Dieter
- vor 5 Jahren
- Abrufe
Transkript
1 22. Linux-Treiber Rubini, A. & Corbet, J.: Linux Gerätetreiber, 2. Auflage, O Reilly M. Beck, & al.: Linux Kernelprogrammierung Algorithmen & Strukturen der Version 2.4, Addison-Wesley, 6. Auflage, H. Herold: Linux Unix Systemprogrammierung, Addison-Wesley, 2. Auflage, R. Stevens: Advanced Programming in the Unix Environment, Addison-Wesley, System Architektur Unix Betriebssystem begonnen durch Linus Torvald. Open Source. Preemptives Multitasking. Prozesse und Threads (durch zusätzliche Bibliothek). Shared Libraries als Gegenstück zu den Windows DLLs. Monolithischer Kern mit Modulkonzept (auch dynamisch ladbar). 1 Systemprogrammierung II, Winter 2005/06, VS Informatik, Uni Ulm, P. Schulthess
2 Kern- Architektur: System-Call über Interrupt 0x80. Kern läuft im Ring-0 und Anwendungen im Ring-3. Getrennte Adressräume zwischen Kern (0-1GB) und User-Mode (1-4GB). Anwendungen System Libraries (libc) System Call Interface Modules I/O Related File Systems Networking Device Drivers Process Related Scheduler Memory Management IPC Architecture-Dependent Code Hardware 2 Systemprogrammierung II, Winter 2005/06, VS Informatik, Uni Ulm, P. Schulthess
3 22.1. Einbindung eines Treibers Statische Treiber Statisch mit dem Linux-Kern linken: Automatischer Symbol-Export (mydrvr_xvar), mydvr_init-routine wird beim System-Start gerufen, Treiber registriert sich selber beim Kern: int register_chrdev( unsigned int major, const char *name, struct file_operations *fops); Registrierung beim Kern: name nur für Konsolmeldungen, Treiber meldet sich mit einer Major-Nummer an, Dateioperationen in Vektor => do_basic_setup( ) register_chrdev(...) Kernel init do_basic_setup Device_setup tty_io #4 fops tty_init register_chrdev ( 4, &myfops) 3 Systemprogrammierung II, Winter 2005/06, VS Informatik, Uni Ulm, P. Schulthess
4 Dynamische Treiber in Modulen Superuser-Rechte notwendig für insmod & rmmod. Treibermodule dynamisch nachladen: insmod /bt878/bin/frmgrbbr.o insmod erlaubt zur Laufzeit Module zu laden, init_module Routine wird aufgerufen, Modul registriert sich beim Kern. Modul entladen mit dem Befehl: rmmod... frmgrbbr cleanup_module Routine wird aufgerufen, Cleanup-Routine entfernt die Registrierung, Symboltabelle wird automatisch aufgeräumt. Symboltabelle im Kern (siehe auch /proc/ksyms): Grundlage für dynamisches Linken von Modulen, Enthält vorerst alle exportierten Symbole, static Namen jedoch nicht exportiert, Problem: Namenskollisionen, explizites Registrieren von Teilen der eigenen Symboltabelle mit register_symbtab( &chosen_few ) 4 Systemprogrammierung II, Winter 2005/06, VS Informatik, Uni Ulm, P. Schulthess
5 Versionskontrolle: Kompatibilität durch prüfen von Schnittstellen (Funktionen & Datentypen). Kern muss zunächst mit Versionsinformation übersetzt werden. Jeder exportierte Namen wird durch eine 32-Bit CRC erweitert. Beispiel: printk_r11ad48ba (11ad48ba ist CRC berechnet aus von printk genutzter Schnittstelle). Module müssen mit Schalter MODVERSIONS übersetzt werden! genksyms zum Export von Symbolen aus Modulen mit CRC. 5 Systemprogrammierung II, Winter 2005/06, VS Informatik, Uni Ulm, P. Schulthess
6 Gerätedateien im Verzeichnis /dev Gerätedateien z.b. /dev/hda1 für die IDE-Festplatte 1. Erscheinen als Datei für die User-Prozesse: Mit eigenem inode, Hier im Verzeichnis /dev/, Ohne Daten-Extent auf Platte, Im inode als Gerät vermerkt. Öffnen von Gerätedateien bzw. Treibern: int open(const char *pfadname, int opnflag, int mode) Als System Call aus dem User Kontext, Liefert Filedeskriptor oder Errorcode ( Err < 0 ), Filedeskriptor ist Index in inode-tabelle des Prozesses. Sowohl für echte Datei als auch für Gerät. 6 Systemprogrammierung II, Winter 2005/06, VS Informatik, Uni Ulm, P. Schulthess
7 Entsprechende Funktion im Treiber int open(struct inode *i, struct file *fp) inode: Major, Minor Nummer und Gerätetyp. fp: File-Pointer. Einrichten von Gerätedateien: mknod /dev/tty c 4 64 Name tty im Verz. /dev/, c : ist ein Character-Device, Neuer inode im Dateisystem, inode mit Feld vom Typ kdev_t = (4,64), Treibernummer 4 (Major Number). Gerätenummer 64 (Minor Number). Verbesserung durch devfs (ab Version ): Gerätedateien werden dynamisch erzeugt und entfernt. Gerätetreiber definiert Namen selbst. 7 Systemprogrammierung II, Winter 2005/06, VS Informatik, Uni Ulm, P. Schulthess
8 22.3. Datenstrukturen des Dateisystems FileDeskriptor als Integerzahl: Index in die Dateitabelle eines Prozesses, Standardinput, -output, -error (0,1,2). F_Deskr User Prozess files Die Einträge in der Dateitabelle beziehen sich auf einen inode. inodes INode: nimmt Bezug auf Treiber oder Diskfile, bestimmte Inodes nur im Hauptspeicher, Caching von Inodes im Hauptspeicher, persistente Inodes auf Festplatte. Kernel Treiber Treiber Treiber[i] Block-Cache Blocktreiber 8 Systemprogrammierung II, Winter 2005/06, VS Informatik, Uni Ulm, P. Schulthess
9 Virtual File System Koexistenz mehrerer Dateisysteme: Reale Dateisysteme (... HPFS, Minix), /proc/ -Dateisystem, Gerätetreiber: Virtuelles Dateisystem Ext2 FAT xfs /proc/ Block-Cache Gerätetreiber 9 Systemprogrammierung II, Winter 2005/06, VS Informatik, Uni Ulm, P. Schulthess
10 Subsystem der /proc/-dateien Vorgespiegelte Dateien ohne persistente Speicherung. Informationen über Maschine, OS & Netz. /proc/ Pseudoverzeichnis: pci: gefundene PCI Devices stat: allgemeine Linux-Kern Statistik cpuinfo: devices: inklusive CPU Designfehler Character und Block Devices meminfo: Hauptspeicher, Cache, Swapspace... modules: geladene Module und Treiber /proc/sys/ Pseudoverzeichnis: fs/: Infos zu den Dateisystemen net/: Infos zu Netzwerksubsystemen vm/: Parameter der Speicherverwaltung kernel/: Infos zum Kern und zu Internetnamen /self/ Pseudoverzeichnis liefert Information über aktuelle Prozesse. 10 Systemprogrammierung II, Winter 2005/06, VS Informatik, Uni Ulm, P. Schulthess
11 22.4. Major & Minor Nummern inode enthält eine 32-Bit Zahl (früher nur 16-Bit): Major Number: obere 8-Bit bezeichen den Treiber, Minor Number: untere 8-Bit bezeichnen Device: Ein Treiber kontrolliert evtl. mehrere Devices: mehrere Partitionen auf einer Festplatte, mehrere tty-leitungen. Dynamische Zuordnung von Major- & Minor-Nr., falls Registrierung mit major=0. Major Number Treiber Treiber Treiber Minor Number Device Device Device 11 Systemprogrammierung II, Winter 2005/06, VS Informatik, Uni Ulm, P. Schulthess
12 22.5. Operationen für Character-Devices Vektor für mögl. Operationen eines Character-Devices: Als Funktionsvariablen, NULL, falls nicht unterstützt, Evtl. Defaultimplementierungen: struct file_operations { loff_t ( *llseek) ( ), ssize_t ( *read) ( ), ssize_t ( *write) ( ), int ( *readdir) ( ), unsigned int ( *poll) ( ), int ( *ioctl) ( ), int ( *mmap) ( ), int ( *open) (struct inode*, struct file * ), int ( *flush) ( ), int ( *release) ( ), int ( *fsync) ( ), int ( *fasync) ( ), int ( *check_media_change) ( ), int ( *revalidate) ( ), int ( *lock) ( ), }; 12 Systemprogrammierung II, Winter 2005/06, VS Informatik, Uni Ulm, P. Schulthess
13 Beispiel: Registrierung der File-Operationen #define KERNEL /* kernel code */ #define MODULE /* module */ int my_major=0; read_write_t my_read (struct inode *inode, struct file *filp, char *buf, count_t count) { } read_write_t my_write (struct inode *inode, struct file *filp, const char *buf, count_t count) { } struct file_operations my_fops = { NULL, /* lseek */ my_read, my_write, }; /* nothing more, fill with NULLs */ int init_module() { my_major = register_chrdev(my_major, "mydriver", &my_fops); return 0; } void cleanup_module() { unregister_chrdev(my_major, "mydriver"); } 13 Systemprogrammierung II, Winter 2005/06, VS Informatik, Uni Ulm, P. Schulthess
14 22.6. Nebenläufigkeit Jeder User-Prozess kann über INT 0x80 einen Systemaufruf absetzen und darauf warten. Preemption User Prozesse Koroutinen Kernel Space Eigener Adressraum pro User-Prozess. Preemption im User Space: Prozess wird in beliebigem Zeitpunkt suspendiert, Koroutinen im Kernel Space: Nur unterbrochen durch einen Hardware-Interrupt, Sonst allenfalls explizite Prozessumschaltung. 14 Systemprogrammierung II, Winter 2005/06, VS Informatik, Uni Ulm, P. Schulthess
15 User- und Kernel-Threads durch zusätzliche Bibliothek. Warteschlangen im Kernel: tq_scheduler: Tasks in dieser Queue werden immer ausgeführt, wenn der Scheduler aktiv wird. Laufen in der Umgebung des User-Prozesses, der schlafen gelegt wird. tq_timer: initiiert durch Timer (alle 10 ms), läuft im Interrupt. tq_immediate: Ausführung bei Rückkehr von Systemaufruf. Oder wenn der Scheduler aktiv wird. Tasks laufen als Bottom-Half. tq_disk: virtueller Speicher & Disk-Puffer Cache. Reserviert für internen Gebrauch. NB: zusätzlich können eigene Queues implementiert werden. 15 Systemprogrammierung II, Winter 2005/06, VS Informatik, Uni Ulm, P. Schulthess
16 Interrupt-Routinen Ein-/Ausgabe Verarbeitung Treiber installiert seinen Interrupt: int request_irq ( unsigned int irq, void ( *handler ) ( int irq, void *dev_id, struct pt_regs *regs), unsigned long flags, const char * device, /* name für console */ void *dev_id ); /* optional */ Kernel prüft ob der IRQ verfügbar ist (result<0?)... handler als Interrupt Service Routine (ISR): Prozedurvariable mit Signatur, Evtl. ein Handler für mehr als eine IRQ Leitung, Alter Registerkontext. Flags: SA_SHIRQ bedeutet shared Interrupt., SA_INTERRUPT bedeutet fast handler. 16 Systemprogrammierung II, Winter 2005/06, VS Informatik, Uni Ulm, P. Schulthess
17 Shared Interrupts (SA_SHIRQ): Üblich am PCI-Bus, möglich am ISA-Bus, Interessenten für einen Interrupt werden verkettet, Kern ruft nacheinander alle Routinen zu einem Interrupt. dev_id optionaler Kontext für den Treiber. Beispiel: interrupt-basiertes Lesen struct wait_queue *my_queue; /* eigene Queue */ read_write_t my_read (struct inode *inode, struct file *filp, char *buf, count_t count) { if (nodataavail==true) { /* no data available? */ interruptible_sleep_on(&my_queue); /* we must sleep and wait */ } return coun t; /* number of read bytes */ } void myisr (int irq, void *dev_id, struct pt_regs *regs) { printk("my_driver: ISR running\n");. wake_up_interruptible(&my_queue); /* is there a pending read? */ } 17 Systemprogrammierung II, Winter 2005/06, VS Informatik, Uni Ulm, P. Schulthess
18 User process Kernel interruptible_sleep_on( ) Treiber ISR Device IRQ wake_up_interruptible( ) 18 Systemprogrammierung II, Winter 2005/06, VS Informatik, Uni Ulm, P. Schulthess
19 Bottom-Half Routinen Ziel: ISR möglichst kurz Lösung: Aufräumarbeiten außerhalb der ISR. Bottom-Half Routinen können unterbrochen werden und verbessern so die Anwortzeiten auf IRQs. Beim Verlassen eines System Calls werden maximal 32 Bottom-Half Routinen gerufen: return_from_ syscall Kernelunterstützung für Bottom-Halfs: Registrierung: init_bh(int Nr, void (*bh_routine)(void)); Aktivierung: mark_bh(int Nr); Deregistrierung: remove_bh(int Nr); #31 Bottom- Halfs in Treibern In neueren Linux Systemen Tasklets anstelle von Bottom-Halfs. 19 Systemprogrammierung II, Winter 2005/06, VS Informatik, Uni Ulm, P. Schulthess
20 Beispiel: Bottom-Half struct tq_struct mybottomh_task ; /* my bottom half task queue */ struct wait_queue *my_queue; /* waiting queue for pending readers */ void init() { mybottomh_task.routine = my_bottom_half; mybottomh_task.data = NULL; /* unused */ } void my_bottomh_interrupt(int irq, void *dev_id, struct pt_regs *regs) { queue_task_irq_off(&mybottomh_task, &tq_immediate); /* queue our bottom half */ mark_bh(immediate_bh); /* activate the queue */ } void my_bottom_half(void *unused) { wake_up_interruptible(&my_queue); /* wake up a pending reader */ } Tasklets bevorzugt, ab Linux 2.3.x: void my_do_tasklet (unsigned long); DECLARE_TASKLET (my_tasklet, my_do_tasklet, 0); void my_bottomh_interrupt(int irq, void *dev_id, struct pt_regs *regs) { tasklet_schedule(&my_tasklet); } 20 Systemprogrammierung II, Winter 2005/06, VS Informatik, Uni Ulm, P. Schulthess
21 Pufferzugriff Problem: Treiber darf nicht auf virtuellen User-Mode Speicher zugreifen: getrennte Prozeßadreßräume u. U. ist während der Abarbeitung des I/Os ein anderer Prozeß aktiv! Standardmässig geschieht gepufferte E/A: Treiber kopiert Daten explizit um. copy_from_user (unsigned long to, unsigned long from, unsigned long len); copy_to_user (unsigned long to, unsigned long from, unsigned long len); Memory-Mapping als Alternative: Treiber implementiert mmap. Vermeidet teueres Umkopieren. Puffer eines Treibers oder Speicher eines Gerätes in User-Adreßraum einblenden. Gut für Zugriff auf Grafikspeicher (z.b. für X-Server), aber weniger geeignet für eine serielle Schnittstelle. 21 Systemprogrammierung II, Winter 2005/06, VS Informatik, Uni Ulm, P. Schulthess
22 Hardware-Erkennung Konfigurierung eines Treibers Bestimmung von E/A-Ports, IRQ und DMA: Automatisch im Treiber ( do_it_yourself ), Im Bootparameter für statisch gebundene Treiber, durch Programmzeilenparameter: insmod mydrvr c io_addr=0x400,0x408 irq=11 E/A-Adressen erkennen ( probing ): Verfügbarkeit prüfen mit check_region( port, len ), Konfigurationsraum lesen für PCI-Geräte, Erkennung von ISA-Devices ist heikel, Auf ISA-Ports vorerst nur Lesen, Geräteisolierung mit Plug&Play. Erkennung zum Initialisierungszeitpunkt. Ressourcenallozierung so spät wie möglich (request_region...). 22 Systemprogrammierung II, Winter 2005/06, VS Informatik, Uni Ulm, P. Schulthess
23 Eigenen Interrupt erkennen: Freischalten aller nicht allozierten Interrupts. Interrupt vom eigenen Gerät auslösen. Aufsammeln des Interrupts. freeirqs = probe_irq_on(); outb( mydevicecntrl, intonmask...); /* enable interrupts */ outb( mydevicedata, somebyte ); /* force interrupt */ udelay( 1000); /* wait for device */ outb( mydevicecntrl, intoffmask ); /* disable interrupts */ myirq = probe_irq_off( freeirqs ); /* get my interrupt */ 23 Systemprogrammierung II, Winter 2005/06, VS Informatik, Uni Ulm, P. Schulthess
24 Allozierung der Ressourcen Möglichst erst beim Öffnen des Treibers: mydrvr_open( inode, file) /* device open */ E/A-Ports reservieren (kein result): request_region( startaddr, len, Drvr77 ) Interrupt reservieren: success = request_irq ( Irq, Hdlr, Flags, ) DMA-Kanäle reservieren: success = request_dma( mychannel, Drvr77 ) Deinstallieren: release_region( ); free_irq( ); free_dma( ).. 24 Systemprogrammierung II, Winter 2005/06, VS Informatik, Uni Ulm, P. Schulthess
25 22.9. Block-Devices Registrierung und Operationen Registrierung: register_blkdev(major, name, fops) Operationen für Block Devices: struct file_operations my_fops = { NULL, /* lseek: default */ block_read, /* gegeben */ block_write, /* gegeben */ NULL, NULL, my_ioctl, /* mehrere vordef. Ctrl.-Codes, z.b. HDIO_GETGEO, */ NULL, my_open, my_release, block_fsync, /* gegeben (Puffer leeren) */ NULL, my_check_media_change, /* media change? */ my_revalidate /* disk change detected */ }; 25 Systemprogrammierung II, Winter 2005/06, VS Informatik, Uni Ulm, P. Schulthess
26 Programme schreiben und lesen in aus den vom Kern verwalteten Pufferbereichen: Block Cache, Directory Cache, inode Cache. Der Kern bietet eine Schnittstelle zum Transport von Blöcken an: block_read / block_write / block_fsync open / release, ioctl, check_change, revalidate. Die Synchronisierung zwischen Festplatte und Caches wird aus Effizienzgründen verzögert. Block-Devices können gemountet werden (z.b. mount /dev/hdb1 /win/c). Anforderungen vom Kern an den Treiber geschehen nicht über den File- Operations Vektor, sondern in einer blk_dev_struct: struct blk_dev_struct { void (*request_fn)(void); /* Request Funktion des Treibers */ struct request current_request ; /* aktueller Request, vorne in der Liste */ } Request-Function liegt im Blocktreiber & interpretiert aktuellen Request. 26 Systemprogrammierung II, Winter 2005/06, VS Informatik, Uni Ulm, P. Schulthess
27 Block-Device Datenstrukturen Array von Block Device Struktur mit zusätzl. Device Parameter Arrays für Block-, Sektorgröße,... Bei der Initialisierung wird u.a. die Request-Funktion eingetragen: blk_dev_struct[major].request_fn = my_request; Verkettete Requests: Kern reorganisiert evtl. Reihenfolge. Pro E/A-Operation ein Request. Enthält Cmd-Feld und Adressen zum lesen oder schreiben. blk_dev_struct[ major] minor Device parameter my_request requests 27 Systemprogrammierung II, Winter 2005/06, VS Informatik, Uni Ulm, P. Schulthess
28 Gerüst einer Request-Funktion: void my_request(void) { while (1) { /* process all requests in queue */ INIT_REQUEST; /* macro checks for requests, returns if none */ switch(current->cmd) { /* CURRENT macro to access current req. */ case WRITE: memcpy(ptr, CURRENT->buffer, size); break; } end_request(1); /* complete block request (status=success) */ } } 28 Systemprogrammierung II, Winter 2005/06, VS Informatik, Uni Ulm, P. Schulthess
29 Network Devices Aufruf durch die Programme über Sockets. Multi-Protokollstack darüber: Mehrfache Netzwerkprotokolle, Multicast in SW oder HW, Pufferstrukturen hochreichen, an passende Protokollhandler. TCP BSD-Socket Interface INET-Sock Interface UDP... IP-Internet Protokoll ARP PLIP SLIP PPP PPP/ CAPI Ethernet 802.x Registrierung: Paralleler Port Serieller Port Serieller Port ISDN Karte Ethernet-Karte & dergl. 29 Systemprogrammierung II, Winter 2005/06, VS Informatik, Uni Ulm, P. Schulthess
30 Keine Major-Nummer, Treiber werden in globaler Liste verwaltet. Aufruf: register_netdev(struct net_device *dev); struct_net zunächst nur mit Name und Init-Routine. Kern ruft bei Registrierung die übergebene Init-Routine. Hier werden Ressourcen und Operationen in Struktur eintragen. Kern verwaltet Daten in Socket-Puffer struct sk_buff: Kern bietet Funktionen zum Zugriff auf Puffer: Puffer anlegen: alloc_skb(size, priority); Headergröße def.: skb_reserve(*skb, len); Daten am Ende anfügen: skb_put(...); Daten am Anfang anfügen: skb_push(...); Daten werden nur zwei Mal kopiert: Von User-Space nach Kernel-Space Und von Kernel-Space auf Ausgabegerät. Header... *socket *tcp_header *udp_header *ip_header *ethernet data Programmierschnittstelle für Sockets 30 Systemprogrammierung II, Winter 2005/06, VS Informatik, Uni Ulm, P. Schulthess
31 Realisiert als Laufzeitbibliothek. Verbindungsorientiert (TCP): socket, bind, listen, accept, recv, connect, send Verbindungslos (UDP): socket, bind, recvfrom, sendto Signatur der Funktionen: int socket( int addrfamily, int type, int protocol ) int bind( int socket, struct sockaddr *address, int addrlen ) int listen( int socket, int backlog ) int shutdown( int socket, int how )... C-Bibliothek bildet diese ab auf Systemaufruf socketcall : int sys_socketcall(int callparameter, unsigned long *args); callparameter wählt die Funktion. 31 Systemprogrammierung II, Winter 2005/06, VS Informatik, Uni Ulm, P. Schulthess
L. Linux-Treiber. L.1.2 System Architektur
L. Linux-Treiber L.1.1 Literatur: Maurer W.: Professional Linux Kernel Architecture; John Wiley 2008 Kroah-Hartman G., Oram A.(Ed.): Linux Kernel in a Nutshell: Linux 2.6; O'Reilly 2007 Rubini A., Corbet
Mehr4. Linux-Treiber. System Architektur
4. Linux-Treiber Rubini, Alessandro: Linux Device Drivers, O Reilly, 2nd Edition, 2001. M. Beck, & al.: Linux Kernelprogrammierung Algorithmen & Strukturen der Version 2.4, Addison-Wesley, 6. Auflage,
MehrLinux-Kernel- Programmierung
Michael Beck, Harald Böhme, Mirko Dziadzka, Ulrich Kunitz, Robert Magnus, Dirk Verworner, Claus Schröter Linux-Kernel- Programmierung Algorithmen und Strukturen der Version 2.2 5., aktualisierte und erweiterte
MehrAufbau eines Kernelmoduls
Kernel Module Kernelmodul = ladbare/entfernbare Objektdatei (Dateisystem, Gerätetreiber, Systemeingriffe) Vorteile: Ressourcenverbrauch abhängig vom aktuellen Anforderungen Erweiterung der Kernelfunktionalität
MehrKonzepte von Betriebssystemkomponenten. Gerätetreiber. Mario Körner
Konzepte von Betriebssystemkomponenten Gerätetreiber Mario Körner 26.01.2004 Übersicht Einordnung in die Betriebssystemarchitektur Schnittstelle zur Hardware Schnittstelle zum Betriebssystem am Beispiel
MehrLinux-Kernel- Programmierung
Michael Beck, Harald Böhme, Mirko Dziadzka, Ulrich Kunitz, Robert Magnus & Dirk Verworner Linux-Kernel- Programmierung Algorithmen und Strukturen der Version 2.0 4., aktualisierte und erweiterte Auflage
MehrEinführung in die Programmiersprache C
Einführung in die Programmiersprache C 9 I/O (2) Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät UNIX I/O UNIX I/O: ähnlich wie Standard-I/O, jedoch File-Deskriptoren
MehrGeräte Treiber unter Unix/Linux
Geräte Treiber unter Unix/Linux Martin Schäf 7. Oktober 2004 1 Einleitung Die Programmierung von Geräte Treibern unter Linux ist ein sehr populäres Thema, da für viele Geräte keine, oder nur sehr primitive
MehrRechnerarchitektur und Betriebssysteme (CS201): Frühe Betriebssysteme, geschützte CPU-Befehle, CPU-Modus
Rechnerarchitektur und Betriebssysteme (CS201): Frühe Betriebssysteme, geschützte CPU-Befehle, CPU-Modus 2. November 2012 Prof. Dr. Christian Tschudin Departement Mathematik und Informatik, Universität
MehrProseminar Konzepte von Betriebssystemkomponenten
Proseminar Konzepte von Betriebssystemkomponenten Thema: Module von Michael Balda am 02.02.2004 1 Allgemeines zum Modulkonzept 1.1 Was sind Module? Wozu dient das Modulkonzept? Module sind Codeelemente,
MehrProseminar: Konzepte von Betriebsystem-Komponenten (KVBK)
Proseminar: Konzepte von Betriebsystem-Komponenten (KVBK) Schwerpunkt Linux Interrupts, Softirqs, Tasklets, Bottom Halves Interrupts: Softirqs, Tasklets, Bottom Halves 1 Thomas Engelhardt Übersicht: Klassifizierung
MehrDOSEMU. Vortrag im Hauptseminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Matthias Felix FAU. 13.
DOSEMU Vortrag im Hauptseminar Konzepte und Techniken virtueller Maschinen und Emulatoren Matthias Felix filo@icip.de FAU 13. Juni 2007 Matthias Felix (FAU) DOSEMU 13. Juni 2007 1 / 22 Inhalt 1 Einführung
MehrNetzwerk-Programmierung in C
1 / 26 Netzwerk-Programmierung in C Oliver Bartels Fachbereich Informatik Universität Hamburg 2 Juli 2014 2 / 26 Inhaltsverzeichniss 1 IPv4 und IPv6 Wie werden Daten verschickt? 2 3 Verbindungsaufbau ohne
MehrTreiber Einfache Gerätetreiber
Treiber Einfache Gerätetreiber Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2007/2008 Treiber Einfache Gerätetreiber 1/42
MehrLinux-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
MehrGNU/Hurd. ... ein Mach basiertes Multi Server Betriebssystem. Manuel Gorius. . p.1/33
. p.1/33 GNU/Hurd... ein Mach basiertes Multi Server Betriebssystem Manuel Gorius 16. September 2004 . p.2/33 Übersicht 1. Wissenswertes zu Hurd 2. Motivationen und Ziele 3. Mach Microkernel 4. Single
MehrBetriebssysteme I SS 2008 Hans-Georg Eßer, Hochschule München Zusammenfassung Seite 1
/home/esser/daten/dozent/hs-muenchen-2008/folien/bs-ss2008-esser-14.odp Sep 19 14:20:18 amd64 sshd[20494]: Accepted rsa for esser from ::ffff:87.234.201.207 port 61557 Sep 19 14:27:41 amd64 syslog-ng[7653]:
MehrUNIX Devices Übung aus Systemprogrammierung & Systemnahme Programmierung. Armin Wasicek
UNIX Devices Übung aus Systemprogrammierung & Systemnahme Programmierung Armin Wasicek 1 Inhalt UNIX Kernel Dateisystemverwaltung Geräteverwaltung Networking Security 2 UNIX Kernel Struktur System call
MehrHardware. Heimo Schön 4/2002 Seite 1/22
Hardware Heimo Schön 4/2002 Seite 1/22 /dev Geräte befinden sich im Directory /dev Gerätetypen: Unterscheidung durch Dateityp (erste Spalte von ls -al) b Block Devices (Disk, Floppy, etc.) c character
MehrEinschub: HW-Zugriff aus dem Userspace
Einschub: HW-Zugriff aus dem Userspace Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2010/2011 Einschub: HW-Zugriff aus dem
MehrZusammenfassung für CS-Prüfung 3 Seite 1. CS-Zusammenfassung für Prüfung 3 vom Im Beispiel gibt es 3 Deadlocks
Zusammenfassung für CS-Prüfung 3 Seite 1 CS-Zusammenfassung für Prüfung 3 vom 24. 6. 2002 Deadlock Im Beispiel gibt es 3 Deadlocks Unterschied zwischen Blockieren, Verklemmen und Verhungenrn= -> Band 1
MehrTreiber PCI-Subsystem
Treiber PCI-Subsystem Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2010/2011 Treiber PCI-Subsystem 1/41 2011-04-05 Übersicht
MehrA 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....................................
MehrWas machen wir heute? Betriebssysteme Tutorium 10. Frage 10.1.a. Frage 10.1.a
Was machen wir heute? Betriebssysteme Tutorium 10 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 1
MehrPraktikum angewandte Systemsoftwaretechnik (PASST)
Praktikum angewandte Systemsoftwaretechnik (PASST) Dateisysteme / Aufgabe 6 21. Juni 2018 Stefan Reif, Peter Wägemann, Florian Schmaus, Michael Eischer, Andreas Ziegler, Bernhard Heinloth und Benedict
MehrBetriebssysteme. Tutorium 2. Philipp Kirchhofer
Betriebssysteme Tutorium 2 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 4. November 2009 Philipp
MehrProtokolle und Schichten. Grundlagen der Rechnernetze Einführung 41
Protokolle und Schichten Grundlagen der Rechnernetze Einführung 41 Protokoll und Interface Host 1 Host 2 High Level Objekt High Level Objekt Service Interface Service Interface Protokoll Peer to peer Interface
MehrAufbau 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
Mehrandere aufrufen und Datenstrukturen Die Folgen von Änderungen und Erweiterungen sind schwer
3. Betriebssystemorganisation 3.1 Monolithische Betriebssysteme Sammlung von Routinen, ohne Hierarchie, Kapselung und Schichtung. Jede Prozedur kann beliebige Anwendungen andere aufrufen und Datenstrukturen
MehrPROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN
PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN UNIX/Linux-Interprozesskommunikation, zugehörige Systemaufrufe und Kommandos 12. UNIX/Linux-Sockets Wintersemester 2016/17 UNIX/Linux-IPC-Mechanismen Nachrichtenbasierter
MehrKernel Programmierung unter Linux Teil II Programmierung von Kernelmodulen
Kernel Programmierung unter Linux Teil II Programmierung von Kernelmodulen Referent Klaus Ruhwinkel Module, Built-In-Treiber, Treiber Ein Modul kann alles sein Ein Treiber hat I/O Aufgaben und unterscheidet
MehrHardware & Kernel-Module
Hardware & Kernel-Module Linux-Kurs der Unix-AG Zinching Dang 09. Juli 2013 Hardwarekomponenten Mainboard CPU RAM Grafikkarte Festplatte Optische und Wechsel-Datenträger Peripherie Zinching Dang Hardware
MehrHardware und Gerätetreiber
Hardware und Gerätetreiber Betriebssysteme Hermann Härtig TU Dresden Übersicht Übersicht Kommunikation zwischen Hardware und CPU Interrupts I/O-Ports I/O-Speicher Busse Verwaltung von Geräten Dynamisches
Mehr4.3 Directories / Filesysteme
I-Node H. Weber, FH Wiesbaden WS 2008/09 Systemprogrammierung Kap. 4.3 Seite 1 von 32 Hierfür gibt es eine ganze Reihe von Systemaufrufen und Subroutines. Wir beginnen mit chroot Root Directory ändern
Mehr7 Laufzeit-Speicherverwaltung
7.1 Grundlagen Bevor wir die Code-Generierung betrachten, müssen wir uns Gedanken über zur Laufzeit des zu generierenden Programms notwendige Aktivitäten zur Zuordnung und Freigabe von Speicherplatz machen.
MehrProjekt: Web-Server. Foliensatz 9: Projekt Folie 1. Hans-Georg Eßer, TH Nürnberg Systemprogrammierung, Sommersemester 2014
Sep 19 14:20:18 amd64 sshd[20494]: Accepted rsa for esser from ::ffff:87.234.201.207 port 61557 Sep 19 14:27:41 amd64 syslog-ng[7653]: STATS: dropped 0 Sep 20 01:00:01 amd64 /usr/sbin/cron[29278]: (root)
MehrBetriebssysteme 7. Geräteverwaltung. Peter Altenbernd Geräteverwaltung Betriebssysteme WS 2010/11 Hochschule Darmstadt
Betriebssysteme 7. Geräteverwaltung 1 Übersicht 1. Ziel des Kapitels 2. Motivation und Aufgaben 3. Einleitung 4. E/A-Schichtenmodell 5. E/A mit Plattenspeichern 6. Uhren 7. Terminals und Graphische Benutzeroberflächen
MehrTafelübung zu BS 5. Dateioperationen
Tafelübung zu BS 5. Dateioperationen Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/ http://ess.cs.tu-dortmund.de/de/teaching/ss2014/bs/
MehrBetriebssysteme Übung 2. Tutorium System Calls & Multiprogramming
Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming Task Wiederholung 1 System SysCalls (1) Wozu? Sicherheit Stabilität Erfordert verschiedene modes of execution: user mode privileged mode
MehrTechnische Informatik 1
Technische Informatik 1 7 Prozesse und Threads Lothar Thiele Computer Engineering and Networks Laboratory Betriebssystem 7 2 7 3 Betriebssystem Anwendung Anwendung Anwendung Systemaufruf (syscall) Betriebssystem
MehrI/O Managment und Software. Input/Output Management Tanenbaum Kap. 5 Stallings Kap. 11 Glatz Kap. 6
I/O Managment und Software Input/Output Management Tanenbaum Kap. 5 Stallings Kap. 11 Glatz Kap. 6 1 1 Inhalt Um was geht es? I/O-Hardware Geräte, Systeme, Schnittstellen, Controller Organisation und Architektur
MehrImplementierung eines Dateisystems für den transparenten Zugriff auf ein Versionskontrollsystem
eines Dateisystems für den transparenten Zugriff auf ein Versionskontrollsystem Präsentation zur Bachelorarbeit Jens M. Nödler Betreut durch Prof. Dr. Grabowski Institut für Informatik Georg-August-Universität
MehrU5 Verzeichnisse und Sortieren
U5 Verzeichnisse und Sortieren U5 Verzeichnisse und Sortieren Linux-Benutzerumgebung Fehlerbehandlung POSIX-Verzeichnis-Systemschnittstelle Datei-Attribute in Inodes U5.1 Verzeichnisse öffnen: opendir(3)
Mehr11. Die PC-Schnittstelle
PC-Schnittstelle Funktion -1. Die PC-Schnittstelle.1. Funktion Die folgenden Angaben gelten ohne Einschränkung für den PC, PC-XT, PC-AT, AT-386, AT-486 und kompatible Rechner. Sie sind nur für jene interessant,
MehrBetriebssysteme. 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Übung zu Betriebssystemtechnik
Übung zu Betriebssystemtechnik Nachrichtenaustausch und Copy-on-Write 11. Juni 28 Andreas Ziegler Bernhard Heinloth Lehrstuhl für Informatik 4 Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl
MehrProgrammieren in C. Speicher anfordern, Unions und Bitfelder. Prof. Dr. Nikolaus Wulff
Programmieren in C Speicher anfordern, Unions und Bitfelder Prof. Dr. Nikolaus Wulff Vergleich: Felder und Strukturen Felder müssen Elemente vom selben Typ enthalten. Strukturen können Elemente unterschiedlichen
MehrZwei Möglichkeiten die TLB zu aktualisieren
Zwei Möglichkeiten die TLB zu aktualisieren Die MMU kümmert sich um alles (Hardware-Lösung) sucht die p-entry wenn diese nicht da ist, behandelt direkt das TLB-miss zum Schluss wird die neue p-entry (virt
MehrI/O: Von der Platte zur Anwendung. Von Igor Engel
I/O: Von der Platte zur Anwendung Von Igor Engel 1 Gliederung 1 Einleitung 2 Übersicht 3 Systemaufrufe Beispiel in Unix 4 Dateien 4.1 Dateisysteme 4.2 Transport der Daten 5 Festplattentreiber 6 Festplattenkontroller
MehrSystemprogrammierung II
Systemprogrammierung II Blätter zur Vorlesung Wintersemester 2005/06 Prof. Dr. Peter Schulthess Universität Ulm Verteilte Systeme Fakultät für Informatik 1. Einleitung 1.1. Organisation Termin ab 17.10.05,
MehrKonzepte 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
MehrPVFS (Parallel Virtual File System)
Management grosser Datenmengen PVFS (Parallel Virtual File System) Thorsten Schütt thorsten.schuett@zib.de Management grosser Datenmengen p.1/?? Inhalt Einführung in verteilte Dateisysteme Architektur
MehrBetriebssysteme 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
MehrName: ES2 Klausur Thema: ARM Name: Punkte: Note:
Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 75 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel
MehrInterruptverarbeitung
Interruptverarbeitung Ein Interruptaufruf unterbricht die gerade ablaufende Befehlsfolge in der Weise, daß nach Beendigung des laufenden Befehls nicht der nächste Befehl des Hauptprogramms ausgeführt,
MehrKommunikationsnetze. 2. Direkte TCP/IP-Verbindungen 2.1 Höhere Programmiersprachen
Kommunikationsnetze Gliederung 1. Socket-Programmierung unter C 2. Socket-Programmierung unter Java Gliederung Berkeley Sockets (Erste freie TCP/IP-Implementierung in Berkeley UNIX): SOCKET: Erzeugen eines
MehrProgrammiertechnik. 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
MehrMicrokernel-Betriebssysteme Mach, L4, Hurd
Microkernel-Betriebssysteme Mach, L4, Hurd 14. November 2002 Holger Ruckdeschel holger.ruckdeschel@informatik.stud.uni-erlangen.de 1 Übersicht Gegenüberstellung: Monolithischer Kernel - Microkernel Der
MehrBetriebssysteme und Microkern
16. September 2004 Überblick 1 Einführung 2 Betriebssysteme 3 Monolith 4 5 Anhang Einführung Teil I Einführung Einführung Was ist ein Betriebssystem? Unterscheidung Was ist ein Betriebssystem? engl. Operating
MehrGerä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
MehrBetriebssysteme 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Überlegungen beim Entwurf eines Betriebssystems
Überlegungen beim Entwurf eines Betriebssystems Schnelligkeit Schutz und Sicherheit Korrektheit Wartbarkeit Kommerzielle Faktoren Standards und offene Systeme Schnelligkeit Es ist schwierig, Kenngrößen
MehrSysteme 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
MehrLinker: Adreßräume verknüpfen. Informationen über einen Prozeß. Prozeß-Erzeugung: Verwandtschaft
Prozeß: drei häufigste Zustände Prozeß: anatomische Betrachtung jeder Prozeß verfügt über seinen eigenen Adreßraum Sourcecode enthält Anweisungen und Variablen Compiler überträgt in Assembler bzw. Binärcode
MehrGNU/Linux Introduction Linux Introduction: Part 1. Simon M. Haller, Sebastian Stabinger iis.uibk.ac.at
GNU/Linux Introduction Linux Introduction: Part 1 Simon M. Haller, Sebastian Stabinger iis.uibk.ac.at Windows / Linux @ Central IT Services Windwos 7 Centos 7.3 Zugriff von Windows auf Linux (WinSCP, PuTTy)
MehrHomogene Multi-Core-Prozessor-Architekturen
Homogene Multi-Core-Prozessor-Architekturen Praktikum Parallele Rechnerarchitekturen Stefan Potyra Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2009
MehrC. Betriebssystem-Strukturen C.1 Monolithische Betriebssysteme
C. Betriebssystem-Strukturen C.1 Monolithische Betriebssysteme Sammlung von Routinen, ohne Hierarchie, Kapselung und Schichtung. Jede Prozedur kann beliebige andere Prozeduren aufrufen und Datenstrukturen
MehrTreiber Netzwerktreiber
Treiber Netzwerktreiber Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2009/2010 Treiber Netzwerktreiber 1/42 2009-10-09 Übersicht
MehrKlausur Betriebssysteme I
Prof. Dr. Michael Jäger FB MNI Klausur Betriebssysteme I 9.3.2000 Bitte bearbeiten Sie die Aufgaben soweit wie möglich auf den Aufgabenblättern. Nachname: Matrikelnummer: Vorname: Semester: Bitte beantworten
MehrRO-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
MehrComputeranwendung 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
MehrFachhochschule Frankfurt am Main Fachbereich 2: Informatik WS 2008/2009. Grundkurs Unix. Teil 1: Die Essenz von UNIX. Dr.
Fachhochschule Frankfurt am Main Fachbereich 2: Informatik WS 2008/2009 Grundkurs Unix Teil 1: Die Essenz von UNIX Dr. Erwin Hoffmann E-Mail: unix@fehcom.de https://www.fehcom.net/unix/ Dr. Erwin Hoffmann:
MehrKonsequenz für Forwarding Tabellen
Konsequenz für Forwarding Tabellen Subnetznummer : 128. 96. 34. 0 Subnetzmaske : 255.255.255.128 128. 96. 34. 15 H1 128. 96. 34. 1 128. 96. 34.130 R1 Interface 1 Interface 2 128. 96. 34.128 255.255.255.128
MehrDynamische Datentypen. Destruktor, Copy-Konstruktor, Zuweisungsoperator, Dynamischer Datentyp, Vektoren
Dynamische Datentypen Destruktor, Copy-Konstruktor, Zuweisungsoperator, Dynamischer Datentyp, Vektoren Probleme mit Feldern (variabler Länge) man kann sie nicht direkt kopieren und zuweisen Probleme mit
Mehr7.4 Kommunikation. großzügige Pufferung, sowohl Auftragsbeziehungen als auch Nachrichten- oder Byte-Ströme, sowohl lokal als auch übers Netz
7.4 Kommunikation Kommunikation zwischen Benutzerprozessen (IPK) stellt andere Anforderungen als auftragsorientierte Kommunikation in mikrokernbasierten Betriebssystemen, vor allem großzügige Pufferung,
MehrDie 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:
MehrGrundlagen Rechnerarchitektur und Betriebssysteme
Grundlagen Rechnerarchitektur und Betriebssysteme Johannes Formann Definition Computer: Eine Funktionseinheit zur Verarbeitung von Daten, wobei als Verarbeitung die Durchführung mathematischer, umformender,
MehrBetriebssysteme BS-U SS Hans-Georg Eßer. Foliensatz U: Unix und Ulix Aufbau der Ulix-Quellcode-Dateien. Dipl.-Math., Dipl.-Inform.
BS-U Betriebssysteme SS 2015 Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz U: Unix und Ulix Aufbau der Ulix-Quellcode-Dateien v1.0-nl, 2015/05/12 (klassisch kommentierte Version) Betriebssysteme,
MehrDienstspezifikation nach RFC 2396 193
Dienstspezifikation nach RFC 2396 193 Für die Kombination aus Rechnernamen (oder alternativ einer IP-Adresse) und einer Portnummer gibt es mit RFC 2396 einen Standard: hostport host [ : port ] host hostname
MehrTreiber Einfache Gerätetreiber
Treiber Einfache Gerätetreiber Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2010/2011 Treiber Einfache Gerätetreiber 1/50
MehrMobile Anwendungsentwicklung - Überblick über ios & Swift I -
Mobile Anwendungsentwicklung - Überblick über & I - Prof. Dr. Michael Cebulla 4. November 2016 Hochschule Schmalkalden Wintersemester 2016/17 1 / 38 M. Cebulla Mobile Anwendungsentwicklung Gliederung 1
MehrBetriebssysteme VO Betriebssysteme KU
VO KU für Lehramt VU Einführung 7.10.2011 Inhalt Vorstellung Motivation und Inhalte der Vorlesung Organisatorisches Übungen git Inhalte Aufbauend auf Rechnerorganisation Verständnis für Funktionen und
MehrVerteilte Systeme - Java Networking (Sockets) -
Verteilte Systeme - Java Networking (Sockets) - Prof. Dr. Michael Cebulla 30. Oktober 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 36 M. Cebulla Verteilte Systeme Gliederung Grundlagen TCP/IP
MehrDie Shell - Das Vorspiel
Die Shell - Das Vorspiel Die Shell, die Kommandozeile und ein Teil vom ganzen Rest Dirk Geschke Linux User Group Erding 22. Oktober 2008 Dirk Geschke (LUG-Erding) Linux Grundlagen 22. Oktober 2008 1 /
MehrOperating Systems Principles. Event Queue
Humboldt University Computer Science Department Operating Systems Principles Event Queue 1. Aufgabe 3 Wochen Zeit zum Lösen der Aufgaben Aufgabenstellung auf der SAR Website Abgabe über GOYA Abgabefrist:
MehrInternet Modell. Nothing stated. Bildquelle: Andrew S. Tanenbaum, Computer Networks, Fourth Edition, 2003 Grundlagen der Rechnernetze Einführung 50
Internet Modell Nothing stated by TCP/IP model Bildquelle: Andrew S. Tanenbaum, Computer Networks, Fourth Edition, 2003 Grundlagen der Rechnernetze Einführung 50 Internet Protokolle Bildquelle: Andrew
MehrBetriebssysteme. Kommunikation von Prozessen und Threads. Sommersemester Prof. Dr. Peter Mandl. Seite 1. Prof. Dr. Peter Mandl.
Kommunikation von Prozessen und Threads Sommersemester 2014 Seite 1 Gesamtüberblick 1. Einführung in 2. Betriebssystemarchitekturen und Betriebsarten 3. Interruptverarbeitung in n 4. Prozesse und Threads
MehrVorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)
Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) J. Zhang zhang@informatik.uni-hamburg.de Universität Hamburg AB Technische Aspekte Multimodaler Systeme
MehrExport von Netzstatusinformationen aus WLAN-Routern mit IPFIX
Lehrstuhl für Netzarchitekturen und Netzdienste Institut für Informatik Technische Universität München Export von Netzstatusinformationen aus WLAN-Routern mit IPFIX Abschlussvortrag zur Bachelorarbeit
MehrKommunikation von Prozessen und Threads
Kommunikation von Prozessen und Threads Sommersemester 2015 Prof. Dr. Peter Mandl Prof. Dr. Peter Mandl Seite 1 Gesamtüberblick 1. Einführung in Computersysteme 2. Entwicklung von Betriebssystemen 3. Architekturansätze
MehrDokumentation CanFox API
Dokumentation CanFox API Author: Andreas Herbertz Erstellt: 18.09.2012 Sontheim Industrie Elektronik GmbH Georg-Krug-Straße 2, D-87437 Kempten Telefon: +49) 0831.575900-0 Fax: +49) 0831.575900-72 Email:
MehrDevice Management Schnittstellen. Referat von Peter Voser Embedded Development GmbH
Device Management Schnittstellen Referat von Peter Voser Embedded Development GmbH Device Management ist Gerätesteuerung Parametrisierung Zugang zu internen Messgrössen und Zuständen Software Upgrade www.embedded-development.ch
MehrFilesystemserver. SDI Gruppe Juni Till Schuberth / Victor van Santen. Filesystemserver: Till Schuberth und Victor van Santen SDI6
Filesystemserver SDI Gruppe 6 04. Juni 2009 Till Schuberth / Victor van Santen 1 Überblick Einführung Entwurfsentscheidungen Beschreibung der Server Beispielimplementierungen für L4 Schnittstellenbeschreibung
MehrVorlesung 5: Interrupts
Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme Vorlesung 5: Interrupts Peter B. Ladkin Kommunikation über den Bus CPU läuft zu einer Taktfrequenz I/O Geräte laufen zu anderen
MehrVerschlüsseln eines Bildes. Visuelle Kryptographie. Verschlüsseln eines Bildes. Verschlüsseln eines Bildes
Verschlüsseln eines Bildes Visuelle Kryptographie Anwendung von Zufallszahlen Wir wollen ein Bild an Alice und Bob schicken, so dass Alice allein keine Information über das Bild bekommt Bob allein keine
MehrThreads. Netzwerk - Programmierung. Alexander Sczyrba Jan Krüger
Netzwerk - Programmierung Threads Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de Jan Krüger jkrueger@cebitec.uni-bielefeld.de Übersicht Probleme mit fork Threads Perl threads API Shared Data Mutexes
MehrLinux 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