Download presentation
Presentation is loading. Please wait.
Published byAlexandra Bridges Modified over 9 years ago
1
Digital UNIX Internals III/O Framework Chapter 12
2
Digital UNIX Internals III/O Framework Topics Physical Hardware Components Software Structures for Hardware Components Software IO Layers and Subsystems
3
Digital UNIX Internals III/O Framework I/O Components Diagram I/O System I/O Controller I/O Device Local I/O Widget CPU Console Memory Local I/O Adapter Remote I/O Widget Remote I/O Widget I/O Controller I/O Device I/O Device Loosely-coupled I/O interconnect Remote I/O Adapter Tightly-coupled I/O Interconnect 3 Tightly-coupled I/O Interconnect 2 Tightly-coupled I/O Interconnect 1 I/O Device I/O Device PMI
4
Digital UNIX Internals III/O Framework I/O Component Description Although the CPU is always an Alpha, the underlying bus architecture varies greatly. Supported buses include PCI, TC (TURBOchannel), EISA, and ISA. The kernel, therefore, creates an internally linked list known as the bus structure that represents the varying topologies. This structure carries information common to all buses and hides bus-specific information in a handle structure. There is one doubly linked list to all of the other buses in the system. For each bus, there are links to one or more controller structures (that represent each controller on the bus). And, similarly, the controller structures point to zero or more device structures.
5
Digital UNIX Internals III/O Framework I/O Data Structures bus_hd (0) nxt_bus(0) ctir_list bus_list struct bus tc0_struct struct bus tc0_struct bus_hd nxt_bus (0) ctir_list bus_list (0) struct bus vba1_struct bus_hd nxt_bus ctir_list bus_list (0) struct bus vba0_struct struct bus vba0_struct bus_hd nxt_ctir dev_list (0) struct controller fb0_struct bus_hd nxt_ctir (0) dev_list struct controller ipi0_struct bus_hd nxt_ctir (0) dev_list (0) struct controller sk0_struct bus_hd nxt_ctir (0) dev_list (0) struct controller cb0_struct next_dev ctir_hd struct device ip1_struct next_dev (0) ctir_hd struct device ip2_struct bus_list[] controller_list[] device_list[]
6
Digital UNIX Internals III/O Framework EISA BUS Extended Industry Standard Architecture. Superset of the 8- and 16-bit Industry Standard Architecture (ISA) –IBM Compatible PC, XT, and AT personal computers. The EISA bus has the following characteristics: –32-bit bus size –64-kilobyte I/O address, made up of 16 4-KB slots –4-gigabyte memory address space –The Digital implementation of EISA is little endian, like Intel implementation –ISA devices are supported on an EISA bus or an ISA bus
7
Digital UNIX Internals III/O Framework PCI BUS Peripheral Component Interconnect A physical interconnect mechanism for use between highly integrated peripheral controller components and processor/memory systems. Supports 8-bit, 16 bit, 24-bit, 32-bit, and 64-bit data sizes Uses little endian byte-ordering, the same as the Alpha architecture Can access device registers in either I/O space or memory space
8
Digital UNIX Internals III/O Framework SCSI Bus Small Computer System Interface ANSI standard Flexible - allows for device independence through standard bus protocol and host bus adapters 8 Devices on a 8 bit scsi bus, expandable to 16 devices on a 16 bit bus High transfer rates logical addressing
9
Digital UNIX Internals III/O Framework I/O Software Support
10
Digital UNIX Internals III/O Framework Benefits of I/O Software Support ComponentDescription System Call interfaceUser-accessible interface that allows access to devices via the operating system System routinesRoutines that interface with the device drivers; they help standardize the transfer of data to and from devices Buffer caching systemImproves data transmission and retrieval performance "Type of" protocol layerAdapts raw data into a form suitable for the intended device; may entail anything from special buffering to encapsulating the data within identification headers and trailers Device driversSoftware to enable the use of specific hardware devices such as adapters, controllers, disks, tapes and Ethernet Interrupt handlersSystem and device-specific software that handles communication with the kernel to process asynchronous system and device events.
11
Digital UNIX Internals III/O Framework I/O Software Support Structure hardware user mode process system call interface character device interface cdevsw buffered device interface (cooked, disk) vfs interface nfs buffer caches rpc protocols socket interface mbufs bdevsw Character oriented driver (uio) network device driver block device driver tty driver (pts, ptc) linesw 8 line disciplines character oriented raw mode raw queue (clists/cblocks) line oriented cbreak mode line oriented canonical queue cooked mode pio or dma adapter controller tape, disk line printer, drim, mem kmem RS-232, lat, pseudo ttysdisk, cdromln lo ne fza advfs streams lsm
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.