ASP Zookeeper

Published in Advanced Systems Programming, Spring 2025, 2025

Authors: Ming Gong, David Juarez, Keshav Beriwal

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 poll and select
  • 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 ptrace system 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

Zookeeper | Repo

  • Namespace isolation and virtualization
  • File system permissions and resource limits with cgruops
  • System call filtering via seccomp