______ In-class notes for 10/26/2020 (CS 273 (OS), Fall 2020)
Home
>>     < >




In-class notes for 10/26/2020

CS 273 (OS), Fall 2020

Linux source code

Ongoing exploration of kernel code...

I/O (Input/Output)

  • Last time - I/O device types; kernel support needed

  • Goals for I/O in the kernel

  • Exercise: goals for I/O software

    For each of the following goals for I/O software, identify one or two examples that illustrate that goal. Some example answers are provided in this font.

    • Device independence

      • Uniform block size among different types of block devices (e.g., flash drive vs hard disk)

    • Uniform naming

      • File descriptors (used for I/O via sockets or standard input/output as well as for file-related I/O operations)

    • Handle errors as close to hardware as possible

    • Both synchronous (blocking) and asynchronous (interrupt-driven) transfers

    • Effective use of buffering

    • Both sharable and dedicated devices

  • Layered view of I/O architecture (structural design of I/O support in the OS). E.g.,

    • User-level code (including user-level libraries)

    • Device driver (in kernel)

    • Device controller (hardware)

    • Device (hardware)




  • < >