From 32baaba4378c149df2badd2af632be36be3bb215 Mon Sep 17 00:00:00 2001 From: chyyuu Date: Sun, 17 May 2015 20:41:46 +0800 Subject: [PATCH 1/2] Update lab7_3_1_experiment.md --- lab7/lab7_3_1_experiment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lab7/lab7_3_1_experiment.md b/lab7/lab7_3_1_experiment.md index 7538a31..b43edb4 100644 --- a/lab7/lab7_3_1_experiment.md +++ b/lab7/lab7_3_1_experiment.md @@ -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个哲学家,每个内核线程要完成基于管程的哲学家吃饭、睡觉、思考的行为实现。这部分需要学生来具体完成。学生需要掌握如何用信号量来实现条件变量,以及包含条件变量的管程如何能够确保哲学家能够正常思考和吃饭。 From 9deff1f9823cae7c1d169a288f30205d1397e170 Mon Sep 17 00:00:00 2001 From: chyyuu Date: Thu, 4 Jun 2015 09:09:56 +0800 Subject: [PATCH 2/2] Update lab8_3_1_ucore_fs_introduction.md --- lab8/lab8_3_1_ucore_fs_introduction.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lab8/lab8_3_1_ucore_fs_introduction.md b/lab8/lab8_3_1_ucore_fs_introduction.md index 5ff3409..69fa7c8 100644 --- a/lab8/lab8_3_1_ucore_fs_introduction.md +++ b/lab8/lab8_3_1_ucore_fs_introduction.md @@ -9,7 +9,7 @@ ucore的文件系统模型源于Havard的OS161的文件系统和Linux文件系 * 索引节点:UNIX将文件的相关元数据信息(如访问控制权限、大小、拥有者、创建时间、数据内容等等信息)存储在一个单独的数据结构中,该结构被称为索引节点。 * 安装点:在UNIX中,文件系统被安装在一个特定的文件路径位置,这个位置就是安装点。所有的已安装文件系统都作为根文件系统树中的叶子出现在系统中。 -上述抽象概念形成了UNIX文件系统的逻辑数据结构,并需要通过一个具体文件系统的架构设计与实现把上述信息映射并储存到磁盘介质上。一个具体的文件系统需要在磁盘布局也实现上述抽象概念。比如文件元数据信息存储在磁盘块中的索引节点上。当文件被载如内存时,内核需要使用磁盘块中的索引点来构造内存中的索引节点。 +上述抽象概念形成了UNIX文件系统的逻辑数据结构,并需要通过一个具体文件系统的架构设计与实现把上述信息映射并储存到磁盘介质上,从而在具体文件系统的磁盘布局(即数据在磁盘上的物理组织)上具体体现出上述抽象概念。比如文件元数据信息存储在磁盘块中的索引节点上。当文件被载入内存时,内核需要使用磁盘块中的索引点来构造内存中的索引节点。 ucore模仿了UNIX的文件系统设计,ucore的文件系统架构主要由四部分组成: