第398章 安装超脑系统(2 / 2)

当然,也并不是说一定不需要,这个看情况,如果林鸿想要另外隔离出这么一个层,用于直接和“硬件”打交道也不是不可以,还可以增加安全性。

不过,暂时他并没有考虑这个情况。

现在blx是直接和“天眼”直接进行操作,反正这个系统暂时还只是他一个人用,他自己自然不会对这些硬件进行“恶意”操作。

林鸿将数据传输到“天眼”中之后,便开始了超脑系统的启动过程。

和计算机类似,启动的时候,超脑系统也将会对指定的硬件结构进行自检,只不过,刚开始林鸿只指定了几个特定的硬件结构,首先是cp,然后便是显示器、存储结构(硬盘和内存)。

只要这几个部件没有出现什么问题,就让blx继续执行代码,最终成功启动。如果出现了什么意外情况,则系统挂起,并且给出提示信息。

这个过程是必须的,因为硬件如果出了问题,继续执行也没有任何意义,因为很多代码都将无效。例如,假如硬盘出现了问题,就算系统能够运行起来,但是却无法保存数据,文件系统无法工作,功能将大大受到限制。

当然,显示器对于计算机来说,并不是必须的,很多服务器就干脆不配备显示器,系统也能够一样运行。

自检硬件,到底要不要挂起,这就得看具体的情况。

短暂的自检过后,blx成功通过,然后正式开始软件的启动过程。

这个过程很快,基本上是一闪而过,然后林鸿就“看”到,眼前凭空出现了一个黑底的矩形屏幕,其大小和一个17英寸的显示器差不多,就那么固定在前方,就好像前面真的出现了一个这样的显示器。

接着,显示屏上面开始出现绿色字符:

>ello

>blx

>ello

>blx

……

持续不断地这样显示,如此循环,绿色字符不断向上刷动。

看到这一幕,林鸿脸上露出笑容。

这个画面,才真正意味着,blx在天眼里面正式运行成功。

之前所显示的内容,只是他手动对视网膜屏进行操作才出现的结果,就好像,他用手在屏幕上画了了一个图案。

而现在,则确确实实地是系统中所显示出来的内容,这个内容,是可以随时很方便地进行修改的。

并且,这两个词汇交替进行显示,意味着blx系统中的多进程功能正在运行,也就是说,这个系统虽然简单,但至少已经具备了多任务处理的能力。

被加载到内存中执行的程序实例,称为“进程”,一个进程从建立到终止,全由操作系统的核心掌控。

操作系统的内部有一个进程队列,针对进程的状态和需求,根据不同的算法安排执行的顺序。每个进程会分配到一小段cp时间,该段时间结束cp马上切换到其他进程执行。

像这种不停的在各种进程之间切换执行(即上下文切换)的系统,称为多任务操作系统。

有多任务,自然就有单任务,dos系统在运行在本地实模式的时候,就是单任务的,也就是说在同一时刻,只能运行一个进程。要想运行其他程序,必须先将当前程序退出。

一般来说,多任务是现代操作系统的一个重要特征,当年lx开始编写的时候,首先实现的就是这个功能。而林鸿现在所做的,只不过是重复走了这一个过程而已。

证明了这一步没有问题,林鸿便开始将文件系统模块和内存管理模块给挂载上去。

由于这是微内核的结构,要挂载这些模块,系统连重启都不要,直接进行挂在就行了。

将文件系统挂载上去之后,林鸿测试了一个简单的文件读取和写入操作,进行了文件的创建,重命名,朝里面写入数据,并且将其显示出来。当然,这些操作,林鸿使用的并不是系统调用命令,而是像之前那样,完全手动进行

将这一步完成之后,他便开始继续完善他的sell,也就是字符终端的外壳程序。

他现在好像又回到了当初和ls一起编写lx的时候的时期,那个时候是将一个开源的bs移植到lx里面,而现在,他也大量参考了bs的sell外壳程序,开始编写更为复杂的系统调用命令。

sell是操作系统里面非常重要的东西,就好像是机床里面的母床一样,有了它,就可以在里面建立一个生产环境,极大的加快以后的系统编写进度。一旦将sell完成,就好像从0直接跳到了100,有了一个质的飞跃。他在里面实现诸如ls,ove和copy之类的命令,就变得像是做1+1之类的算术题这么简单。

加入书签