当然可以,世界上第一台计算机埃尼阿克,就是没有操作系统的,它的操作是由无数个开关组成,效率极其低下,计算机的操作系统最开始的时候全称叫做计算机磁盘操作系统英文Disk Operating System缩写DOS,是为了提高效率而开发的,因为数据量一大,靠人的手肯定忙不过来,所以就把大量的数据变成一个个文件按照一定的执行步骤,让计算机自动执行,这些文件和执行程序就必须在磁盘上存放,所以就叫磁盘操作系统,刚编写磁盘操作系统开始的时候,都是文本界面,操作计算机的人必须要记住大量的指令,为了方便和简化操作,于是就出现了图形界面,操作系统也就变成了一个执行程序运行的平台。
总的来说,计算机可以在没有操作系统的情况下完成很多工作。程序员把这种情况称作祼机编程。祼机编程通常只要用到单一用途的应用程序,而不需要一个以用户为导向的传统计算机。如今,祼机编程一般只在微型或小型控制器板上进行,因为微控制器板的操作十分简单,安装的应用程序也很小巧简单,根本用不到操作系统。实际上,操作系统有时反而会阻碍工作进展,尤其当它不是一个实时操作系统的时候。其实,许多微控制器板也可以运行操作系统,像著名的树莓派就可以运行Linux。
尽管如此,仍有可能使用没有安装操作系统的个人电脑等大型计算机来编写应用程序。虽然已经过去有一段时间了,但我曾经就这样干过。我把一个应用程序嵌入EPROM,让BIOS可以把它作为初始序列的一部分进行调用。这么做的目的是尽可能缩短开机时间,并在不占用任何存储空间的情况下一直运行,从而控制我自己做的一个ISA总线硬件。
CPU主板本来是运行CP/M的,但在上世纪70年代末或80年代初,我们公司曾用8085 FORTRAN语言编写的裸机应用程序对CPU主板进行了重新编程。它们一直到今天还在运行。如果源代码还能找得到的话,我敢肯定早就有人会对它们进行更新升级了。
德州仪器公司的Sitara系列ARM处理器是一种混合型处理器。它共有三个处理器,可以在主处理器上运行Linux的同时,在其他两个处理器上运行裸机代码。
你是一家大公司的董事长,你手下有CEO,总裁以及各部门的执行经理,这一群人构成了公司的管理层。他们又继续把你的构想理念细化之后下发到普通员工。你下命令,管理层改善并传递命令,员工执行命令。
所以计算机就是你的公司,你是操作者,操作系统就是管理层,至于cpu,硬盘这些硬件就是普通员工。
拿掉操作系统直接操纵计算机当然可以,就像你绕过管理层直接向基层员工下命令是一样的。然而这需要考虑到一个问题:员工的数量似乎有点太多了,你整天忙着给员工们打电话,还要处理他们反馈回来的信息,以及公司以后的发展方向。而且,你还要考虑到你的命令是不是得到了很好的理解,你的员工会不会因为项目资金的分配而打起来。。。
管理层干的就是这一档子事儿,操作系统也是干的同一档子事儿。你对计算机说:我要干啥啥啥。操作系统把你的意思翻译了一下,然后用电脑才能理解的二进制告诉下面的硬件们:我们需要干啥啥啥,所以cpu去干啥啥啥,硬盘去干啥啥啥,你们办事的时候要和谐一点,不要因为抢了隔壁的手纸而打起来,真的没有手纸了就找我要,等等。硬件们搞完了,把结果告诉操作系统,操作系统写了个任务汇报,翻译成人类的语言,让显卡把结果呈现在显示屏上。
一句话,计算机在没有操作系统的情况下可以运行,单片机时代还是挺流行这种方式的,然而现代计算机由于功能强大计算能力出众,就需要操作系统来管理,是我们能更好地使用电脑资源。