Skip to content

Pintos 操作系统

大二操作系统小组项目,使用C语言实现。开发了一套基于x86的简单操作系统,包括实现线程调度,虚拟内存管理和运行用户态程序。线程调度包括轮询式调度 (Round-Robin Scheduler),和基于CPU使用时间的优先级线程调度 (Priority Scheduler),其中使用了资源锁 (lock),信标 (semaphore) 和监视器 (monitor)。虚拟内存管理包括内存页分配 (page allocation),Copy-on-Write,共享内存页 (shared-pages),Memory-mapped files 和 内存页替换 (page swapping)。通过实现部分标准Unix系统调用,比如文件 open() 和 close(),允许运行用户态程序。