CS 4414/5416:
Systems Programming

Lab 2: Process Registry

2026-09-04

Lab Logistics Reminder

Primary goal: Work together on something

  • Fine to have small groups (up to 4)
  • Grab a question sheet per person (as in lecture)
  • Work on the lab assignment during the hour

Lab Stories

Stories:

  • Last week: CPU idle sample counts
  • This week and next: Process management
    • Registry for what processes are alive
    • Status of processes (running, sleeping, stopped)

Will deal with processes in more detail in a bit.
The real goal for now is learning Rust!

Practice Topics

  • Writing enum and struct declarations
  • Implementing methods on a struct
  • Using derive macros
  • Error handling with Result
  • Using Option
  • Using Box smart pointers
  • Visibility (public and private)

Something to try

Google cloud shell: https://shell.cloud.google.com

  • Convenient Linux dev environment, preview of things to come…
  • Can set up Rust with rustup default stable
  • I suggest turning off the AI assistant for now

Getting the material

Repo: https://github.coecis.cornell.edu/cs4414-f26/lab-02

  • Instructions are in README.md
  • Your code should go in lib.rs
  • Check progress with cargo test (see Milestones header)

Hand in question sheet at the end of session

  • Who were you working with?
  • How far did you get by the end?
  • What questions came up?