Nathaniel Sauer

Cybersecurity and software engineer

All work

kernel-modules

Loadable Linux kernel modules, a custom syscall and a block device with ioctl

systemscoursework

What it is

Kernel work from CSE 330 Operating Systems, projects 2 and 5.

What I built

  • Loadable Linux kernel modules written in C.
  • A custom system call added to a recompiled kernel, plus a userspace driver program to exercise it.
  • A block device abstraction with an ioctl interface and kernel-side buffer management.

How it works

A loadable module is inserted into the running kernel without a reboot. A new system call goes the other way: it needs the kernel rebuilt so the call is in the syscall table, and then a userspace program can invoke it by number. The block device project exposes its controls through ioctl, so userspace sends commands to the device and the kernel side manages the buffers.