Lecture 23: Tuesday, April 22 2025

Previous Next

Announcements

  1. Once again we would like to encourage use of camera and microphone when possible

    1. Keep in mind that it allows us to guage how you are doing and better tailor the lecture to your needs and reactions

Overview

  1. Review the kdlpdev example from last week

    1. open(2), close(2), and read(2) implementations
  2. Introduce write(2), ioctl(2), and llseek(2)

  3. Introduce the jiffies counter and HZ constant

  4. Discuss the device class system and struct device

  5. Overview of MIDI and our simplification

  6. Work through the design and implementation of kkey

  7. Listen to the sound of the kernel

  8. Class files in sysfs

  9. Mutexes in the kernel

  10. Atomic types in the kernel

  11. Triggering a race

  12. Preventing the race

Review

  1. What is a character device?

  2. Why do we want to use character devices

  3. How does the user interact with character devices?

  4. How does a kernel module implement a character device?

Slides

character devices: concurrency 1

character devices: concurrency 2

Notes

character devices: concurrency 1

character devices: concurrency 2


msg = (silence)
whoami = None
singularity v0.6-56-g8e52bc8 https://github.com/underground-software/singularity