当前位置:冬日小说网>重生学神有系统>第375章 没有操作系统怎么办?
阅读设置

设置X

第375章 没有操作系统怎么办?

现代计算机开机后,会执行一段固化在只读存储器rom中的程序。

这段程序叫做“basiputoutputsystem”,简称“bios”,中文含义是“基本输入输出系统”。

bios主要有三个功能:硬件自检、设置cmos里的参数,以及加载操作系统。

很多人都会把bios和cmos搞混。

事实上,s只是一个存储器的型号,在计算机中,一般用于保存基本的硬件参数。

cmos断电后,里面存储的内容就会消失,因此一般会在主板上,安装一块纽扣电池,专门用来给cmos供电

现在led阵列上显示的,就是bios自检没有通过,所给出的错误信息。

keyboardinterfaceerror

pressf1toresume

这两行的意思很简单,就是在提醒用户:你没有键盘,或者键盘坏了

江寒看到这一幕,却十分欣喜。

能看到这个错误提示,意味着内存、cpu等主要部件,都通过了自检程序的校验。

接下来,只要给这台计算机再搭载一个键盘,就可以愉快地玩耍啦。

那么,如何搞到键盘呢

如果不想费事的话,其实可以在商品列表中买一个。

价格并不贵,最便宜的型号,只需要100多万积分就能买一个。

与动辄几千万、几个亿的显示器相比,这点积分根本就不算什么。

但可惜的是,江寒手头有点紧张,买完主要硬件后,剩余的积分连最便宜的键盘也买不起了。

好吧,键盘这个玩意,其实结构非常简单。

江寒稍微思考了一下,就决定自己diy一个。

既能节约学以致用积分,顺便还能学到一点东西

江寒先回到现实,拿起笔记本,在网上查找了起来。

很快,他就收集到了许多关于键盘的文献。

在极客社区里,diy键盘只是入门级别的小东西。

原理简单、电路简单、结构

如果不追求手感的话,结构也是很简单的。

江寒细心研究了一下,很快就吃透了机械键盘的原理和实现方式,连电路结构都默背了下来。

随后,他就再次进入虚拟空间,买了一些空白图纸,把键盘的各部分电路,都画了出来。

然后把图纸回收掉,再去图纸列表里,花费了一点积分,让系统帮忙自动构建了出来。

有了电路后,剩下的部分就简单了。

买几块硬塑板,制造一个小箱子,当做键盘的外壳,再买一堆按钮开关,来代替按键

江寒很快就搞定了键盘的主体结构。

接下来,他就将电路封装进了箱子里,然后将每个按钮开关,都用细导线连接到了电路的io部分。

这样,一个山寨气息浓烈的箱式键盘,到此就基本大功告成了。

江寒将键盘的输出线,连接到了主板的at接口上,然后重启了一下286计算机。

随着“滴”的一声,自检顺利地通过了,没有再出现和键盘有关的错误提示。

这说明键盘本身没有任何问题,无论是质量上的,还是设计上的。

江寒欣然一笑。

今天的运气还算不错,第一次做键盘就取得了成功。

当然,他也没忘了在心里感谢一下,那些在网上共享资料的,都是好人哪

可惜的是,江寒并没有高兴太久。

计算机通过了bios自检后,led上的画面继续滚动,但很快又停了下来。

operatingsystemnotfound

看到这个提示,江寒不由得叹了口气。

这个提示的意思是:“找不到操作系统。”

自己花了那么多积分,才买来的20mb大容量硬盘,居然连个dos都不给预装。

上哪说理去

对于计算机来说,没有操作系统,可以说寸步难行。

那么,怎么解决这个问题呢

江寒思索了起来。

万事开头难。

先不说自己有没有能力,自行编写一个操作系统。

就算真能克服种种困难,把操作系统写出来,也得有办法加载到硬盘中去才行。

震惊商城里倒是也能买到各种操作系统的源代码。

但购买点数够不够,只是一方面。

