查看文章 |
Project 0: Getting Started The purpose of this project is to introduce you to working with the GeekOS source code and running GeekOS in the Bochs emulator. 项目0,准备开始 这个项目的目在于:向你介绍如何使用geekos源码工作,以及如何在Bochs模拟器下的运行geekos。 For Project 1 (“Project 1: Loading Executable Files”), you become familiar with the structure 项目1,载入可执行文件 你有所了解的一个可执行文件的结构,由你来提供代码来运转文件,但是你需要先熟悉可执行连接格式(ELF,Executable and Linking Format),然后通过载入器描述准备好的文件。 In Project 2 (“Project 2: Adding Processes”), you will add support for user mode processes.Rather than using virtual memory to provide separate user address spaces, this project uses segmentation, 项目2,添加进程,你将添加对用户进程的支持,相对于使用虚拟内存来划分用户地址空间,这个项目将使用容易理解的分段方式。 Project 3 (“Project 3: Scheduling”) improves the GeekOS scheduler and adds support for 项目3,进程调度,改善Geekos的调度机制,添加用信号量来协调多进程。 Project4(Project4: VirtualMemory”)replaces the segmentation based user memory protection added in Project 1 with paged virtual memory. Pages of memory can be stored on disk in order to freeup RAM when the demand for memory exceeds the amountavailable. 项目4,虚拟内存,基于用户内存保护,在Project1中添加分页虚拟内存技术来代替信号量。分页内存能储存在磁盘上,用于当内存超出可使用量限制时释放出内存。 Project 5(“Project 5: A Filesystem”) adds a hierarchical read/writefile system to GeekOS. 项目5,文件系统,添加一个分级的文件读写系统 Project 6 ( “Project 6: ACLs and Inter-process Communication”) adds access control lists(ACLs)to the file system,and adds interprocess communication using an onymoushalf-duplexpipes. Upon 项目6,访问控制列表和进程间通讯。添加了访问控制列表(ACLs,access control lists)。添加了进程间通信,使用匿名半双管道通信。当完成了这些项目之后。Geekos就算得上是一个简单版本的UNIX了。
|