ASP Zookeeper
Published in Advanced Systems Programming, Spring 2025, 2025
From COMS 4157 Advanced Systems Programming
Malloctupus: A Memory Allocator Library
Assignment | Repo
A custom memory allocator library in C
- Implicit free list allocator
- Explicit free list
- Segregated free list
Greptile: Multi-Threaded grep
Assignment | Repo
Multi-threaded command-line search tool
- POSIX regex matching
- Directory traversal, handling file permissions, symlinks, and hidden files
- Multi-threaded parallelization
Cowchat: A Chat Server
Assignment | Repo
Multi-room, real-time chat server and client application
- Socket networking and protocol parsing
- Multi-client server concurrency with
pollandselect - State management and broadcast routing
Ladebug: A Rudimentary Debugger
Assignment | Repo
Functional, scriptable command-line debugger, a subset of gdb
- Process control and tracing via
ptracesystem call - Register inspection and software breakpoints by replacing instruction with interrupt opcode
- ELF Symbol table parsing and scripted automation
Seald: A Simple Linker
Assignment | Repo
Static linker, subset of ld
- ELF object file parsing
- Symbol resolution and global symbol table across different source files
- Object relocation and executable layout calculation
Zookeeper: A Container Manager
- Namespace isolation and virtualization
- File system permissions and resource limits with
cgruops - System call filtering via
seccomp
