4. Linux-Treiber. System Architektur
|
|
- Hertha Junge
- vor 7 Jahren
- Abrufe
Transkript
1 4. Linux-Treiber Rubini, Alessandro: Linux Device Drivers, O Reilly, 2nd Edition, 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). Systemprogrammierung II, Winter 2002/03, P. Schulthess & M. Schöttner 95
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 Systemprogrammierung II, Winter 2002/03, P. Schulthess & M. Schöttner 96
3 4.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 Meldungen, 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) Systemprogrammierung II, Winter 2002/03, P. Schulthess & M. Schöttner 97
4 4.1.2 Dynamische Treiber in Modulen 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: rmod /bt878/bin/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 ) Superuser-Rechte notwendig für insmod & rmod. Systemprogrammierung II, Winter 2002/03, P. Schulthess & M. Schöttner 98
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. 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. Systemprogrammierung II, Winter 2002/03, P. Schulthess & M. Schöttner 99
6 Ö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. int open(struct inode *i, struct file *fp) Korrespondierende Funktion im Treiber, 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). Systemprogrammierung II, Winter 2002/03, P. Schulthess & M. Schöttner 100
7 Verbesserung durch devfs (ab Version ): Gerätedateien werden dynamisch erzeugt und entfernt. Gerätetreiber definiert Namen selbst Datei-Datenstrukturen FileDeskriptor als Integerzahl: Index in die Dateitabelle eines Prozesses, Standardinput, -output, -error (0,1,2). File bezieht sich auf einen inode. inode nimmt Bezug auf Treiber oder Diskfile. F_Deskr User Prozess files Kernel inodes Block-Cache Blocktreiber Treiber Treiber Treiber[i] Systemprogrammierung II, Winter 2002/03, P. Schulthess & M. Schöttner 101
8 Virtual File System Koexistenz mehrerer Dateisysteme: Reale Dateisysteme (... HPFS, Minix), /proc/ -Dateisystem, Gerätetreiber: Virtuelles Dateisystem Ext2 FAT xfs /proc/ Block-Cache Gerätetreiber Systemprogrammierung II, Winter 2002/03, P. Schulthess & M. Schöttner 102
9 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: inklusive CPU Designfehler devices: 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. Systemprogrammierung II, Winter 2002/03, P. Schulthess & M. Schöttner 103
10 4.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: 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 Systemprogrammierung II, Winter 2002/03, P. Schulthess & M. Schöttner 104
11 4.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) ( ), }; Systemprogrammierung II, Winter 2002/03, P. Schulthess & M. Schöttner 105
12 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"); } Systemprogrammierung II, Winter 2002/03, P. Schulthess & M. Schöttner 106
13 4.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. Systemprogrammierung II, Winter 2002/03, P. Schulthess & M. Schöttner 107
14 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. Bem.: zusätzlich können eigene Queues implementiert werden. Systemprogrammierung II, Winter 2002/03, P. Schulthess & M. Schöttner 108
15 4.7.1 Interrupt-Routinen 4.7. 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. Systemprogrammierung II, Winter 2002/03, P. Schulthess & M. Schöttner 109
16 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 count; /* 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? */ Systemprogrammierung II, Winter 2002/03, P. Schulthess & M. Schöttner 110
17 User process Kernel interruptible_sleep_on( ) Treiber ISR Device IRQ wake_up_interruptible( ) Systemprogrammierung II, Winter 2002/03, P. Schulthess & M. Schöttner 111
18 4.7.2 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. Maximal 32 Bottom-Half Routinen werden gerufen beim Verlassen eines System Calls: return_from_ syscall #31 Bottom- Halfs in Treibern 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); Systemprogrammierung II, Winter 2002/03, P. Schulthess & M. Schöttner 112
19 Beispiel: Bottom-Half struct tq_struct mybh_task; /* my bottom half task queue */ struct wait_queue *my_queue; /* waiting queue for pending readers */ void init() { mybh_task.routine = my_bottom_half; mybh_task.data = NULL; /* unused */ } void my_bh_interrupt(int irq, void *dev_id, struct pt_regs *regs) { queue_task_irq_off(&mybh_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_bh_interrupt(int irq, void *dev_id, struct pt_regs *regs) { tasklet_schedule(&my_tasklet); } Systemprogrammierung II, Winter 2002/03, P. Schulthess & M. Schöttner 113
20 4.7.3 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! Standard ist 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 alternativ: 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. Systemprogrammierung II, Winter 2002/03, P. Schulthess & M. Schöttner 114
21 4.8.1 Hardware-Erkennung 4.8. 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. Systemprogrammierung II, Winter 2002/03, P. Schulthess & M. Schöttner 115
22 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 */ 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 ) Systemprogrammierung II, Winter 2002/03, P. Schulthess & M. Schöttner 116
23 Interrupt reservieren: success = request_irq ( Irq, Hdlr, Flags, ) DMA-Kanäle reservieren: success = request_dma( mychannel, Drvr77 ) Deinstallieren: release_region( ); free_irq( ); free_dma( ).. Systemprogrammierung II, Winter 2002/03, P. Schulthess & M. Schöttner 117
24 4.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 */ }; Systemprogrammierung II, Winter 2002/03, P. Schulthess & M. Schöttner 118
25 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 */ } Request-Function liegt im Blocktreiber und interpretiert den aktuellen Request. Systemprogrammierung II, Winter 2002/03, P. Schulthess & M. Schöttner 119
26 4.9.2 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, Adressen zum lesen oder schreiben. blk_dev_struct[ major] minor Device parameter my_request requests s Systemprogrammierung II, Winter 2002/03, P. Schulthess & M. Schöttner 120
27 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) */ } } Systemprogrammierung II, Winter 2002/03, P. Schulthess & M. Schöttner 121
28 4.10. 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 Paralleler Port Serieller Port Serieller Port ISDN Karte Ethernet-Karte & dergl. Systemprogrammierung II, Winter 2002/03, P. Schulthess & M. Schöttner 122
29 Registrierung: 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 Systemprogrammierung II, Winter 2002/03, P. Schulthess & M. Schöttner 123
30 Programmierschnittstelle für Sockets Systemaufruf socketcall : int sys_socketcall(int call, unsigned long *args); Funktionen entsprechend cmdparameter: 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)... Verbindungsorientiert (TCP): Server: socket, bind, listen, accept, recv Klient: socket, connect, send Verbindungslos (UDP): Server: socket, bind, recvfrom Klient: socket, sendto Systemprogrammierung II, Winter 2002/03, P. Schulthess & M. Schöttner 124
Aufbau eines Kernelmoduls
Kernel Module Kernelmodul = ladbare/entfernbare Objektdatei (Dateisystem, Gerätetreiber, Systemeingriffe) Vorteile: Ressourcenverbrauch abhängig vom aktuellen Anforderungen Erweiterung der Kernelfunktionalität
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
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
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
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
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,
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
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]:
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....................................
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
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:
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
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
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
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
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
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
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
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
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
MehrPraktikum 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
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
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
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
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
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,
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
MehrTafelübung zu BS 4. Interprozesskommunikation
Tafelübung zu BS 4. Interprozesskommunikation Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/
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
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)
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
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
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
MehrBetriebssysteme KU - Einführungstutorium
Betriebssysteme KU - Einführungstutorium SWEB-Tutoren irc://irc.at.euirc.net/bs Teamwork Arbeitsaufteilung? Zeiteinteilung? Codeeinteilung? Kommunikation! Kommunikation Kommunikation mit dem Team Gruppentreffen
MehrARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH
ARM Cortex-M Prozessoren Referat von Peter Voser Embedded Development GmbH SoC (System-on-Chip) www.embedded-development.ch 2 Instruction Sets ARM, Thumb, Thumb-2 32-bit ARM - verbesserte Rechenleistung
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
MehrSicheres C Programmieren in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester 2010-2011
Sicheres C in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester 2010-2011 Dipl. Ing. (FH) Ebrecht Roland, Infineon Technologies AG M.Eng (Electronic Systems) Güller Markus, Infineon Technologies
MehrEmbedded-Linux-Seminare. Linux als Betriebssystem
Embedded-Linux-Seminare Linux als Betriebssystem http://www.embedded-linux-seminare.de Diplom-Physiker Peter Börner Spandauer Weg 4 37085 Göttingen Tel.: 0551-7703465 Mail: info@embedded-linux-seminare.de
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 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
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
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
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
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:
MehrEinleitung Aufbau und Struktur Kommunikation Ein einfacher Treiber. Linux - Der Kernel. Daniela Staritzbichler, Felix Wolfersberger, Bernhard Schauer
Daniela Staritzbichler, Felix Wolfersberger, Bernhard Schauer 18. Jänner 2008 Übersicht 1 Einleitung Was ist Linux? 2 Aufbau und Struktur Mikro/Monolithischer Kern Der Linux Kernel VFS 3 Kommunikation
MehrÜbung aus Systemprogrammierung & Systemnaher Programmierung
UNIX Devices Übung aus Systemprogrammierung & Systemnaher Programmierung Armin Wasicek WS 2010/11 UNIX Devices 1 Inhalt UNIX Kernel Dateisystemverwaltung Geräteverwaltung Networking 2 UNIX Kernel Struktur
MehrAdressauflösung. IP Adresse Physikalische Adresse 128.96.34.1 57:FF:AA:36:AB:11 128.96.34.16 85:48:A4:28:AA:18
Adressauflösung IP Adresse Physikalische Adresse 128.96.34.1 57:FF:AA:36:AB:11 128.96.34.16 85:48:A4:28:AA:18 IP Adresse Physikalische Adresse 128.96.34.15??? 128.96.34.16 85:48:A4:28:AA:18 128.96.34.15
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
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
MehrOperating System Kernels
Operating System Kernels von Patrick Bitterling 1 Themenübersicht -Eine Einleitung über Kernel -Begriffserklärung, Architekturen -Kernel Subsysteme -Prozess-Scheduling, Speichermanagement,... -Der Networking
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
MehrWas machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161?
Was machen wir heute? Betriebssysteme Tutorium 2 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 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:
MehrFuse. Filesystem in Userspace PRÄSENTATION VON TIM WELGE
Fuse Filesystem in Userspace PRÄSENTATION VON TIM WELGE 1 INHALTSVERZEICHNIS Einführung Was ist ein Dateisystem Was ist der Userspace FUSE Andere Schlüssel Funktionen Beispiele Wie funktioniert FUSE Schreiben
MehrBetriebssystemschichten (11.03.2011)
Proseminar Speicher- und Dateisysteme (11.03.2011) Bernd Ihnen Übersicht 2/20 Einleitung Betriebssysteme/ Übersicht Mikrokernel Monolithischer Kernel Vergleich der Kernel Fallbeispiel Linux Kernelaufbau
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 /
Mehr6.4 Fallstudie: PC-Bussysteme (9)
6.4 Fallstudie: PC-Bussysteme (9) Plug & Play: beim Booten liest BIOS den 256- Byte Konfigurationsblock jeder PCI-Karte mit: Code für Hersteller und Gerätenummer Code für Gerätetyp Zeitparameter BIOS konfiguriert
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
MehrTru64 UNIX Performance Tuning. Tuning. Was heißt Tuning. Know your environment. Inhalt. Grundregeln. Grundregeln
Was heißt Tuning Tuning Tru64 UNIX Performance Tuning Reinhard Stadler TCSC München Reinhard.Stadler@compaq compaq.com Ziel von Tuning ist es, das Bottleneck auf die schnellste Komponente zu verschieben!!
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 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
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
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
Mehr19. Mai 2004 Gewerbeschule Bad Säckingen Manuel Schneider
Partitionen und Dateisysteme Sinnvolle Partitionierung Linux Boot-Partition (ext2) Swap-Partition (swap) Root-Partition (reiserfs) Windows (ntfs) Partitionierung mit fdisk (Linux) :[~]#> fdisk /dev/hda
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
MehrThreads. Foliensatz 8: Threads Folie 1. Hans-Georg Eßer, TH Nürnberg Systemprogrammierung, Sommersemester 2015
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)
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
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
MehrOFS: Ein allgemeines Offline-Dateisystem auf Basis von FUSE
OFS: Ein allgemeines Offline-Dateisystem auf Basis von FUSE Tobias Jähnel und Peter Trommler Fakultät Informatik Georg-Simon-Ohm-Hochschule Nürnberg http://offlinefs.sourceforge.net Übersicht Hintergrund
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,
MehrE.1 Allgemeine Konzepte (3) E.1 Allgemeine Konzepte (2) E.1 Allgemeine Konzepte. Datei. Einordnung. Katalog / Verzeichnis
E Dateisysteme E Dateisysteme (3) Einordnung Prozessor (CPU, Central processing unit) Datei speichert Daten oder Programme Katalog Verzeichnis erlaubt Benennung der Dateien enthält Zusatzinformationen
MehrÜbersicht. UNIX-Dateisystem (ext2) Super-User unter Linux werden MSDOS: FAT16 und FAT32
Übersicht UNIX-Dateisystem (ext2) Super-User unter Linux werden MSDOS: FAT16 und FAT32 Die in diesem Teil vorgestellten Informationen stellen lediglich das Prinzip dar - im Detail ist alles etwas komplizierter...
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
MehrWindows CE. Process Control and Robotics. Fabian Garagnon
Windows CE Process Control and Robotics Fabian Garagnon 14.01.2009 Agenda 3 Geschichte & Timeline Echtzeit & Multithreading Architektur Memory Management & Context Switch Entwicklung unter CE Interrupts
MehrSUPERCOM 7 32-BIT UND 64-BIT WINDOWS UND LINUX FÜR. ADONTEC, All Rechte vorbehalten. Rel D 7020
SUPERCOM 7 FÜR 32-BIT UND 64-BIT WINDOWS UND LINUX ADONTEC, 2012. All Rechte vorbehalten. www.adontec.com Rel D 7020 SuperCom Kommunikation Software Anwendung.NET Class Library ActiveX API Ein gemeinsames
Mehr.DSLWHO*%HWULHEXQWHU6&281,;9
.DSLWHO* %HWULHEXQWHU 6&281,;9.DSLWHO*%HWULHEXQWHU6&281,;9 *%HWULHEXQWHU6&281,;9 Nachdem in den Kapiteln B und C der Einbau des ICP Controllers bzw. das Einrichten von Host Drives erklärt wurde, wollen
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
MehrAssignment #2. Virtueller Speicher Virtual Memory WS 2012/2013 IAIK 1
Assignment #2 Virtueller Speicher Virtual Memory WS 2012/2013 IAIK 1 Organisatorisches:Termine Ab Montag Tutorien 10.12.-14.12. Designdiskussionen 18.12. Abgabe Designdokument 18.1. Abgabe Implementierung
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
MehrProjekt: Web-Proxy. Foliensatz 9: Projekt Folie 1. Hans-Georg Eßer, TH Nürnberg Systemprogrammierung, Sommersemester 2015
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 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
MehrDateisysteme Linux-Kurs der Unix-AG
Dateisysteme Linux-Kurs der Unix-AG Klaus Denker 20./21. Juni 2012 Was ist ein Dateisystem? Verwaltung von Dateien auf Datenträgern Beispiele: ext4, btrfs, nfs,... Baumstruktur aus Verzeichnissen und Dateien
Mehr9.3 Virtuelle FS Linux VFS Windows IFS 9.4 Dateizugriff in Linux-Programmen
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)
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
Mehr1.) Nennen Sie Aufgaben und mögliche Dienste der Transportschicht (Transport Layer) des ISO/OSI-Schichtenmodells.
Übung 7 1.) Nennen Sie Aufgaben und mögliche Dienste der Transportschicht (Transport Layer) des ISO/OSI-Schichtenmodells. 2.) Charakterisieren Sie kurz das User Datagram Protokoll (UDP) aus der Internetprotokollfamilie
MehrVerteilte Systeme - Java Networking (Sockets) 2 -
Verteilte Systeme - Java Networking (Sockets) 2 - Prof. Dr. Michael Cebulla 06. November 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 30 Michael Cebulla Verteilte Systeme Gliederung Wiederholung:
MehrHardware PCI-Bus. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg
Hardware PCI-Bus Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009 Hardware PCI-Bus 1/23 2008-08-06 Übersicht Inhalt:
MehrHardware PCI-Bus. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg
Hardware PCI-Bus Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2007/2008 Hardware PCI-Bus 1/23 2007-10-26 Übersicht Inhalt:
MehrDynamische Speicherverwaltung
Dynamische Speicherverwaltung 1/ 23 Dynamische Speicherverwaltung Tim Dobert 17.05.2013 Dynamische Speicherverwaltung 2/ 23 Gliederung 1 Allgemeines zur Speichernutzung 2 Ziele und Nutzen 3 Anwendung in
MehrIPv6 kompatible Programmierung unter Unix. Vortrag von Dipl. Inf. Matthias Scheler Paderborn, Juli 2004
1 IPv6 kompatible Programmierung unter Unix Vortrag von Dipl. Inf. Matthias Scheler Paderborn, Juli 2004 2 Was ist IPv6? Internet Protocol Version 6 (auch Internet Protocol Next Generation genannt) Nachfolger
MehrVMWare 3.0. Vmware Installation: - Install VMWARE. - c:\ Programme \ VMWARE. - CD Autorun disable / ja
Vmware Installation: - Install VMWARE - c:\ Programme \ VMWARE - CD Autorun disable / ja C:\hermann\kuchta\vmware.doc Seite 1 von 16 DAT 24.05.2003 - Digitale Signatur nicht vorhanden trotzdem installieren
MehrAnhang A - Weitere Bibliotheken. Die Bibliothek Mail_02.lib ermöglicht das Versenden von Emails mit dem Ethernet-Controller 750-842.
Anhang A - Weitere Bibliotheken WAGO-I/O-PRO 32 Bibliothek Mail_02.lib Die Bibliothek Mail_02.lib ermöglicht das Versenden von Emails mit dem Ethernet-Controller 750-842. Inhalt Mail_02.lib 3 MAIL_SmtpClient...
MehrKonzepte von Betriebssystem-Komponenten. I/O: von der Platte zur Anwendung
Konzepte von Betriebssystem-Komponenten I/O: von der Platte zur Anwendung SS 05 Igor Engel Igor.Engel@informatik.stud.uni-erlangen.de 1 1 Einleitung 2 Übersicht 3 Systemaufrufe Beispiel in Unix 4 Dateien
MehrRechnerarchitekturen und Betriebssysteme (CS201): Intro Betriebssysteme, SW Interrupts, Supervisory Call
Rechnerarchitekturen und Betriebssysteme (CS201): Intro Betriebssysteme, SW Interrupts, Supervisory Call 4. November 2014 Prof. Dr. Christian Tschudin Departement Mathematik und Informatik, Universität
MehrC++ Teil 12. Sven Groß. 18. Jan Sven Groß (IGPM, RWTH Aachen) C++ Teil Jan / 11
C++ Teil 12 Sven Groß 18. Jan 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 12 18. Jan 2016 1 / 11 Themen der letzten Vorlesung Wiederholung aller bisherigen Themen: Datentypen und Variablen Operatoren Kontrollstrukturen
MehrOpenCL. Programmiersprachen im Multicore-Zeitalter. Tim Wiersdörfer
OpenCL Programmiersprachen im Multicore-Zeitalter Tim Wiersdörfer Inhaltsverzeichnis 1. Was ist OpenCL 2. Entwicklung von OpenCL 3. OpenCL Modelle 1. Plattform-Modell 2. Ausführungs-Modell 3. Speicher-Modell
MehrVirtueller Speicher und Memory Management
Virtueller Speicher und Memory Management Speicher-Paradigmen Programmierer ein großer Adressraum linear adressierbar Betriebssystem eine Menge laufender Tasks / Prozesse read-only Instruktionen read-write
Mehr