Treiber PCI-Subsystem
|
|
- Helmuth Holzmann
- vor 7 Jahren
- Abrufe
Transkript
1 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/
2 Übersicht Inhalt: Geräte(er)kennung, Initialisierung und Deinitialisierung, Ressourcen ermitteln und anfordern, Hardwarezugriff, Interrupts. Treiber PCI-Subsystem 2/
3 Geräte(er)kennung Typischer Ablauf 1 Modul-Initialisierung meldet den Treiber mit seiner Probeund Remove-Funktion beim PCI-Subsystem an, 2 PCI-Subsystem erkennt Hardware, findet über Herstellerund Gerätekennung zuständigen Treiber und ruft Probe-Funktion auf, 3 Probe-Funktion fordert Ressourcen an, initialisiert Hardware, 4 Treiber-Funktionen greifen auf Hardware zu, 5 Modul-Deinitialisierung meldet den Treiber beim PCI-Subsystem ab, 6 PCI-Subsystem ruft bei Entfernen des Geräts oder Treibers die Remove-Funktion auf, 7 Remove-Funktion gibt Ressourcen frei. Treiber PCI-Subsystem 3/
4 API: pci_register_driver pci_register_driver #i n c l u d e <l i n u x / p c i. h> i n t p c i _ r e g i s t e r _ d r i v e r ( s t r u c t p c i _ d r i v e r d r i v e r ) ; Registriert den durch die Struktur driver beschriebenen Treiber beim PCI-Subsystem, ist keine Hardware vorhanden und unterstützt der Kernel kein Hotplugging, wird der Treiber sofort wieder abgemeldet, wird typischerweise in der module_init-funktion aufgerufen, Rückgabewert: 0 bei Erfolg, negativer Fehlercode sonst (typischerweise -ENODEV). Treiber PCI-Subsystem 4/
5 API: pci_unregister_driver pci_unregister_driver #i n c l u d e <l i n u x / p c i. h> void p c i _ u n r e g i s t e r _ d r i v e r ( s t r u c t p c i _ d r i v e r d r i v e r ) ; Meldet den durch die Struktur driver beschriebenen Treiber beim PCI-Subsystem ab, wird typischerweise in der module_exit-funktion aufgerufen, das PCI-Subsystem ruft in der Folge die remove-funktion auf. Treiber PCI-Subsystem 5/
6 PCI-Treiberstruktur Aus <linux/pci.h>... s t r u c t p c i _ d r i v e r {... char name ; const s t r u c t p c i _ d e v i c e _ i d i d _ t a b l e ; i n t ( probe ) ( s t r u c t pci_dev dev, const s t r u c t p c i _ d e v i c e _ i d i d ) ; void ( remove ) ( s t r u c t pci_dev dev ) ;... } ; Treiber PCI-Subsystem 6/
7 PCI-ID-Struktur Aus <linux/mod_devicetable.h>... s t r u c t p c i _ d e v i c e _ i d { u32 vendor, d e v i c e ; u32 subvendor, s u b d e v i c e ; u32 c l a s s, class_mask ; k e r n e l _ u l o n g _ t d r i v e r _ d a t a ; } ; Treiber PCI-Subsystem 7/
8 PCI-ID-Struktur (2) MODULE_DEVICE_TABLE #i n c l u d e <l i n u x / module. h> MODULE_DEVICE_TABLE( subsystem, t a b e l l e ) ; Ergänzt die Meta-Information des erzeugten Moduls um Informationen, für welche Geräte der Treiber geeignet ist, subsystem bezeichnet das Subsystem, dem das Gerät angehört (pci, usb, isapnp,...), tabelle zeigt auf eine Subsystemspezifische Geräte-ID-Tabelle (bei PCI also eine vom Typ struct pci_device_id *). Treiber PCI-Subsystem 8/
9 PCI-Strukturen Beispiel s t a t i c const s t r u c t p c i _ d e v i c e _ i d d e v i n i t d a t a dhwk_pci_ids [ ] = { { 0 x10b5, / vendor / 0 x9056, / d e v i c e / PCI_ANY_ID, / subvendor / PCI_ANY_ID, / s u b d e v i c e / 0, 0, 0 }, { 0, } / Ende des A r r a y s / } ; s t a t i c s t r u c t p c i _ d r i v e r dhwk_driver = {. name = "dhwk",. i d _ t a b l e = dhwk_pci_ids,. probe = dhwk_probe,. remove = devexit_p ( dhwk_remove ), } ; Treiber PCI-Subsystem 9/
10 PCI-Strukturen (2) Beispiel (Fort.)... MODULE_DEVICE_TABLE( pci, dhwk_pci_ids ) ;... s t a t i c i n t i n i t dhwk_init ( void ) { i f ( r e g i s t e r _ c h r d e v (240, "DHWK",& f o p s ) == 0) { i f ( p c i _ r e g i s t e r _ d r i v e r (& dhwk_driver ) < 0) { u n r e g i s t e r _ c h r d e v (240, "DHWK" ) ; r e t u r n EIO ; } r e t u r n 0 ; } r e t u r n EIO ; }... m o d u l e _ i n i t ( dhwk_init ) ; Treiber PCI-Subsystem 10/
11 PCI-Funktionen probe probe i n t d r i v e r _ p r o b e ( s t r u c t pci_dev dev, const s t r u c t p c i _ d e v i c e _ i d i d ) ; Wird aufgerufen, wenn das PCI-Subsystem eine Hardware-Komponente vom registrierten Typ gefunden hat, sollte der Sektion devinit zugeordnet werden, die Implementation muss ggf. testen, welche Variante/Version der Hardware vorliegt, Ressourcen reservieren, treiber- und gerätespezifische Initialisierungen durchführen, sie braucht keinen Hardware-Probe im eigentlichen Sinne durchzuführen, Rückgabewert: 0 bei Erfolg, negativer Fehlercode sonst. Treiber PCI-Subsystem 11/
12 PCI-Gerätestruktur Aus <linux/pci.h>... s t r u c t pci_dev {... unsigned s h o r t vendor ; unsigned s h o r t d e v i c e ; s t r u c t d e v i c e dev ; i n t c f g _ s i z e ; unsigned i n t i r q ; s t r u c t r e s o u r c e r e s o u r c e [DEVICE_COUNT_RESOURCE ] ;... } ; Treiber PCI-Subsystem 12/
13 Device-Struktur driver_data void dev_get_drvdata ( s t r u c t d e v i c e dev ) ; void dev_set_drvdata ( s t r u c t d e v i c e dev, void data ) ; Dient zum Manipulieren treiberspezifischer Daten in der Device-Struktur (dev in struct pci_dev), der direkte Zugriff auf driver_data ist nicht mehr möglich. Treiber PCI-Subsystem 13/
14 PCI-Funktionen remove remove void d r i v e r _ r e m o v e ( s t r u c t pci_dev dev ) ; Gegenstück zu probe, die Implementation muss ggf. die Hardware deinitialisieren und alle reservierten Ressourcen freigeben, sollte der Sektion devexit zugeordnet werden. Treiber PCI-Subsystem 14/
15 Ressourcen anfordern PCI-Subsystem reserviert bereits für alle Geräte, die es findet, die in ihrem Config-Space angeforderten Speicher- und IO-Ressourcen. Aber... Bevor ein Treiber auf IO- oder Speicher-IO-Bereiche zugreifen darf, muss er sie beim betreffenden Subsystem anfordern. Treiber PCI-Subsystem 15/
16 Ressourcen anfordern pci_request_regions pci_request_regions #i n c l u d e <l i n u x / p c i. h> i n t p c i _ r e q u e s t _ r e g i o n s ( s t r u c t pci_dev pdev, const char res_name ) ; Reserviert alle IO- und Speicher-Ressourcen des Geräts pdev unter dem Namen res_name, nach erfolgreicher Registrierung erscheint ein entsprechender Eintrag in /proc/ioports und/oder /proc/iomem, Rückgabewert: 0 bei Erfolg, -EBUSY bei Fehler. Treiber PCI-Subsystem 16/
17 Ressourcen anfordern request_region request_region #i n c l u d e <l i n u x / i o p o r t. h> s t r u c t r e s o u r c e r e q u e s t _ r e g i o n ( unsigned long from, unsigned long l e n g t h, const char name ) ; Fordert den Bereich der Länge length ab der Adresse from im IO-Port-Bereich unter dem Namen name an, nach erfolgreicher Registrierung erscheint ein entsprechender Eintrag in /proc/ioports, Rückgabewert: Adresse der resource-struktur bei Erfolg, NULL bei Fehler. Treiber PCI-Subsystem 17/
18 Ressourcen anfordern request_mem_region request_mem_region #i n c l u d e <l i n u x / i o p o r t. h> s t r u c t r e s o u r c e request_mem_region ( unsigned long from, unsigned long l e n g t h, const char name ) ; Fordert den Bereich der Länge length ab der Adresse from im Speicher-IO-Bereich unter dem Namen name an, nach erfolgreicher Registrierung erscheint ein entsprechender Eintrag in /proc/iomem, Rückgabewert: Adresse der resource-struktur bei Erfolg, NULL bei Fehler. Treiber PCI-Subsystem 18/
19 Ressourcen ermitteln PCI-Ressourcen-Makros Zum bequemen Zugriff auf die IO-Ressourcen des PCI-Config- Space stehen eine Reihe von Makros zur Verfügung, deren wichtigste im Folgenden vorgestellt werden. pci_resource_flags #i n c l u d e <l i n u x / p c i. h> unsigned long p c i _ r e s o u r c e _ f l a g s ( s t r u c t pci_dev dev, i n t bar ) ; Gibt die Flags des durch bar bezeichneten Basis-Adress-Registers des PCI-Gerätes dev zurück, Rückgabewert: Disjunktion über Flags aus <linux/ioport.h>, u.a. IORESOURCE_IO IO-Adressbereich, IORESOURCE_MEM Speicheradressbereich. Treiber PCI-Subsystem 19/
20 Ressourcen ermitteln (2) pci_resource_start und _end #i n c l u d e <l i n u x / p c i. h> unsigned long p c i _ r e s o u r c e _ s t a r t ( s t r u c t pci_dev dev, i n t bar ) ; unsigned long p c i _ r e s o u r c e _ e n d ( s t r u c t pci_dev dev, i n t bar ) ; Gibt Anfang bzw. Ende des von Basis-Adress-Register bar bezeichneten Adressbereichs des Geräts dev zurück. pci_resource_len #i n c l u d e <l i n u x / p c i. h> unsigned long p c i _ r e s o u r c e _ l e n ( s t r u c t pci_dev dev, i n t bar ) ; Gibt die Länge des von Basis-Adress-Register bar bezeichneten Adressbereichs des Geräts dev zurück. Treiber PCI-Subsystem 20/
21 Ressourcen ermitteln (3) Direktzugriff #i n c l u d e <l i n u x / p c i. h> i n t p c i _ r e a d _ c o n f i g _ b y t e ( s t r u c t pci_dev dev, i n t where, u8 v a l ) ; i n t pci_read_config_word ( s t r u c t pci_dev dev, i n t where, u16 v a l ) ; i n t pci_read_config_dword ( s t r u c t pci_dev dev, i n t where, u32 v a l ) ; Liest ein Byte/Word/Dword aus dem Config-Space des Geräts dev bei Position where und schreibt es nach *val, Rückgabewert: Anzahl der gelesenen Bytes. Treiber PCI-Subsystem 21/
22 Ressourcen Beispiel Beispiel s t a t i c unsigned long i o p o r t =0, i o l e n =0;... / probe : / s t a t i c i n t d e v i n i t dhwk_probe ( s t r u c t pci_dev dev, const s t r u c t p c i _ d e v i c e _ i d i d ) { p c i _ e n a b l e _ d e v i c e ( dev ) ; i f ( p c i _ r e q u e s t _ r e g i o n s ( dev, "dhwk" ) ) { r e t u r n EIO ; } i o p o r t = p c i _ r e s o u r c e _ s t a r t ( dev, 0 ) ; i o l e n = p c i _ r e s o u r c e _ l e n ( dev, 0 ) ; r e t u r n 0 ; } Treiber PCI-Subsystem 22/
23 Ressourcen freigeben Bei seiner Deinitialisierung muss der Treiber angeforderte IO-Ressourcen wieder freigeben. pci_release_regions #i n c l u d e <l i n u x / p c i. h> void p c i _ r e l e a s e _ r e g i o n s ( s t r u c t pci_dev pdev ) ; Alle IO- und Speicher-Ressourcen des Geräts pdev werden freigegeben. Treiber PCI-Subsystem 23/
24 Ressourcen freigeben (2) release_region #i n c l u d e <l i n u x / i o p o r t. h> void r e l e a s e _ r e g i o n ( u n s g i n e d long from, u n s i g e n d long l e n g t h ) ; Der IO-Bereich der Länge length ab Adresse from wird freigegeben. release_mem_region #i n c l u d e <l i n u x / i o p o r t. h> void release_mem_region ( u n s g i n e d long from, u n s i g e n d long l e n g t h ) ; Der Speicher-IO-Bereich der Länge length ab Adresse from wird freigegeben. Treiber PCI-Subsystem 24/
25 Ressourcen freigeben Beispiel Beispiel / remove : / s t a t i c void devexit dhwk_remove ( s t r u c t pci_dev dev ) { p c i _ r e l e a s e _ r e g i o n s ( dev ) ; } Treiber PCI-Subsystem 25/
26 Hardwarezugriff Eigentlicher Datenaustausch mit der Hardware. Unterscheidung von zwei Arten: Port-IO Ein-/Ausgabe über Port-Adressen im gesonderten IO-Adressbereich, Memory-Mapped-IO Ein-/Ausgabe über in den Adressbereich des Arbeitsspeichers eingeblendete IO-Bereiche. Treiber PCI-Subsystem 26/
27 Hardwarezugriff Port-IO in #i n c l u d e <asm/ i o. h> u8 i n b ( i n t p o r t ) ; u16 inw ( i n t p o r t ) ; u32 i n l ( i n t p o r t ) ; Liest ein Byte/Word/Dword vom Port port ein und gibt es zurück. out #i n c l u d e <asm/ i o. h> void outb ( u8 v a l u e, i n t p o r t ) ; void outw ( u16 v a l u e, i n t p o r t ) ; void o u t l ( u32 v a l u e, i n t p o r t ) ; Schreibt das Byte/Word/Dword value auf den Port port. Treiber PCI-Subsystem 27/
28 Hardwarezugriff Port-IO (2) ins #i n c l u d e <asm/ i o. h> void i n s b ( i n t port, void addr, unsigned long count ) ; void insw ( i n t port, void addr, unsigned long count ) ; void i n s l ( i n t port, void addr, unsigned long count ) ; Liest vom Port port count Mal Bytes/Words/Dwords ein und schreibt sie ab Adresse addr in den Speicher. outs #i n c l u d e <asm/ i o. h> void outsb ( i n t port, void addr, unsigned long count ) ; void outsw ( i n t port, void addr, unsigned long count ) ; void o u t s l ( i n t port, void addr, unsigned long count ) ; Schreibt auf den Port port count Mal die ab Adresse addr stehenden Bytes/Words/Dwords. Treiber PCI-Subsystem 28/
29 Hardwarezugriff Port-IO (3) Verzögerte IO Die Makros inb_p, inw_p, inl_p, outb_p, outw_p, outl_p, machen dasselbe wie ihre Pendants ohne _p, allerdings mit einer kurzen Verzögerung nach der IO-Operation. Treiber PCI-Subsystem 29/
30 Hardwarezugriff Memory-Mapped-IO ioremap #i n c l u d e <asm/ i o. h> void ioremap ( r e s o u r c e _ s i z e _ t o f f s e t, unsigned long s i z e ) ; void ioremap_nocache ( r e s o u r c e _ s i z e _ t o f f s e t, unsigned long s i z e ) ; void ioremap_cache ( r e s o u r c e _ s i z e _ t o f f s e t, unsigned long s i z e ) ; Blendet den bei offset beginnenden IO-Speicher der Länge size ein, Speicherbereich wird als nicht-cachebar bzw. cachebar markiert, Rückgabewert: Startadresse des gemappten Speichers oder NULL bei Fehler. Treiber PCI-Subsystem 30/
31 Hardwarezugriff Memory-Mapped-IO (2) iounmap #i n c l u d e <asm/ i o. h> void iounmap ( void addr ) ; Blendet den bei addr gemappten Speicher wieder aus. Treiber PCI-Subsystem 31/
32 Hardwarezugriff Memory-Mapped-IO (3) read #i n c l u d e <asm/ i o. h> u8 readb ( void addr ) ; u16 readw ( void addr ) ; u32 r e a d l ( void addr ) ; Liest ein Byte/Word/Dword von Adresse addr ein und gibt es zurück. write #i n c l u d e <asm/ i o. h> void w r i t e b ( u8 v a l u e, void addr ) ; void writew ( u16 v a l u e, void addr ) ; void w r i t e l ( u32 v a l u e, void addr ) ; Schreibt das Byte/Word/Dword value nach Adresse addr. Treiber PCI-Subsystem 32/
33 Hardwarezugriff Memory-Mapped-IO (4) Kopieren von Blöcken #i n c l u d e <asm/ i o. h> void memset_io ( void d, i n t c, s i z e _ t n ) ; void memcpy_fromio ( void d, const void s, s i z e _ t n ) ; void memcpy_toio ( void d, const void s, s i z e _ t n ) ; memset_io initialisiert den bei d beginnenden IO-Bereich der Länge n mit dem Wert c, die beiden memcpy-varianten kopieren n Bytes von s nach d, wobei beim ersten die Quelle, bei zweiten das Ziel ein IO-Bereich ist, Rückgabewert: d. Treiber PCI-Subsystem 33/
34 Interrupts Mittels Interrupts signalisieren Hardware-Komponenten wichtige Ereignisse (z.b. Empfangspuffer voll ). Das Auftreten eines Interrupts führt i.d.r. dazu, dass der aktuelle Prozess unterbrochen, in den privilegierten Modus gewechselt und eine spezielle Behandlungsprozedur ausgeführt wird. Voraussetzungen Für die Interruptbehandlung muss: eine Interrupt-Handlerroutine implementiert werden, die Routine als Ressource beim IO-Subsystem für den richtigen Interrupt registriert werden. Treiber PCI-Subsystem 34/
35 Interrupts Interrupt-Service-Routine ISR i r q r e t u r n _ t d r i v e r _ i s r ( i n t i r q _ n r, void dev_id ) ; Muss vom Treiber implementiert werden, wird vom Kern aufgerufen, wenn der Interrupt irq_nr aufgetreten ist, dev_id ist die bei der Registrierung vergebene ID, Rückgabewert: IRQ_HANDLED, falls der Interrupt von der eigenen Hardware ausgelöst wurde, IRQ_NONE sonst. Treiber PCI-Subsystem 35/
36 API: request_irq request_irq #i n c l u d e <l i n u x / i n t e r r u p t. h> i n t r e q u e s t _ i r q ( unsigned i n t i r q, i r q r e t u r n _ t ( i s r ) ( i n t, void ), unsigned long f l a g s, const char devname, void dev_id ) ; Registriert den Interrupt-Handler isr unter dem Interrupt irq, devname bezeichnet den Namen des Geräts (erscheint bei Erfolg in /proc/interrupts), dev_id muss ein hinreichend eindeutiger Wert sein (z.b. ein Zeiger auf eine Verwaltungsstruktur des Treibers), flags: siehe nächste Folie, Rückgabewert: 0 bei Erfolg, negativer Fehlercode sonst. Treiber PCI-Subsystem 36/
37 API: request_irq (2) Flags Bezeichner IRQF_SHARED IRQF_DISABLED IRQF_SAMPLE_RANDOM Bedeutung IRQ darf von mehreren Treibern verwendet werden, (lokale) Interrupts sind während der Abarbeitung der ISR gesperrt, Interrupt darf als Entropiequelle genutzt werden. Treiber PCI-Subsystem 37/
38 API: free_irq free_irq #i n c l u d e <l i n u x / i n t e r r u p t. h> void f r e e _ i r q ( unsigned i n t i r q, void dev_id ) ; Gibt die unter dev_id registrierte, dem Interrupt irq zugeordnete Interrupt-Ressource frei. Treiber PCI-Subsystem 38/
39 Interrupts Beispiel Beispiel i r q r e t u r n _ t dhwk_isr ( i n t i r q, void dev_id ) { i f ( / u n s e r e hw war s / ) { / b e h a n d l e i r q und b e s e i t i g e i r q grund / r e t u r n IRQ_HANDLED ; } r e t u r n IRQ_NONE ; }... Treiber PCI-Subsystem 39/
40 Interrupts Beispiel (2) Beispiel (Forts.)... / probe : / s t a t i c i n t dhwk_probe ( s t r u c t pci_dev dev, const s t r u c t p c i _ d e v i c e _ i d i d ) { p c i _ e n a b l e _ d e v i c e ( dev ) ; i f ( r e q u e s t _ i r q ( dev >i r q, dhwk_isr, IRQF_DISABLED IRQF_SHARED, "dhwk", dev ) ) { r e t u r n EIO ; } r e t u r n 0 ; }... Treiber PCI-Subsystem 40/
41 Interrupts Beispiel (3) Beispiel (Forts.)... / remove : / s t a t i c void dhwk_remove ( s t r u c t pci_dev dev ) { f r e e _ i r q ( dev >i r q, dev ) ; } Treiber PCI-Subsystem 41/
Hardware 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:
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
MehrBACHELORARBEIT. Herr Frederic Ringsleben. Untersuchung programmierbarer Logik zur Unterstützung von Userspace-Programmen
BACHELORARBEIT Herr Frederic Ringsleben Untersuchung programmierbarer Logik zur Unterstützung von Userspace-Programmen 2013 Fakultät Mathematik/Naturwissenschaften/Informatik BACHELORARBEIT Untersuchung
MehrU4-1 Aufgabe 3: einfache malloc-implementierung
U4 3. Übung U4 3. Übung Besprechung der Aufgabe 2: wsort Aufgabe 3: malloc-implementierung Ziele der Aufgabe Zusammenhang zwischen "nacktem Speicher" und typisierten bereichen verstehen Funktion aus der
MehrHardware Logik-Analysatoren
Hardware Logik-Analysatoren Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2010/2011 Hardware Logik-Analysatoren 1/24 2010-10-12
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,
MehrKomponenten/Busse. Dr.-Ing. Volkmar Sieh. Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2009
Komponenten/Busse Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2009 Komponenten/Busse 1/34 2009-05-05 Übersicht 1 Praxis 2 Motivation
MehrEinführung in die Programmiersprache C
Einführung in die Programmiersprache C 11 Was bisher verschwiegen wurde Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät Type qualifier Typen können mit folgenden
MehrEinführung in die Programmiersprache C
Einführung in die Programmiersprache C 11 Was bisher verschwiegen wurde Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät Type qualifier Typen können mit folgenden
MehrÜbungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 9 und Präsenzaufgaben Übung 10
Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 9 und Präsenzaufgaben Übung 10 Dominik Schoenwetter Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität
MehrE Mikrocontroller-Programmierung
E Mikrocontroller-Programmierung E Mikrocontroller-Programmierung E.1 Überblick Mikrocontroller-Umgebung Prozessor am Beispiel AVR-Mikrocontroller Speicher Peripherie Programmausführung Programm laden
MehrZugriff auf die Modul-EEPROMs
MAX-P- und P-Bibliotheken EEPROM-Zugriff 1 Zugriff auf die Modul-EEPROMs Jedes X-Bus-Modul verfügt über ein EEPROM, in dem modulspezifische Daten gespeichert werden. Neben einigen Bereichen, die vom 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
Mehrx86 Open Source Virtualisierungstechniken Thomas Glanzmann <thomas@glanzmann.de>
x86 Open Source Virtualisierungstechniken März 2006 Zu meiner Person Informatik Student an der Universität Erlangen im 9. Semester 4 jährige Mitarbeit an dem Projekt FAUmachine der
MehrDynamischer Speicher
Dynamischer Speicher C-Kurs 2012, 3. Vorlesung Tino Kutschbach tino.kutschbach@campus.tu-berlin.de http://wiki.freitagsrunde.org 13. September 2012 This work is licensed under the Creative Commons Attribution-ShareAlike
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
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
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,
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
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
MehrKomponenten/Busse. Dr.-Ing. Volkmar Sieh. Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2010/2011
Komponenten/Busse Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2010/2011 Komponenten/Busse 1/29 2010-09-28 Komponenten/Busse Praxis
MehrGrundlagen der Informatik 11. Zeiger
11. Zeiger Motivation Zeiger und Adressen Zeiger und Funktionen Zeiger und Arrays Dynamische Objekte Grundlagen der Informatik (Alex Rempel) 1 Motivation Dynamische Speicherverwaltung Oft müssen große
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
MehrVHDL Grundelemente. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg
VHDL Grundelemente Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2009/2010 VHDL Grundelemente 1/15 2009-07-31 Inhalt Folgende
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
MehrDatenstrukturen, Alignment Stack Prozeduraufruf, Parameterübergabe und -rückgabe (Calling Conventions) Leaf procedures
Vorbesprechung U8 Datenstrukturen, Alignment Stack Prozeduraufruf, Parameterübergabe und -rückgabe (Calling Conventions) Leaf procedures Basistypen Alignment der Basistypen auf deren Grösse Grössen (abhängig
MehrÜbung zu Betriebssystembau (Ü BS)
Übung zu Betriebssystembau (Ü BS) Interruptbehandlung in OOStuBS Wanja Hofer Lehrstuhl für Informatik IV WS 07/08 1 Agenda: IRQ-Behandlung in OOStuBS Interrupts und Traps beim x86 Die Interrupt-Deskriptor-Tabelle
MehrEinführung. Übungen zur Vorlesung Virtuelle Maschinen. Stefan Potyra. SoSe 2009
Einführung Übungen zur Vorlesung Virtuelle Maschinen Stefan Potyra Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg SoSe 2009 Übungsaufgaben 1 Entwickeln
MehrBetriebssystembau. 3. Übung. Michael Engel Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund
Betriebssystembau 3. Übung Michael Engel Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund michael.engel@tu-dortmund.de http://ess.cs.uni-dortmund.de/~me/ 1 Agenda: IRQ-Behandlung
MehrHydroinformatik I: Referenzen und Zeiger
Hydroinformatik I: Referenzen und Zeiger Prof. Dr.-Ing. habil. Olaf Kolditz 1 Helmholtz Centre for Environmental Research UFZ, Leipzig 2 Technische Universität Dresden TUD, Dresden Dresden, 06. Januar
MehrKomponenten/Busse. Dr.-Ing. Volkmar Sieh
Komponenten/Busse Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 V. Sieh Komponenten/Busse (WS14/15)
MehrVHDL Simulation. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011
VHDL Simulation Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 VHDL Simulation 1/20 2011-05-18 Motivation Der Simulationsalgorithmus
MehrÜbungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 6 und Präsenzaufgaben Übung 7
Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 6 und Präsenzaufgaben Übung 7 Dominik Schoenwetter Erlangen, 16. Juni 2014 Lehrstuhl für Informatik 3 (Rechnerarchitektur)
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
MehrBusse. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009
Busse Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009 Busse 1/40 2008-10-13 Übersicht 1 Einleitung 2 Bus-Konfiguration
Mehri386 Interrupt-Deskriptortabelle (IDT)
Agenda: IRQ-Behandlung in OO-Stubs Interrupts und Traps bei x86 Die Interrupt-Deskriptor-Tabelle (IDT) Aufbau der IDT Traps und Hardware IRQs Der Programmierbare Interruptcontroller PIC 8295A Aufbau Verwendung
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]:
MehrLow Cost PCI Digital-Scope
Low Cost PCI Digital-Scope Linux Driver Projekt Hompage: Autoren: e-mail: Dozent: http://code.google.com/p/lcpd-scope/ T.Kurmann, R. Woodtli, S. Eichenberger kurmt1@bfh.ch, woodr1@bfh.ch, eichs2@bfh.ch
MehrHydroinformatik I: Referenzen und Zeiger
Hydroinformatik I: Referenzen und Zeiger Prof. Dr.-Ing. habil. Olaf Kolditz 1 Helmholtz Centre for Environmental Research UFZ, Leipzig 2 Technische Universität Dresden TUD, Dresden Dresden, 08. Januar
MehrAufbau eines Kernelmoduls
Kernel Module Kernelmodul = ladbare/entfernbare Objektdatei (Dateisystem, Gerätetreiber, Systemeingriffe) Vorteile: Ressourcenverbrauch abhängig vom aktuellen Anforderungen Erweiterung der Kernelfunktionalität
MehrAufgabe 2 - Erweiterung um PIC und Interrupts
Aufgabe 2 - Erweiterung um PIC und Interrupts Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS2010/2011 Aufgabe 2 - Erweiterung um
MehrMultiprozessoren. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011
Multiprozessoren Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Multiprozessoren 1/29 2011-06-16 Multiprozessoren Leistungsfähigkeit
MehrHARDWARE UND GERÄTETREIBER. Björn Döbel (TU Dresden)
HARDWARE UND GERÄTETREIBER Björn Döbel (TU Dresden) Dresden, 10.12.2013 Übersicht Kommunikation zwischen Hardware und CPU Interrupts I/O-Ports I/O-Speicher Busse Verwaltung von Geräten Dynamisches Hinzufügen/Entfernen
MehrA20_PCI. ARCNET Controller Karte für PCI Bus. Gerätebeschreibung. 2003 TK Systemtechnik GmbH Nr. TK-04-037-F-1.2
A20_PCI ARCNET Controller Karte für PCI Bus Gerätebeschreibung 2003 TK Systemtechnik GmbH Nr. TK-04-037-F-1.2 Angaben zur Version Dokument-Nr. Beschreibung Datum TK-04-037-F-1.0 Ausgabe 1 17.04.2001 TK-04-037-F-1.1
MehrSystemnahe Programmierung in C/C++
Systemnahe Programmierung in C/C++ Signalbehandlung & MMap Knut Stolze stolze@informatik.uni-jena.de Lehrstuhl für Datenbanken und Informationssysteme Fakultät für Mathematik und Informatik 2006 11 29
MehrU5-2 Register beim AVR-µC
U5 4. Übungsaufgabe U5 4. Übungsaufgabe U5-2 Register beim AVR-µC U5-2 Register beim AVR-mC Grundlegendes zur Übung mit dem AVR-µC 1 Überblick Register Beim AVR µc sind die Register: I/O Ports Interrupts
MehrC/C++-Programmierung
1 C/C++-Programmierung Speicherverwaltung, 0, const Sebastian Hack Christoph Mallon (hack mallon)@cs.uni-sb.de Fachbereich Informatik Universität des Saarlandes Wintersemester 2009/2010 2 Speicherverwaltung
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,
MehrRAM. Konsistenzprobleme entstehen => CPU - durch Verzögerung in Warteschlange, Umfangreiche Pufferung in den PCI Brücken. lesen. EOP-Signal.
11. s 11.1 Pufferspeicher Lesepuffer um vorauszulesen: - erste Leseoperation hat lange Latenzzeit, - Folgedaten vorsorglich schon gelesen, - "prefetch buffer". Schreibpuffer um ein Blockieren des schreibenden
Mehr2
TINF Interrupts EDT-Referat Jürgen Schwarzbauer 2ANB 1995/96 Inhalt : Was ist ein Interrupt? Zweck von Interrupts Maskierbare und nicht maskierbare Interrupts Aufruf eines Interrupts Anwendung von Interrupts
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
MehrBusse. Dr.-Ing. Volkmar Sieh WS 2005/2006. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg
Einleitung Bus-Konfiguration Bus-Arbitrierung Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2005/2006 Einleitung Bus-Konfiguration Bus-Arbitrierung
MehrInstallationsanleitung Linux ab Kernel 2.2.x. für die Add-on Karten: ETC-7320 ETC-7181
Installationsanleitung Linux ab Kernel 2.2.x für die Add-on Karten: ETC-7320 ETC-7181-1 - Inhaltsverzeichnis Kapitel 1 - Allgemeines 3 Kapitel 2 - Serielle Schnittstellen 4 2.1 Freie COM Schnittstellen
MehrBetriebssysteme BS-V SS 2015. Hans-Georg Eßer. Foliensatz V: Ulix: Interrupts und Faults Ulix: System Calls. Dipl.-Math., Dipl.-Inform.
BS-V Betriebssysteme SS 2015 Dipl.-Math., Dipl.-Inform. Foliensatz V: Ulix: Interrupts und Faults Ulix: System Calls v1.0, 2015/05/28 (klassische Dokumentation) Folie V-1 Übersicht: BS Praxis und BS Theorie
MehrAufgabe 1 Entwicklung einer Virtuellen Maschine
Aufgabe 1 Entwicklung einer Virtuellen Maschine Rainer Müller Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 R. Müller Entwicklung
MehrAufgabe 2 - Erweiterung um PIC und Interrupts
Aufgabe 2 - Erweiterung um PIC und Interrupts Rainer Müller Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 R. Müller Erweiterung
MehrÜbungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 8 und Präsenzaufgaben Übung 9
Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 8 und Präsenzaufgaben Übung 9 Dominik Schoenwetter Erlangen, 30. Juni 2014 Lehrstuhl für Informatik 3 (Rechnerarchitektur)
MehrAnalyse des Userspace I/O Framework (UIO) für den Einsatz in Embedded Linux-Systemen
Forschungsbericht WS 2011/2012 Analyse des Userspace I/O Framework (UIO) für den Einsatz in Embedded Linux-Systemen Prof. Dr.-Ing. Rainer Bermbach Einleitung Betriebssysteme wie Linux benötigen sogenannte
MehrC++ - Einführung in die Programmiersprache Zeiger, Referenzen und Strukturen. Leibniz Universität IT Services Anja Aue
C++ - Einführung in die Programmiersprache Zeiger, Referenzen und Strukturen Leibniz Universität IT Services Anja Aue Zeiger (Pointer) Verweis auf eine Speicherstelle. Speicherung einer Speicheradresse.
MehrProgrammieren in Java
Ein Projekt 2 Wiederholung: new-operator Werte nicht-primitiver Datentypen müssen mit new erzeugt werden Es gibt keine Möglichkeit primitive Daten mit new zu erzeugen Beispiele int[] myarray = new int[]
MehrEmbedded Linux auf FPGA-basierten Systemen mit freien Prozessor-IPs (3. Teil)
Forschungsbericht WS 2010/2011 Embedded Linux auf FPGA-basierten Systemen mit freien Prozessor-IPs (3. Teil) Unterthema: Entwicklung und Einbindung von Spezialhardware in Embedded Linux Prof. Dr.-Ing.
MehrRechnerorganisation. Überblick über den Teil 13
Rechnerorganisation Teil 3 9. Juni 2 KC Posch Überblick über den Teil 3 Arbiter: Wie können sich 2 aktive Partner vertragen? Direkter Speicherzugriff: Ein Ko Prozessor zum Daten Schaufeln Die Verbesserung
MehrE. Fehlermeldungen von PC-Bibliotheken
Anhang Fehlermeldungen von PC-Bibliotheken -1. Fehlermeldungen von PC-Bibliotheken Beim insatz von MODULAR-4/486 und Multi-LAB/2 Karten und den dazugehörigen Bibliotheken können die folgenden Fehlermeldungen
Mehr7. Organisation von Informationen
Computeranwendung in der Chemie Informatik für Chemiker(innen) 7. Organisation von Informationen Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL7 Folie 1 Grundlagen Programme
MehrSpeicherverwaltung in Minix
Speicherverwaltung in Minix Speicher-Layout ausführbare Datei wird in Speicher geladen a.out-header bestimmt Gesamt-Speicherplatz Resultat: Gap zwischen Stack- und Daten-Segmenten Segment-Liste (kombinierte
MehrArrays (Felder/Vektoren)
Arrays (Felder/Vektoren) Zusammenfassung mehrerer Variablen des gleichen Typs unter einem Namen im Speicher direkt hintereinander abgelegt Definition: Typname Arrayname [Größe]; Beispiel: int ar [5]; Zugriff
MehrEinstieg in die Informatik mit Java
1 / 26 Einstieg in die Informatik mit Java Felder Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 26 1 Was sind Felder? 2 Vereinbarung von Feldern 3 Erzeugen von Feldern
MehrSpeicherverwaltung in C
Speicherverwaltung in C Tobias Gutzmann, Le Xuan Khanh, Robert Hartmann 19.04.2005 Typeset by FoilTEX Inhalt Übersicht der wichtigsten Befehle malloc, free, realloc alloca, obstack, brk Speicherverwaltung
MehrC++ Teil 5. Sven Groß. 13. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 18
C++ Teil 5 Sven Groß 13. Mai 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 13. Mai 2016 1 / 18 Themen der letzten Vorlesung Funktionen Funktionsüberladung, Signatur Rekursion const-deklaration Referenzen
MehrÜbungen zu Systemprogrammierung 1 (SP1)
Übungen zu Systemprogrammierung 1 (SP1) B1 Debugging Jens Schedel, Christoph Erhardt, Jürgen Kleinöder Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme 03-B1_handout Friedrich-Alexander-Universität
MehrTafelübung zu BS 4. Speicherverwaltung
Tafelübung zu BS 4. Speicherverwaltung 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/
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
MehrEinstieg in die Informatik mit Java
1 / 21 Einstieg in die Informatik mit Java Felder, eindimensional Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 21 1 Überblick: Was sind Felder? 2 Vereinbarung von Feldern
MehrKonzepte von Betriebssystem- Komponenten Ausnahme- / Unterbrechungsbehandlung
Konzepte von Betriebssystem- Komponenten Ausnahme- / Unterbrechungsbehandlung Sommersemester 2005 Uni Erlangen Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebsysteme Tarek Gasmi Tarek.Gasmi@informatik.stud.uni-erlangen.de
MehrHARDWARE UND GERÄTETREIBER. Björn Döbel (TU Dresden)
HARDWARE UND GERÄTETREIBER Björn Döbel (TU Dresden) Dresden, 06.01.2015 Übersicht Kommunikation zwischen Hardware und CPU Interrupts I/O-Ports I/O-Speicher Busse Verwaltung von Geräten Dynamisches Hinzufügen/Entfernen
MehrKapitel 4: Zeiger. Inhalt. Zeiger Zeigerarithmetik
Wintersemester 2005/06 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl
MehrC++ - Einführung in die Programmiersprache Funktionen. Leibniz Universität IT Services Anja Aue
C++ - Einführung in die Programmiersprache Funktionen Leibniz Universität IT Services Anja Aue Subroutine (Unterprogramm) Lösung von Teilen einer Gesamtaufgabe. Kapselung von Anweisungen, die zu einer
MehrTreiber Kernel und Module bauen
Treiber Kernel und Module bauen Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2010/2011 Treiber Kernel und Module bauen 1/17
MehrInstallation der Software (Version 1.23) unter Windows NT4.0
TT-DVB : Installation der Software (Version 1.23) unter Windows NT4.0 0. Systemvoraussetzungen: Windows NT 4.0 Service Pack 5 oder höher Internet Explorer Version 4.01 oder höher Ausserdem muss der RAS
MehrDateioperationen Fachhochschule Würzburg-Schweinfurt Prof. Dr. Martin Ochs. Abspeichern und Einlesen von Texten (Strings) in Dateien
Informatik I SS 2003 Dateioperationen 1 Textdateien, Öffnen Abspeichern und Einlesen von Texten (Strings) in Dateien 1. Das Öffnen einer Datei a) Deklaration eines Zeigers auf eine Datei FILE *pfile; b)
MehrRechnerorganisation. 1. Juni 201 KC Posch
.6.2 Rechnerorganisation. Juni 2 KC Posch .6.2 2 .6.2 Front Side Bus Accelerated Graphics Port 28 MHz Front Side Bus North Bridge RAM idge South Bri IDE USB PCI Bus 3 .6.2 Front Side Bus Front Side Bus
MehrPointer und Arrays. INE1, Montag M. Thaler, Office TG208. ZHAW, M. Thaler, K. Rege, G.
Pointer und Arrays INE1, Montag M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was geht es? Variable Speicherplatz Datenwert über Name ansprechbar hat Typ hat Adresse (Speicheradresse)
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
MehrTreiber Fortgeschrittene Konzepte
Treiber Fortgeschrittene Konzepte Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2010/2011 Treiber Fortgeschrittene Konzepte
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
MehrGdI2 - Systemnahe Programmierung in C Übungen Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2006 U4.fm
U4 4. Übungsaufgabe U4 4. Übungsaufgabe Grundlegendes zur Übung mit dem AVR-µC Register I/O Ports Interrupts AVR-Umgebung U4.1 U4-1 Grundlegendes zur Übung mit dem AVR-mC U4-1 Grundlegendes zur Übung mit
MehrVisuelle Kryptographie. Anwendung von Zufallszahlen
Visuelle Kryptographie Anwendung von Zufallszahlen Verschlüsseln eines Bildes Wir wollen ein Bild an Alice und Bob schicken, so dass Verschlüsseln eines Bildes Wir wollen ein Bild an Alice und Bob schicken,
MehrAssembler - Einleitung
Assembler - Einleitung Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Einleitung 1/19 2008-04-01 Teil 1: Hochsprache
MehrDesign and Implementation of a Soft-error Resilient OSEK Real-time Operating System
Design and Implementation of a Soft-error Resilient OSEK Real-time Operating System Florian Lukas Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich Alexander Universität Erlangen
MehrF Zeiger, Felder und Strukturen in C
F Zeiger, Felder und Strukturen in C F Zeiger, Felder und Strukturen in C F.1 Zeiger(-Variablen) 1 Einordnung Konstante: Bezeichnung für einen Wert a 0110 0001 Variable: Bezeichnung eines Datenobjekts
MehrLehrveranstaltung Speichersysteme Sommersemester 2009
Lehrveranstaltung Speichersysteme Sommersemester 2009 Kapitel 9: Verbindungstechnologien I André Brinkmann Gliederung Anbindung von I/O an Prozessoren Memory mapped I/O vs. Ported IO Programmed I/O vs.
MehrHARDWARE UND GERÄTETREIBER. Marcus Hähnel Björn Döbel Michael Raitza
HARDWARE UND GERÄTETREIBER Marcus Hähnel Björn Döbel Michael Raitza Dresden, 30.01.2018 Übersicht Kommunikation zwischen Hardware und CPU Interrupts I/O-Ports I/O-Speicher Busse Verwaltung von Geräten
MehrHARDWARE UND GERÄTETREIBER. Marcus Hähnel Björn Döbel Michael Raitza
HARDWARE UND GERÄTETREIBER Marcus Hähnel Björn Döbel Michael Raitza Dresden, 31.01.2017 Übersicht Kommunikation zwischen Hardware und CPU Interrupts I/O-Ports I/O-Speicher Busse Verwaltung von Geräten
MehrGrundlagen der Rechnerarchitektur. Ein und Ausgabe
Grundlagen der Rechnerarchitektur Ein und Ausgabe Übersicht Grundbegriffe Hard Disks und Flash RAM Zugriff auf IO Geräte RAID Systeme SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 2 Grundbegriffe
MehrHardware Programmierbare Logik
Hardware Programmierbare Logik Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2010/2011 Hardware Programmierbare Logik 1/23
MehrINE1 Bit-Operationen. Bit-Operationen Übungen Bits setzen, löschen, abfragen Beispiel: Bitmap
INE1 Bit-Operationen Bit-Operationen Übungen Bits setzen, löschen, abfragen Beispiel: Bitmap 1 Displays and I/O Binary Display & Input Output 2 von 39 Operationen für Bitmanipulation Bit - Operatoren Die
Mehr, 2014W Übungsgruppen: Mo., Mi.,
VU Technische Grundlagen der Informatik Übung 7: Speichermanagement 183.579, 2014W Übungsgruppen: Mo., 12.01. Mi., 14.01.2015 Aufgabe 1: Cache-Adressierung Ein Prozessor mit einer Adresslänge von 20 Bit
MehrHardware PCI, PCIe und Bus-Bridges
Hardware PCI, PCIe und Bus-Bridges Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2010/2011 Hardware PCI, PCIe und Bus-Bridges
Mehr