NYU GA-2250
Operating Systems
Four systems-programming labs in C focusing on core OS concepts: memory management, process control, concurrency, and filesystems
🔤
Lab 1: nyuc - String Manipulation
Safe string manipulation with heap allocation and variadic APIs. Demonstrates memory-safe argument copying and transformation.
Heap AllocationVariadic FunctionsMemory Safety0 Memory Leaks
Explore Demo
💻
Lab 2: nyush - Unix Shell
A small Unix-like shell with pipelines, redirection, signals, and job control. Supports built-in commands and process management.
PipelinesRedirectionJob ControlSignal Handling
Explore Demo
⚙️
Lab 3: nyuenc - Run-Length Encoder
Run-length encoder with thread pool support. Demonstrates concurrent encoding using POSIX threads and condition variables.
Thread PoolConcurrent EncodingRLE AlgorithmCondition Variables
Explore Demo
💾
Lab 4: nyufile - FAT32 Undelete
FAT32 file recovery utility with SHA-1 verification. Recovers deleted files including non-contiguous clusters.
File RecoverySHA-1 VerificationFAT32 FilesystemNon-contiguous Recovery
Explore Demo
NYU GA-2250 Operating Systems • Portable C (GNU17)
