在本实验中,我们需要去了解实验环境,熟悉Linux 操作系统(Ubuntu),了解控制终端,掌握一些常用工具并能够脱离可视化界面进行工作。
进入实验环境后,点击"Terminal"图标打开终端环境。首先,使用以下命令查看git服务器地址:
cat .cgconfig
假如,git地址是192.168.101.202,使用以下命令克隆实验的代码库:
git clone git@192.168.101.202:$CGUSERID-lab
实验代码库将被check out到本地,然后按照实验指导手册(双击guide-book可打开手册)开始实验。
在本实验中,我们需要阅读并填写部分代码,使得我们的小操作系统可以正常的运行起来。
本次实验中,我们需要掌握MIPS 页式内存管理机制,需要使用一些数据结构来记录内存的使用情况,并实现内存分配和释放的相关函数,完成物理内存管理和虚拟内存管理。
在本实验中,我们需要实现系统调用机制,并在此基础上实现进程间通信(IPC)机制和一个重要的系统调用fork。在fork的实验中,我们会介绍一种被称为写时复制的特性,而与这种特性相关的正是内核的缺页中断处理机制。
通过本实验,您将:
1. 了解文件系统的基本概念和作用。
2. 了解普通磁盘的基本结构和读写方式。
3. 了解实现设备驱动的方法。
4. 掌握并实现文件系统服务的基本操作。
5. 了解微内核的基本设计思想和结构。
通过本实验,您将:
1. 掌握管道的原理与底层细节
2. 实现管道的读写
3. 复述管道竞争情景
4. 实现基本shell
5. 实现shell 中涉及管道的部分