同样的问题,买来之后怎么写入到硬盘里。

在计算机没有安装任何操作系统时,如何将程序写入到硬盘呢

江寒想起一个很久以前听过的笑话。

如果你买了一台全新的裸机,手头上又没有系统安装盘,你可以这样做:

找一部电话机,最好是带按键的,除了0和1,其他的按钮全都坏掉也无所谓。

然后找一根电话线,插在电话上,另一头用打火机烧一下,撸掉多余的包皮,接在硬盘的数据线接口上。

接下来,就可以用电话上的0和1两个键,输入机器码编写操作系统、调试运行了。

看,很简单吧

那么问题来了:如果连bios都没有,根本无法驱动硬盘,又该怎么办呢

也好办。

首先,找一个螺丝刀,把硬盘拆开,再找一根针,在硬盘的盘片上戳。

这样硬盘里就被写上数据了

当然,以上纯属扯淡。

真正的裸机编程,肯定要比这个复杂一些。

比如,可以仿照之前操作“雨菲一型”的办法,设计一组开关。

先切断存储器和数据总线的链接,然后操作开关,就可以在内存中写入机器指令了。

要不然,做一台纸带机,用在纸带上打孔的方式,来代替手动按开关,将程序输入到电脑里,也是可行的。

但这些办法做起来都太费事了。

如果有更简单的办法,又何必这么麻烦呢

江寒重启了一下286,然后在自检的过程中,按住了“delete”键。

这样,自检结束后,就跳过了系统自举阶段,进入了bios的设置程序中。

bios设置界面非常简单,江寒很快在其中找到了一个关于rombasic的选项。

80286是一款十分古老的处理器,只集成了13万个晶体管,最大主频仅有20mhz。

但就是这么落后的机器,却包含了一些十分有意思的功能。

在这种早期主板的rom芯片中,常常会固化一个basic解释程序。

当相关的选项开启时,如果系统启动时找不到可引导的系统,将会进入rombasic解释程序。

而不像后来的先进计算机那样,只给出一个错误信息,之后就什么也干不了了。

这个选项默认处于“关闭”状态,江寒将其设置为“开启”,然后按“f10”保存、退出。

系统重新启动,很快屏幕上就出现了“ibmpersonalputerbasic1.0”、“cht1981”字样。

屏幕中还出现了一个一闪一闪的“”,这就是提示符光标了。

屏幕的最下方,还有一行命令提示:“1、list,2、load,3、run

现在就可以利用这个不到10kb的basic解释程序,来干点什么了。

这个basic语言解释器,可以说相当简陋,很多功能都没有内建,连浮点运算都不支持。

但厉害的是,却可以通过io指令,直接读取端口和内存,以及调用一些系统中断。

这就给了用户很大的操作空间。

江寒先退出虚拟空间,去上找了几份关于rombasic的教程,并下载了一份msdos3.31的软盘镜像文件。

没错,对于80286来说,跑太高版本的dos,还是有些力不从心的。

而dos3.31的功能和复杂度,刚好处于一个微妙的平衡点。

既不像6.22那样,占用太多可用内存;又不会像更早期的版本那样太过简陋,能干的事情太少。

接下来,江寒就把msdos3.31对软盘镜像解压了一下,然后用一款非常牛掰的、能支持dos软件的反汇编工具,对安装程序进行了静态分析。

再结合网上找来的那些资料,他很快就理解了msdos的运行机制,并搞清楚了硬盘主引导记录mbr的格式。

接下来,江寒就回到了虚拟空间,然后在rombasic里,编写了一段程序。

这段程序执行时,会调用bios的int13h中断,对磁盘进行读写。

虽然做起来很麻烦,但至少突破了最大的阻碍,可以把数据写入硬盘。

上一章 下一章

足迹 目录 编辑本章 报错

随机推荐: 总裁老公不离婚战神您来啦修仙世界:开局契约荧妹鼎炼天地远景龙陵秘藏舒情修罗神王旁医左相真的别惹那只猫