说实话,这东西是个新鲜玩意,现在大家的焦点,还在怎么利用计算机完成特定功能这个事情上。
至于像高振东这种,仿佛什么事情都不干,只是让屏幕亮起来,让人能操作计算机,但是却没有具体目标的事情,一时之间让大家都有点懵。
但是在场的毕竟都是专业人士,高振东说的意义一时之间还没感受到,但是至少,很快他们就意识到这个东西对专业人员的好处。
对于现在的循环值守程序来说,其实文件管理是非常麻烦的一个事情。
甚至循环值守程序本身,都不是个省油的灯。
每当完成一个程序,如果是单独运行,不加入循环值守程序的软件菜单的话,那还好办一些,直接存储到存储设备的某一个定起始位置,计算机在启动后会自动从那个地方开始执行程序,自然就调用了。
但是如果为了方便,想放到现在这个循环值守程序的软件菜单里面,方便调用和程序切换的话,那麻烦就来了。
要先把编译好的程序放到存储器里,然后记下它在存储器里的起始位置,然后把这个软件的名称和起始位置配置到循环值守程序的配置文件里,这样才能调用。
如果说这都不算最麻烦的话,那另外一个东西就超级麻烦了。
——文件管理。
在循环值守程序里,虽然有文件本身的结构,但是却没有文件系统。这意味着理论上,每个程序生成或者修改的文件都是它自己私有的,别的软件根本访问不了。
当然,也不是没有解决办法,比如,在存储器上划定一片或者多片区域,所有的程序都约定,当需要访问某种用途的文件时,就去访问这种区域,以特定的格式读写。
除了这种划定的区域,其他地方千万别动,那是别的软件的地盘,甚至有可能是别的软件的本体。
这样一来,勉强算是解决了文件在多个软件内的共享访问的问题。
这也可以算是一种比较原始的文件系统,甚至都不能算系统,只能算是文件操作方法。
但是这样的方法,是极为麻烦的。
这些文件的管理,基本上不是计算机在自动管理,而是人在管理,而且管理的是具体的存储位置这种极为细节的问题,这就让人很头疼了。
虽然可以通过一些方法,做到根据配置自动装载访问地址等等小便利的功能,但是核心上,依然解决不了问题。
然而,现在,有了高总工这个东西,仿佛一切都迎刃而解了!
苍天啊大地啊,终于不用算地址了吗!
厉所长代表所有程序员,用激动的语气问高振东:“高总工,别的你先别管,我就问一个事儿,这东西,能自动把文件管起来不?”
高振东笑了:“能!文件在这个系统里,就是一个二进制数据流。对于已经预设好的常用文件格式,你们只需确定文件的名字,指定具体的操作就可以,至于文件在存储器上怎么分布、存储、读写、修改、擦除、存储空间的回收等等,都是操作系统的事情。”
池总工问出了自己总结的想法:“也就是说,我们只要下达类似‘操作系统,把名字为test的文本文件后面加300行字符,每行10个a’这种指令,他就能自动在存储器上把文件操作完成了?而且文件的地址对于所有软件都是透明的,任何软件在操作文件的时候,只需要通过文件名就可以操作了?”
“对!操作系统甚至能做更多。不过只有文件名不够,需要把文件路径定义好。”
池总工已经不在乎这个“文件路径”是个什么鸟东西了:“不用更多不用更多,这个就好,这个就挺好。”
这话说得,极为实用主义。
所有的软件人员都面露喜色,就这一个功能,就能让他们少掉很多头发。
如果高振东知道他们现在在想什么,恐怕会大笑出来,笑死,你们那点儿头发,终究是保不住的。
看着他们高兴,高振东又向他们介绍了另外一个极为实用的功能。
“你们可以在任何一个程序里,直接调用其他程序,完成其他程序的功能。例如.”
高振东打开C编辑器,编写了一个名为execprint的的程序,极为简单,就一个功能,核心代码就两行。
——调用vi编辑一个名为test.txt的文件,然后调用打印程序print.e打印test.txt。
调用的是外部可执行程序,而不是库函数、内建函数这种程序内部的东西。
编译之后,所有人看着他直接输入execprint指令就运行了这个程序。
然后vi自动启动,高振东输入了那个著名的字符串,存储并关闭vi,然后打印机“滋滋”作响,一张白纸吐了出来。
对于现在的程序员或者计算机操作人员来说,可执行程序之间的互相调用是完全没有考虑过的事情,做不到,或者说做起来非常危险。
举个例子,他们想完成刚才高振东演示的那个程序,完整操作是这样的。
先打开vi,把test.txt编好,退出vi。
然后切换打开print程序,打印。
这算是运气好,在循环值守环境里,同时有vi和print,如果两者不在同一个环境里,那乐子可就大了,先完成vi操作,然后关闭计算机,换磁带或者存储器挂载print软件,打印。
看起来好像不“太”麻烦,可是实际操作完全不是这么回事,而且,这涉及到一个程序自动执行的问题,这才是核心。
当然,对于高振东的操作系统来说,这些操作还有一个实现方式,那就是用脚本,不过那是另外一个问题了。
看着那一行熟悉的“Ni Hao,ShiJie!”,所有程序员都叫了起来。
“这个功能太好了!”
“有这个,我至少能节约四分之一的时间!”
“程序自动调用啊,我一直想着类似的功能,但是就是不知道怎么实现,原来那个循环值守环境框架太死了。”
“你好,师姐!”嗯?好像混进了奇怪的东西。
高振东趁热打铁,又给他们演示了上述操作的另外一种自动执行方法,批处理文件,或者说叫脚本,不过高振东觉得批处理这个名字,更贴切一些。
又是一阵哄闹。
“这个更好,都不用编译,直接用现有软件就能搞出一个成系统的新软件来。”
“批处理,这个名字起得好,有了这个功能,一些简单的重复操作就能自动执行了。”
“高总工甚至还在里面加上了类似C语言的流程控制语句,不服不行。”
随着操作系统面纱的一点点揭开,厉所长和池总工开始意识到,刚才高振东说的那番话,这个东西,远远不是他们开始想的那么简单,意义重大。
也不是没有毛病,比如对于现在的存储器来说,只能在磁带上调用,磁芯和晶体管存储器上都别想,太贵了。
但是这是操作系统的问题吗?不,这是我们自己的问题,买不起足够多的高速存储器。
池总工回想着刚才高振东的一番操作,突然发现了一个大家都没注意到的点。
“高总工,你这个操作系统,可以同时执行多个程序?刚才在vi编辑的时候,很明显,execprint程序是没有退出的,还在运行,这是不是意味着”
所有人这才注意到这个细节,鸦雀无声,这如果是真的,那完全是颠覆性的。
现在的计算机,基本上都是走单任务的,其实也是因为性能就那么点儿,能完成一个任务就不错了。
但是不管怎么说,能实现多任务同时运行,这就是个了不起的变革,这意味着更多的可能性。
高振东笑了,怎么说呢,证据错了,但是结论是对的。
“刚才那个啊?那个不算,那一个我只是使用了类似函数调用的堆栈操作保存了execprint的现场,实际当时在跑的,只有vi,execprint是在它运行完之后重新恢复现场开跑的。”
大家有些失望,但是又好像有些放心,这样的结果,好像显得高总工更加接地气一点。
“但是.”得,最怕的就是但是了。
高振东可顾不上他们在想什么,继续说道:“这个操作系统,的确是多任务操作系统,可以同时执行多个程序。说是同时,只是宏观时间尺度上的同时,微观尺度上,实际上是把时间分成很多片,按需轮流跑。”
“哇!!!!!!”
众人一阵惊呼,还能这样搞的?理论上这的确是可行的,时分操作嘛,洒洒水啦,简单,可实际上,简单个屁啊!
至少在座的所有人,有一个算一个,从来没想到过到底怎么弄这个事情。
肖勤看着伍升远三个人,目光中满是羡慕嫉妒,这就是他们去的单位,这就是他们的技术带头人?恐怖如斯!可算是让他们给逮着好机会了。
“嘶~~~~~~”
得到高振东的确认,厉所长和池总工倒吸一口凉气,高总工这几个月,在计算机方面好像都没怎么大动作,可是万万没想到,终年看不见,一举露峥嵘。
这一搞,就搞了个大的。