乎并不在这里。 杨成说道:“我这里有钥匙,我们进去看看。” 两天两夜的时间,韩风已经将“硬件抽象层”的控制函数封装完毕,这还是他在之前早就已经花了大量时间进行预期准备和封装的结果,否则。如果临时进行封装。这点时间肯定是远远不够的。 这样之后,实际上他已经能够对身体进行一些简单控制了。例如直接给这一层发送函数指令,同样可以控制自己的身体。但是,由于指令比较繁杂。涉及到的神经脉冲还是有点多,所以控制起来要耗费不少时间,每次想要做什么动作,都先要酝酿一番之后才能做到,耗费的心力也很大。 超级系统 第一个真正意义上的内核,韩风也早就编写完毕,他现在要做 ,就只是将这个内核给安装到“硬件抽象层”上面去而已。由于这是第一个内核版本,开发时间也比较紧迫,这个内核的编制原则,还是按照从简单到复杂 规律。 韩风暂时将其设计为单线程结构,也就是说,在同一时间只允许一个执行程序在内核中运行,并且不会被调度程序打断从而去运行其他别的任务,这种内核被称为是“非抢占”的。按照韩风的处理,他将体内中的神经脉冲信号当成是一个单处理器进行处理,所以,这样的好处是比较简单,在内核中没有并发任务,从而避免了许多复杂的同步问题。 当然,这种“非抢占” 内核,也有一个非常突出 缺点,那就是很可能会延迟系统的响应速度,新 任务必须等待当前任务在内核执行程序推出之后,才能获得运行机会。 韩风也非常清楚这个缺点存在隐患,但是如果要实现“非抢占”,内核的复杂度将大大提升,暂时不在他的考虑范围之内,只是以后升级 目标而已。毕竟,“神经中枢”这个CPU其实是相当强劲的,韩风通过过特别优化设计的调度算法,可以使用“伪多线程”的方式来从一定程度上解决这个问题。其原理也很简单,他将每个线程的执行时间分成N多个时间片,各个线程以时间片为单位进行“交叉”执行,这样从宏观上看,好像是几个线程同时在运行,而微观上,每一时刻还是只有一个线程在运行。 这个内核,对设备驱动和文件系统都采取“模块化”方式,即在需要的时候可以随时动态加载,不需要的时候可以动态卸载。一些身体必须的控制驱动程序,例如对一些主要器官和部位的控制驱动,韩风将它们预先编译到内核中去了,这些驱动不可以随便卸载,而一些对身体部位进行的扩展功能,如提升耳朵能够听到的频率范围,则做成了“动态模块”,可以进行动态的加载和卸载。 内核中虽然还有很多功能没有完成,但是韩风都给它们留下了可扩展的位置,留待以后升级的时候加上,例如韩风甚至在留下了“网络管理”功能接口,他在期待,什么时候自己的超级系统能够和真正的互联网连接起来,实现上网,毕竟这在理论上是可行的。当然,至于怎么和互联网进行对联,韩风暂时还没想到有效的方式。 另外,韩风还在内核里面实现了一个精度非常高的定时器(timer),达到了毫秒级,这个东西就如同超级系统的脉搏一样,越精确越好,并且还不能中断,必须要持续不停的正常工作,说白了,这就是超级系统的生命计数器,是整个系统的时间工作基准,所有指令序列的执行,都是完全严格按照这个时间严格排序的。为了实现定时器的“硬件”基础,韩风也花了一番心思,好不容易才找到了一个非常稳定的神经脉冲产生循环通路。 也是直到这个时候,韩风的超级系统才真正达到了计算机那样精确的程度。 将内核安装完毕,韩风再次将一些常用的应用程序安装到超级系统中,其中包括一个命令行控制接口和一个图形化的桌面应用程序。 之前的那些所谓的“应用程序”,实际上只是一些指令的集合而已,不能称之为真正的应用程序,这些程序是韩风使用自己发明的专门的高级语言编写的。 韩风