Montag, 16. Mai 2016

101.1 Hardwareeinstelleungen ermitteln: I/O Adressen und Interrupts

Wichtung: 2
  • KernelSchnittstelle zwischen Software und Hardware
  • Kernel = Softwareprodukt
  • Kernel von Linux -> modularer Aufbau (zum großen Teil)
  • einzelne Teile des Kernels können zur Laufzeit ge- und entladen werden
  • modularer Aufbau verhindert unnötige Neustarts des Systems
  • Gegensatz zu modular: monolithischer Kernel -> versagt eine Hardwarekomponente oder wird sie entfernt, können schwere Störungen auftreten
  • SCSI - Small Computer System Interface (Familie von standardisierten Protokollen und Schnittstellen)
  • IDE - Integrated Disc Electronic

I/O Adressen und Interrupts

  • I/O Speicheradressen werden genutzt, um Input/Output Daten an den Computer zu übergeben
  • Hexadezimal dotiert: beginnen immer mit 0x
  • I/O Adresse ist eindeutig, da ansonsten die Karten sich gegenseitig den Speicherbereich überschreiben würden
  • Werte für alte ISA-Karten (werden eher nicht mehr verwendet):
    • Soundkarte0x110, 0x330
    • Netzwerkkarten0x240, 0x330
    • Serielle Schnittstellen/ Modem: 0x2e8, 0x3e8,0x2f8, 0x3f8
  • PCI-Karten haben höhere I/O-Adressen: z.B. 0xd000
  • Interrupts (IRQ Interrupt Request): Signalleitungen zur CPU zur Meldung, dass Daten im I/O-Speicherbereich zur Verarbeitung vorliegen
  • Es gibt 16 IRQ (0-15)
  • Shared Interrupts: Ursprünglich sollten auch die IRQs eindeutig sein, aufgrund der geringen Menge hat man der Hardware die shared interrupts beigebracht, was mal besser und mal schlechter funktioniert -> 1 IRQ wird von 2 Controllern verwendet
  • Gängige IRQ Belegungen:
    • IRQ 0Timer (Motherboard)
    • IRQ 1Tastatur (Motherboard)
    • IRQ 2IRQ-Kaskadierung; um die IRQs 8-15 nutzbar zu machen
    • IRQ 3/dev/ttyS1 alias COM2 (zweite serielle Schnittstelle)
    • IRQ 4/dev/ttyS0 alias COM1 (erste serielle Schnittstelle)
    • IRQ 5/dev/lp1 alias LPT2 (zweiter Parallelport); wurde früher für Netzwerkkarten und Soundkarten benutzt, da die wenigsten Rechner zwei Parallelports hatten
    • IRQ 6Floppy Controller
    • IRQ 7/dev/lp0 alias LPT1 (erster Parallelport)
    • IRQ 8RTC (Real Time Clock, Hardware-Uhr Motherboard)
    • IRQ 9frei -> wird häufig für die Grafikkarte verwendet (früher mit IRQ 2 "parallel geschaltet", was zu Problemen führen konnte)
    • IRQ 10: frei
    • IRQ 11: frei
    • IRQ 12: frei; häufig für PS/2 Maus
    • IRQ 13: frei
    • IRQ 14erster IDE Controller
    • IRQ 15zweiter IDE Controller
  • Unter RedHat werden in der /proc/interrupt tatsächlich nur die IRQs 0,1,8,9,12,14,15 aufgeführt
  • Unter Ubuntu dagegen werden die IRQs 0,1,6,7,8,9 geführtDa die IRQs 14 und 15 ja für die IDE Controller gedacht sind, stellt sich mir die Frage, ob unter Ubuntu die IRQs 6 und 7 hier als IDE- bzw. SCSI-Interrupt nutzt?  Antwort: Bei dem RedHat System handelt es sich um eine VM, die den IDE-Bus mit anhängigen Komponenten verwendet. Mein Live-System dagegen hat keine klassische IDE-Geräte mehr, sondern dort wird alles über SCSI gehandelt, daher die Abweichungen. Ein Ubuntu-VM-System weißt ebenfalls die IRQs 14 und 15 auf, jedoch nicht 6 und 7

Keine Kommentare:

Kommentar veröffentlichen