前言:现代操作系统(Modern Operating System,MOS)是一本很好的讲述操作系统原理的教材。此书英文版被世界各大知名高校列为指定教材,国内清北交浙之流貌似也是用的是此书中文翻译版。然而中文版毕竟是翻译删减之后的作品,远不如原版来的充实。故作者通读了一遍英文版,并作适当笔记,广集材料,给大家提供有关解决此方面问题的参考。
一、操作系统的角色
- 操作系统是资源抽象(abstract set of resources)者
系统中的各种资源均可被抽象为一系列的“抽象资源”。例如: 文件、内存和IO等等常见的概念。有了这些概念,用户就可以方便地通过操作系统操作计算机。 - 操作系统是资源管理(resources manager)者
显然,系统中的各种资源不能由用户来直接管理。而操作系统的一大任务,就是在资源抽象的基础之上,根据用户的指令,管理权限范围内的资源。
二、发展历史
- 第一代(1945-1955):电子管时代
在此期间,操作系统并未出现。电子管时代的计算机的计算能力过于低下,加之成熟的编程语言尚未出现(尚处于使用机器代码编程的时代),故操作系统为出现。 - 第二代(1955-1965):晶体管时代
在此期间,出现了成熟的批处理系统。晶体管使得计算机的计算能力有了巨大的提高,足以承担额外的计算任务(维持操作系统的运行),故原始的批处理系统在此期间出现,并逐步完善。 - 第三代(1965-1980):集成电路时代
在这几十年中,大规模甚至超大规模集成电路的使得计算机的处理性能飞速发展,体积也逐步变小(出现了小型机和微型机),使得计算机的应用领域得以扩展,故操作系统在需求的驱动之下变得更加完善。 - 第四代(1980-今):个人电脑时代
个人电脑的发展使得计算机的应用渗入了我们生活的方方面面,而操作系统的发展也因此而不停的发展。 - 第五代(1990-今):移动时代
移动设备不同于普通的个人电脑,它对计算机系统的性能和续航能力上有诸多不同的要求,故操作系统也演变出了一支适应移动设备的分支。
三、操作系统分类
历史上的各种操作系统,按照所管理的硬件,可大致分为以下几类:
- 大型机系统
- 服务器系统
- 多处理机系统
- 个人电脑系统
- 移动设备系统
- 嵌入式系统
- 传感器系统
- 实时系统
- 智能卡系统
四、操作系统的结构
- 一体式操作系统
一体式操作系统是最早出现的类型。由于早期软件开发理论不成熟,即使是操作系统这么大型的软件,也做的很像今天路边小公司额产品。 - 分层次操作系统
分层次操作系统在一体式操作系统之后出现。此种操作系统被分成了很多“层”,每层之间相互联系,相互配合着完成各种功能。此种操作系统的好处在于,分层之后,不同层之间的缺点不会传到别的层中,使得新的稳定性大大增强。 - 微内核操作系统
这是继分层次的操作系统之后的有一大类型。此种操作系统的内核包含了最重要的内容,例如进程管理、内存管理和特权指令等最核心的内容。而不太重要的内容,例如GUI则被放置到内核之外。此种操作系统由于内核是经过多年开发调试的,故其性能充足,表现稳定,而使得系统整体稳定性大有提高。而不在内核中的软件,则可以根据需要适当增减修改,能充分满足用户的需求。 - 客户端-服务器模式的操作系统
客户端服务器模式是另外一种十分重要的操作系统类型。此模式的操作系统以内核为服务器,以用户和程序为客户端。以服务器来满足客户端的请求。 - 一类和二类虚拟机(Hypervisor)
通常,我们认为虚拟机不属于操作系统。然而,在一个虚拟化系统中,虚拟机起着与操作系统相类似的作用:管理系统资源,满足用户操作系统的请求。
实际上,没有任何一种现代操作系统会只采用一种模式。所有的现代操作系统其实都是由不同的模式复合而成的。