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

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

这段程序叫做“Basic Input Output System”,简称“BIOS”,中文含义是“基本输入输出系统”。

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

很多人都会把BIOS和CMOS搞混。

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

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

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

【Keyboard/Interface Error 】

【Press F1 to Resume】

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

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

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

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

那么,如何搞到键盘呢?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

江寒欣然一笑。

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

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

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

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

【operating system not found】

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

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

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

上哪说理去?

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

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

江寒思索了起来。

万事开头难。

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

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

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

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

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

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

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

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

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

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

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

看,很简单吧?

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

也好办。

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

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

当然,以上纯属扯淡。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

系统重新启动,很快屏幕上就出现了“ IBM Personal Computer Basic 1.0”、“ copyright 1981”字样。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

第63章 巧吗?第242章 搞出问题怎么办?第193章 这也太考验人了吧?第220章 英俊潇洒,踏雪无痕第235章 有所不为、有所必为第181章 无监督学习和SOM第46章 月考开始第202章 输得明明白白第248章 需要对答案吗?第6章 三个系统倒有四种资源?第52章 “感知机”的初次实战第268章 最终版本第192章 许文强和冯程程第143章 别人笑我太疯癫第298章 手持利器,尤须谨慎第192章 许文强和冯程程第429章 阿法狗的三板斧第362章 社会我老方第267章 数据增广和集成学习第377章 打造自己的科技品牌第165章 看谁先怂第21章 《琵琶行》公开第331章 背着妈妈偷吃第347章 中计了第126章 八楼的直升飞机第360章 造了什么孽?第130章 大佬和小萝莉第121章 还有谁会对自己这么好?第348章 只会下蛋,不会生宝宝第199章 大功告成第49章 高老师的难题第143章 别人笑我太疯癫第298章 手持利器,尤须谨慎第99章 老江很忙第216章 有些事,再多的钱也没得谈第310章 唯一的破绽第181章 无监督学习和SOM第274章 申请PCT国际专利第88章 有点刺激第229章 从源头上防仿制?第255章 调整超参数,以及防止过拟合第252章 生吃海参,不蘸酱油第128章 被传染了怎么办?第370章 四轴飞行器第234章 恐高症第430章 超算落成,九段助阵第93章 《泡沫》第207章 复赛环境和Arbiter评测系统第107章 附加条件第167章 提醒还是邀请?第61章 记忆和遗忘的生物学原理第196章 背黑锅我来第240章 怎么住?第16章 倔强的夏雨菲第215章 仪表堂堂,器宇轩昂第65章 论文过审第7章 所谓“取整”,就是……第24章 投稿AMC第193章 这也太考验人了吧?第51章 任务分析第164章 不会被下药吧?第132章 做个小游戏第335章 长痛不如短痛第111章 虚拟空间,开启!第80章 碰碰船和真人CS第249章 胸有成竹,根本不慌第412章 小女盆友,青梅竹马?第240章 怎么住?第340章 实力还是运气?第271章 破坏永远比建设更容易第20章 写论文第135章 巧合?考验?第211章 就当帮他们改进一下服务质量了第166章 意外的变化第294章 峰回路转,转了又转第337章 拐着弯地夸自己?第209章 校服就是最正式的装扮第382章 电动车和机械臂第338章 脱胎换骨,战神军团第79章 李东的Show time第305章 再不用就过期了第160章 只能看到文章本身第75章 金少楼的警告第309章 天赋异禀,出生太晚第390章 两份DNA检测报告单第297章 Py大法威力无穷第19章 一切为了押韵第396章 线性CCD扫描相机第25章 我想参加NOIP第21章 《琵琶行》公开第353章 神乎其技第242章 搞出问题怎么办?第351章 送她点什么?第339章 翻云覆雨,点石成金第136章 打造算术逻辑单元第388章 组队刷分,在线卖软第214章 小伙子,你很有勇气啊!第115章 无线电发射器第367章 老板娘第137章 听松小院,好地方?