操作系统内核结构
时间:2023-02-19 18:54:01 | 来源:营销百科
时间:2023-02-19 18:54:01 来源:营销百科
操作系统内核结构:Apple I电脑,苹果电脑的第一代产品。延续80年代的竞争,1990年代出现了许多影响未来个人电脑市场深厚的操作系统。由于图形化使用者界面日趋繁复,操作系统的能力也越来越复杂与巨大,因此强韧且具有弹性的操作系统就成了迫切的需求。此年代是许多套装类的个人电脑操作系统互相竞争的时代。
上一年代于市场崛起的苹果电脑,由于旧系统的设计不良,使得其后继发展不力,苹果电脑决定重新设计操作系统。经过许多失败的项目后,苹果于1997年释出新操作系统——MacOS的测试版,而后推出的正式版取得了巨大的成功。让原先失意离开苹果的Steve Jobs风光再现。
除了商业主流的操作系统外,从1980年代起在开放原码的世界中,BSD系统也发展了非常久的一段时间,但在1990年代由于与ATT的法律争端,使得远在芬兰赫尔辛基大学的另一股开源操作系统——Linux兴起。Linux内核是一个标准POSIX内核,其血缘可算是Unix家族的一支。Linux与BSD家族都搭配GNU计划所发展的应用程序,但是由于使用的许可证以及历史因素的作弄下,Linux取得了相当可观的开源操作系统市占率,而BSD则小得多。
相较于MS-DOS的架构,Linux除了拥有傲人的可移植性(相较于Linux,MS-DOS只能运行在Intel CPU上),它也是一个分时多进程内核,以及良好的内存空间管理(普通的进程不能存取内核区域的内存)。想要存取任何非自己的内存空间的进程只能通过系统调用来达成。一般进程是处于使用者模式(User mode)底下,而执行系统调用时会被切换成内核模式(Kernel mode),所有的特殊指令只能在内核模式执行,此措施让内核可以完美管理系统内部与外部设备,并且拒绝无权限的进程提出的请求。因此理论上任何应用程序执行时的错误,都不可能让系统崩溃(Crash)。
另一方面,微软对于更强力的操作系统呼声的回应便是Windows NT于1993年的面世。
1983年开始微软就想要为MS-DOS建构一个图形化的操作系统应用程序,称为Windows(有人说这是比尔·盖茨被苹果的Lisa电脑上市所刺激)。
一开始Windows并不是一个操作系统,只是一个应用程序,其背景还是纯MS-DOS系统,这是因为当时的BIOS设计以及MS-DOS的架构不甚良好之故。
在1990年代初,微软与IBM的合作破裂,微软从OS/2(早期为命令行模式,后来成为一个很成功但是曲高和寡的图形化操作系统)项目中抽身,并且在1993年7月27日推出Windows NT 3.1,一个以OS/2为基础的图形化操作系统。
并在1995年8月15日推出Windows 95。
直到这时,Windows系统依然是建立在MS-DOS的基础上,因此消费者莫不期待微软在2000年所推出的Windows 2000上,因为它才算是第一个脱离MS-DOS基础的图形化操作系统。
Windows NT系统的架构为:在硬件阶层之上,有一个由微内核直接接触的硬件抽象层(HAL),而不同的驱动程序以模块的形式挂载在内核上执行。因此微内核可以使用诸如输入输出、文件系统、网络、信息安全机制与虚拟内存等功能。而系统服务层提供所有统一规格的函数调用库,可以统一所有副系统的实作方法。例如尽管POSIX与OS/2对于同一件服务的名称与调用方法差异甚大,它们一样可以无碍地实作于系统服务层上。在系统服务层之上的副系统,全都是使用者模式,因此可以避免使用者程序执行非法行动。
DOS副系统将每个DOS程序当成一进程执行,并以个别独立的MS-DOS虚拟机器承载其运行环境。另外一个是Windows 3.1 NT 模拟系统,实际上是在Win32副系统下执行Win16程序。因此达到了安全掌控为MS-DOS与早期Windows系统所撰写之旧版程序的能力。然而此架构只在Intel 80386处理器及后继机型上实作。且某些会直接读取硬件的程序,例如大部分的Win16游戏,就无法套用这套系统,因此很多早期游戏便无法在Windows NT上执行。
Windows NT有3.1.3.5.3.51与4.0版。
Windows 2000是Windows NT的改进系列(事实上是Windows NT 5.0)、Windows XP(Windows NT 5.1)以及Windows Server 2003(Windows NT 5.2)、Windows Vista(Windows NT 6.0)、Windows 7(Windows NT 6.1)也都是立基于Windows NT的架构上。
而本年代渐渐增长并越趋复杂的嵌入式设备市场也促使嵌入式操作系统的成长。
现代操作系统通常都有一个使用的绘图设备的图形化使用者界面,并附加如鼠标或触控面版等有别于键盘的输入设备。旧的OS或效能导向的服务器通常不会有如此亲切的接口,而是以命令行接口(CLI)加上键盘为输入设备。以上两种接口其实都是所谓的壳,其功能为接受并处理使用者的指令(例如按下一按钮,或在命令提示列上键入指令)。
选择要安装的操作系统通常与其硬件架构有很大关系,只有Linux与BSD几乎可在所有硬件架构上执行,而Windows NT仅移植到了DEC Alpha与MIPS Magnum。
在1990年代早期,个人电脑的选择就已被局限在Windows家族、类Unix家族以及Linux上,而以Linux及Mac OS X为最主要的另类选择,直至今日。
大型机与嵌入式系统使用很多样化的操作系统。大型主机有许多开始支持Java及Linux以便共享其他平台的资源。嵌入式系统百家争鸣,从给Sensor Networks用的Berkeley Tiny OS到可以操作Microsoft Office的Windows CE都有。