操作系统历史

背景

早期的计算机没有操作系统。只有单独的机器，操作者会带着记录有程序和数据的卡片（punch card）或较后期的打孔纸带去操作机器。程序读入机器后，机器就开始工作直到程序停止。由于程序难免有误，所以机器通常都会中途崩溃。程序一般通过控制板的开关和状态灯来调试。据说图灵能非常熟练地用这种方法操作曼切斯特1型机器。
后来，机器引入帮助程序输入输出等工作的代码库。这是现代操作系统的起源。然而，机器每次只能执行一件任务。在英国剑桥大学，这些任务的磁带从前是排成一排挂在衣钩上的，衣钩的颜色代表任务的优先级。
概念意义上的操作系统和通俗意义上的操作系统差距越来越大。通俗意义上的操作系统为了方便而把最普通的包和应用程序的集合包括在操作系统内。随着操作系统的发展，一些功能更强的“第二类”操作系统软件也被包括进去。在今天，没有图形界面和各种文件浏览器已经不能称为一个真正的通俗意义上的操作系统了，但事实上，运行在数据中心和服务器等领域的操作系统往往是没有图形界面的。

大型机时代

早期的操作系统非常多样化，生产商生产出针对各自硬件的系统。每一个操作系统都有很不同的命令模式、操作过程和调试工具，即使它们来自同一个生产商。最能反映这一状况的是，厂家每生产一台新的机器都会配备一套新的操作系统。这种情况一直持续到二十世纪六十年代IBM公司开发了System/360系列机器。尽管这些机器在性能上有明显的差异，但是他们有统一的操作系统——OS/360（在开发OS/360过程中遇到的问题在Fred Brooks写的软件工程经典之作《人月神话》中详细地叙述了）
OS/360的成功陆续地催化出MFT、MVT、SVS、MVS、MVS/XA、MVS/ESA、OS/390和z/OS。

小型机和UNIX的崛起

UNIX操作系统是由AT&T公司开发出来的。由于它的早期版本是完全免费的，可以轻易获得并随意修改，所以它得到了广泛的接受。后来，它成为开发小型机操作系统的起点。由于早期的广泛应用，它已经成为的操作系统的典范。不过，它始终属于AT&T公司，只有那些能负担的起许可费的企业才用得起，这限制了它的应用范围。
早期的操作系统是可以被用户软件所利用的功能的集合。一些有能力的公司发展更好的系统，但他们不支持其他公司硬件的特性。
60年代末70年代初，几种硬件支持相似的或提供端口的软件可在多种系统上运行。早期的系统已经利用微程序来在他们的系统上实现功能。事实上，除了360/165和360/168外，360/40之后的大部分360系列的机器都实行微程序设计。

个人计算机时代：Apple, DOS 和以后

微型处理器的发展使计算机的应用普及至中小企业及个人爱好者。而计算机的普及又推动了硬件组件公共接口的发展（如S-100,SS-50,Apple II,ISA和PCI总线），并逐渐地要求有一种“标准”的操作系统去控制它们。在这些早期的计算机中，主要的操作系统是8080/8085/Z-80 CPU用的CP/M-80，它创建在数字研究公司(Digital Research)先前几个针对PDP-11架构的操作系统的基础上。在此基础上又产生了MS-DOS（或IBM公司的PC-DOS）。这些计算机在ROM（只读存储器）都有一个小小的启动程序，可以把操作系统从磁盘装载到内存。IBM-PC系列的BIOS是这一思想的延伸。自1981年第一台IBM-PC诞生以来，BIOS的功能得到不断地增强。
随着显示设备和处理器成本的降低，很多操作系统都开始提供图形用户界面。如：许多UNIX提供的X Window一类的系统、微软的Windows系统、苹果公司的Mac OS和IBM公司的OS/2等。最初的图形用户界面是由Xerox Palo Alto研究中心70年代初期研发出来的，之后被许多公司模仿，继承发展。