OPERATING SYSTEM STRUCTURES OPERATING SYSTEM STRUCTURES

Hardware interfaces Old PC hardware overview

System buses CPU • External buses and ports • Storage device interfaces RAM • Other buses around PCI •

ISA VGA net IDE USB bridge ISA

audio floppy

MEELIS ROOS 1 MEELIS ROOS 2

OPERATING SYSTEM STRUCTURES OPERATING SYSTEM STRUCTURES

PC hardware overview Modern PC hardware overview

CPU CPU RAM CPU CPU RAM AGP northbridge RAM north− north− graphics 10G net CSA bridge bridge I2C/SMBus PCI−E graphics southbridge southbridge PCI temp PCI audioSATA net USB ISA bus/ PCI audio SATAnet USB LPC SCSI FW LPC floppy

MEELIS ROOS 3 MEELIS ROOS 4 OPERATING SYSTEM STRUCTURES OPERATING SYSTEM STRUCTURES

System buses PCI (Peripheral Component Interface)

Old PC: ISA, EISA, MCA, VLB Originally 32-bit, 33 MHz • • PnP, ISAPnP, other PnP 64-bit 66 MHz PCI • • Non-PC: VME, SBus, NuBus, Zorro II/III, TURBOChannel, VLB AGP — Advanced Graphics Port (PCI+IOMMU) • • analogues 3.3V, 5V voltages • Current: PCI family PCI-X (32- or 64-bit; 33, 66, 100, 133, 266 and 533 MHz) • • PCMCIA / PC Card, ExpressCard, CompactFlash, ... PCI Express (PCI-E) • • SGI: GIO32/GIO64, XIO – Fast point-to-point serial interface • – Up to 32 serial lanes can be used in parallel – One lane is 250 MB/s, 2.5 5 GT/s – PCI-E 2.0 doubled the speed CSA — Communication Streaming Architecture • Hotplug, cPCI •

MEELIS ROOS 5 MEELIS ROOS 6

OPERATING SYSTEM STRUCTURES OPERATING SYSTEM STRUCTURES

Flash memory interfaces External ports

MTD (Memory Technology Devices) — low level interfaces to Serial ports — RS-232, RS-422 (0.15..460 kbps) • • flash memory (usually NAND, NOR) — IEEE-1284 (up to 8 Mbps) • (EEPROM,) Flash BIOS • PS/2 — special-purpose serial ports • CompactFlash • Other special-purpose serial ports (keyboard, JTAG, . . . ) • MMC/xD • SD/SDIO • . . . • Most interfaces are also usable for I/O devices •

MEELIS ROOS 7 MEELIS ROOS 8 OPERATING SYSTEM STRUCTURES OPERATING SYSTEM STRUCTURES

External buses Storage device interfaces

ADB — (10 kbps) SCSI — Small System Interface • • USB — Universal Serial Bus IDE (Integrated Drive Electronics) / ATA (AT Attachment) • • – 1.1 and 12 Mbps (UHCI, OHCI) ATAPI — ATA Packet Interface • – 480 Mbps (EHCI, USB 2.0) FibreChannel — physical layer for SCSI, IP etc; actually a • – 4.8 Gbps (XHCI, USB 3.0) separate network – Wireless USB (WUSB) — 53..480 Mbps Serial ATA • FireWire (IEEE-1394) • SAS — Serial Attached SCSI – 400 Mbps, 800 Mbps, (1600 Mbps, 3200 Mbps) • (Ethenet) – OHCI •

MEELIS ROOS 9 MEELIS ROOS 10

OPERATING SYSTEM STRUCTURES OPERATING SYSTEM STRUCTURES

SCSI Parallel SCSI cable speeds

Physical layer and communication protocol are independent Name speed comments • Parallel cable is the most usual physical layer Narrow 5 • Parallel cables need termination on both ends Fast 10 • Fast Wide 20 3 types of parallel cables: • Ultra 20 – SE — Single-Ended Ultra Wide 40 – Differential Ultra 2 40 LVD – LVD/SE — Low Voltage Differential/Single-Ended Ultra 2 Wide 80 LVD Many devices on the same bus (usually up to 8 or 16) • Ultra160 160 LVD – Addressing: (bus, target, LUN) Ultra320 320 LVD Synchronous and asynchronous transfers; disconnect and • reconnect TCQ —

MEELIS ROOS 11 MEELIS ROOS 12 OPERATING SYSTEM STRUCTURES OPERATING SYSTEM STRUCTURES

IDE/ATA standards Network interfaces

Name max speed modes Prehistory: PIO • ATA (ATA-1) 8.3 MB/s PIO 0-2, SWDMA 0-2, MWDMA 0 Modern: DMA (alignment!) • ATA-2 16.6 MB/s PIO 0-4, SWDMA 0-2, MWDMA 0-2 Scatter-gather DMA ATA-3 16.6 MB/s PIO 0-4, SWDMA 0-2, MWDMA 0-2 • Checksum offloading ATA-4 33 MB/s + UDMA 0,1,2 • mitigation ATA-5 66 MB/s + UDMA 3,4 + • ATA-6 100 MB/s + UDMA 5 Segmentation offloading (TX/RX) • — 133 MB/s Full TCP offloading • SATA-1 150 MB/s Multiqueue SATA-2 300 MB/s NCQ • Multiple virtual devices SATA-3 600 MB/s new connectors •

eSATA, Port Multiplier (PMP), power management, . . .

MEELIS ROOS 13 MEELIS ROOS 14

OPERATING SYSTEM STRUCTURES

Other buses

I2C, SMBus • Dallas 1-wire • SPI (Serial Peripheral Interface) •

MEELIS ROOS 15