因为底层设备的复杂性,操作系统实现的代码量巨大。从系统架构上可以将操作系统分为三类:宏内核操作系统,微内核操作系统,外内核操作系统。
在座都是行业精英,这方面的知识,我就不用讲解了吧?
接下来翻到下一节。
看清楚这一段,内核:几乎所有的处理器厂商都将处理器的执行状态分为了两个级别:特权级和非特权级。
处理器只有在特权级时才可以执行一些特权级的指令和访问特殊的寄存器。特权级和非特权级的划分是为了防止不可信的用户和应用程序破坏系统的状态和数据。特权级又称为ring 0。在特权级执行的代码称为内核。
只不过代码量越写越大,最后变成了软件。
而我们的新科os内核包括了两个级别的内核处理。
面向物联网设备开发的,内存要求小于128mb。而另一个则针对的是资源较为丰富的嵌入式设备,内存可以达到4gb。
新科os这个系统内核最主要的特性之一就是微内核的操作系统内核架构设计。
那么如何分析操作系统设计采用的内核架构呢?
按照当初的设计方案,一个简单直接的方法就是观察操作系统内核接口的设计。操作系统内核接口又称为系统调用。
下面我们通过新科os内核的系统调用实现来简单分析一下新科系统os内核的架构。
新科os运行库采用了第三方的数据库。在该数据库中,系统调用的实现是应用程序在寄存器中设置好系统调用号和系统调用参数后,执行svc指令陷入到内核,如下面代码所示:
static inline long __syscall3(long n, long a, long b, long c)
……regis= n;//系统调用号
……参数0、参数1、参数2……”
讲技术?
这位精英程序员根本就不像是在讲技术,他就像是一个无情的解读机器,甚至遇到了关键的数据和环节时,除了提点几句,立马就会依照“他们”当初的技术水平,开始了省略。
目前新科os内核的代码量,早已超过了数十万,哪怕是一个虚拟文件系统的代码量,也超过了一万行。
这些代码包含了操作系统最核心的几个功能模块,进程管理,虚拟内存,文件系统,网络传输,所以这些其他公司的技术人员,哪怕是看“天书”,也非常努力的在想办法打开自己的“智商”,跟上讲师的节奏。
或许人的潜力就是被逼迫出来的吧,在这种尽可能压榨脑海记忆和智商的环境下,这群其他企业的技术精英们,还真就磕磕绊绊的跟上了讲课节奏。
只不过代价就是他们的额头越来越光亮,甚至每天回宿舍的时间也越来越少,只要有空,他们就会回到教室,和其他同学们聚在一起,商议那些难题。