Merge branch 'master' of github.com:objectkuan/ucore_docs

This commit is contained in:
yuchen 2015-06-04 09:51:57 +08:00
commit 93bef62244
2 changed files with 2 additions and 2 deletions

View File

@ -7,6 +7,6 @@ STATE的进程进行进程切换让新进程有机会占用CPU执行
在实验七中的ucore初始化过程开始的执行流程都与实验六相同直到执行到创建第二个内核线程init\_main时修改了init\_main的具体执行内容即增加了check\_sync函数的调用而位于lab7_figs/kern/sync/check\_sync.c中的check\_sync函数可以理解为是实验七的起始执行点是实验七的总控函数。进一步分析此函数可以看到这个函数主要分为了两个部分第一部分是实现基于信号量的哲学家问题第二部分是实现基于管程的哲学家问题。
对于check\_sync函数的第一部分首先实现初始化了一个互斥信号量然后创建了对应5个哲学家行为的5个信号量并创建5个内核线程代表5个哲学家每个内核线程完成了基于信号量的哲学家吃饭睡觉思考行为实现。这部分是给学生作为练习参考用的。学生可以看看信号量是如何实现的已经如何利用信号量完成哲学家问题。
对于check\_sync函数的第一部分首先实现初始化了一个互斥信号量然后创建了对应5个哲学家行为的5个信号量并创建5个内核线程代表5个哲学家每个内核线程完成了基于信号量的哲学家吃饭睡觉思考行为实现。这部分是给学生作为练习参考用的。学生可以看看信号量是如何实现的以及如何利用信号量完成哲学家问题。
对于check\_sync函数的第二部分首先初始化了管程然后又创建了5个内核线程代表5个哲学家每个内核线程要完成基于管程的哲学家吃饭、睡觉、思考的行为实现。这部分需要学生来具体完成。学生需要掌握如何用信号量来实现条件变量以及包含条件变量的管程如何能够确保哲学家能够正常思考和吃饭。

View File

@ -9,7 +9,7 @@ ucore的文件系统模型源于Havard的OS161的文件系统和Linux文件系
* 索引节点UNIX将文件的相关元数据信息如访问控制权限、大小、拥有者、创建时间、数据内容等等信息存储在一个单独的数据结构中该结构被称为索引节点。
* 安装点在UNIX中文件系统被安装在一个特定的文件路径位置这个位置就是安装点。所有的已安装文件系统都作为根文件系统树中的叶子出现在系统中。
上述抽象概念形成了UNIX文件系统的逻辑数据结构并需要通过一个具体文件系统的架构设计与实现把上述信息映射并储存到磁盘介质上。一个具体的文件系统需要在磁盘布局也实现上述抽象概念。比如文件元数据信息存储在磁盘块中的索引节点上。当文件被载内存时,内核需要使用磁盘块中的索引点来构造内存中的索引节点。
上述抽象概念形成了UNIX文件系统的逻辑数据结构并需要通过一个具体文件系统的架构设计与实现把上述信息映射并储存到磁盘介质上,从而在具体文件系统的磁盘布局(即数据在磁盘上的物理组织)上具体体现出上述抽象概念。比如文件元数据信息存储在磁盘块中的索引节点上。当文件被载内存时,内核需要使用磁盘块中的索引点来构造内存中的索引节点。
ucore模仿了UNIX的文件系统设计ucore的文件系统架构主要由四部分组成