Projects

Turtle is a C++17-based lightweight network library for web server on Linux. It abstracts the tedious manipulations on the TCP socket into low coupling and highly extensible framework. It allows a fast custom server side setup where the business logic could be specified for each client TCP connection in the form of a callback function.
- Set non-blocking socket and edge-trigger handling mode to support high concurrency workload
- Support HTTP GET/HEAD request & response
- Support dynamic CGI request & response
- Support MySQL Database interaction
- Support Timer to kill inactive client connections to save system resources
- Support asynchronous consumer-producer logging

XV6 is an operating system built on RISC-V architecture. New features are implemented in a series of lab improvments, including a few new system calls, separate kernel page for each process, lazy allocation, copy-on-write, mmap, user-level threading, fined-grained memory allocator and cache block, file system and a basic network driver.