今天来了解一下整个系统的构成。
nachos-3.4下有一个C++例子文件夹和一个code文件夹,code文件夹下才是程序的源码,总文件夹下的makefile呢,就是进入各个子文件夹,make他们自己的makefile,先执行depend,也就是依赖,依赖是很复杂的,然后才是编译本体,至于本体是什么,下面再讲,然后就是一个移除过程文件,注意对于makefile,一般是以第一个标签为生成对象,剩下的都不会。。。除非你特别指定。
但是makefile.dep,能打的仅仅只有两句,可能没有什么用
HOST = -DHOST_i386
LDFLAGS =
至于makfile.common,貌似也没用到,但是里面挺复杂的。
分号: 顺序地独立执行各条命令, 彼此之间不关心是否失败, 所有命令都会执行。
接下来,进入thread,里面的makefile,引用到了主目录的makefile.common和makefile.dep,然后是非常长的一段系统C语言文件调用,只是调用,没有gcc什么东西,为什么呢?因为其中的include命令,makefile中的include与C语言中的差不多,因此,,,makefile.common之所以叫common,大概知道一点了,就是把depend和nachos放在一起,每个文件调用,就是这样,注意,nachos还进行了转义,变成了PROGRAM,就是这样。
nachos的thread里面的main.cc是主程序的入口,要看先看这里,里面用了很多ifdef,main有几个参数的,是测试的数量,线程测试。
版权是很重要的。。。。。
开始一段用户程序用StartProcess,嗯,里面也有不少断言。
-c命令是测试控制台。。。
我发现,每一个ifdef都是在处理一个参数。
再到system.cc,找里面的init函数和debug函数。在initial中,仍然还是在处理参数,而degub没找见。。因为debug不是函数
untility文件里面的内容出奇的少,应该还是给人看的。
threadtest文件里仍然还是不多,,比较好懂
但是最后并不是很懂,以后再说吧。。。
nachos操作系统(一)
最新推荐文章于 2023-11-26 15:43:17 发布