我是新手,请问什么是内核,干嘛用的?

我是新手,请问什么是内核,干嘛用的?,第1张

内核 *** 作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件 *** 作多长时间。直接对硬件 *** 作是非常复杂的,所以内核通常提供一种硬件抽象的方法来完成这些 *** 作。硬件抽象隐藏了复杂性,为应用软件和硬件提供了一套简洁,统一的接口,使程序设计更为简单。
严格地说,内核并不是计算机系统中必要的组成部分。程序可以直接地被调入计算机中执行,这样的设计说明了设计者不希望提供任何硬件抽象和 *** 作系统的支持,它常见于早期计算机系统的设计中。最终,一些辅助性程序,例如程序加载器和调试器,被设计到机器核心当中,或者固化在只读存储器里。这些变化发生时, *** 作系统内核的概念就渐渐明晰起来了。
一个更重要的问题是,什么人才要了解内核。或者说,对内核的了解程度,会怎样影响一个人的工作,毕竟,它是复杂的。
[编辑本段]内核分类
单内核 它为潜在的硬件提供了大量完善的硬件抽象 *** 作。
微内核 只提供了很小一部分的硬件抽象,大部分功能由一种特殊的用户态程序:服务器来完成。
混合内核 它很像微内核结构,只不过它的的组件更多的在核心态中运行,以获得更快的执行速度。
外内核 这种内核不提供任何硬件抽象 *** 作,但是允许为内核增加额外的运行库,通过这些运行库应用程序可以直接地或者接近直接地对硬件进行 *** 作。
单内核
单内核结构在硬件之上定义了一个高阶的抽象界面,应用一组原语(或者叫系统调用)来实现 *** 作系统的功能,例如进程管理,文件系统,和存储管理等等,这些功能由多个运行在核心态的模块来完成。
尽管每一个模块都是单独地服务这些 *** 作,内核代码是高度集成的,而且难以编写正确。因为所有的模块都在同一个内核空间上运行,一个很小的bug都会使整个系统崩溃。然而,如果开发顺利,单内核结构就可以从运行效率上得到好处。
很多现代的单内核结构内核,如Linux和FreeBSD内核,能够在运行时将模块调入执行,这就可以使扩充内核的功能变得更简单,也可以使内核的核心部分变得更简洁。
单内核结构的例子:
1传统的UNIX内核,例如伯克利大学发行的版本
2Linux内核
微内核
微内核结构由一个非常简单的硬件抽象层和一组比较关键的原语或系统调用组成,这些原语仅仅包括了建立一个系统必需的几个部分,如 线程管理,地址空间和进程间通信等。
微核的目标是将系统服务的实现和系统的基本 *** 作规则分离开来。例如,进程的输入/输出锁定服务可以由运行在微核之外的一个服务组件来提供。这些非常模块化的用户态服务器用于完成 *** 作系统中比较高级的 *** 作,这样的设计使内核中最核心的部分的设计更简单。一个服务组件的失效并不会导致整个系统的崩溃,内核需要做的,仅仅是重新启动这个组件,而不必影响其它的部分
微内核将许多OS服务放入分离的进程,如文件系统,设备驱动程序,而进程通过消息传递调用OS服务微内核结构必然是多线程的,第一代微内核,在核心提供了较多的服务,因此被称为'胖微内核',它的典型代表是MACH,它既是GNU HURD也是APPLE SERVER OS 的核心,可以说,蒸蒸日上第二代为微内核只提供最基本的OS服务,典型的OS是QNX,QNX在理论界很有名,被认为是一种先进的OS
微内核的例子:
1AIX
2BeOS
3L4微内核系列
4Mach, 用于GNU Hurd和Mac OS X
5Minix
6MorphOS
7QNX
8RadiOS
9VSTa
单内核与微内核的比较
单内核结构是非常有吸引力的一种设计,由于在同一个地址空间上实现所有低级 *** 作的系统控制代码的复杂性的效率会比在不同地址空间上实现更高些。
20世纪90年代初,单内核结构被认为是过时的。把Linux设计成为单内核结构而不是微内核引起了无数的争议。
现在,单核结构正趋向于容易被正确设计,所以它的发展会比微内核结构更迅速些。两个阵营中都有成功的案例。微核经常被用于机器人和医疗器械的嵌入式设计中,因为它的系统的关键部分都处在相互分开的,被保护的存储空间中。这对于单核设计来说是不可能的,就算它采用了运行时加载模块的方式。
尽管Mach是众所周知的多用途的微内核,人们还是开发了除此之外的几个微内核。L3是一个演示性的内核,只是为了证明微内核设计并不总是低运行速度。它的后续版本L4甚至可以将Linux内核在单独的地址空间作为它的一个进程来运行。
QNX是一个从20世纪80年代就开始设计的微内核系统。它比Mach更接近微内核的理念。它被用于一些特殊的领域,在这些情况下由于软件错误导致系统失效是不允许的。例如航天飞机上的机械手,还有研磨望远镜镜片的机器,一点点失误就会导致上千美元的损失。
很多人相信,由于Mach不能够解决一些提出微内核理论时针对的问题,所以微内核技术毫无用处。Mach的爱好者表明这是非常狭隘的观点,遗憾的是似乎所有人都开始接受这种观点。
混合内核
混合内核实质上是微内核,只不过它让一些微核结构运行在用户空间的代码运行在内核空间,这样让内核的运行效率更高些。这是一种妥协做法,设计者参考了微内核结构的系统运行速度不佳的理论。然而后来的实验证明,纯微内核的系统实际上也可以是高效率的。大多数现代 *** 作系统遵循这种设计范畴,微软视窗就是一个很好的例子。另外还有XNU,运行在苹果Mac OS X上的内核,也是一个混合内核。
混合内核的例子:
BeOS 内核
DragonFly BSD
ReactOS 内核
Windows NT、Windows 2000、Windows XP、Windows Server 2003以及Windows Vista等基于NT技术的 *** 作系统
XNU
一些人认为可以在运行时加载模块的单核系统和混合内核系统没有区别。这是不正确的。混合意味着它从单核和微核系统中都吸取了一定的设计模式,例如一些非关键的代码在用户空间运行,另一些在内核空间运行,单纯是为了效率的原因。
外内核
外内核系统,也被称为纵向结构 *** 作系统,使一种比较极端的设计方法。
它的设计理念是让用户程序的设计者来决定硬件接口的设计。外内核本身非常的小,它通常只负责系统保护和系统资源复用相关的服务。
传统的内核设计(包括单核和微核)都对硬件作了抽象,把硬件资源或设备驱动程序都隐藏在硬件抽象层下。比方说,在这些系统中,如果分配一段物理存储,应用程序并不知道它的实际位置。
而外核的目标就是让应用程序直接请求一块特定的物理空间,一块特定的磁盘块等等。系统本身只保证被请求的资源当前是空闲的,应用程序就允许直接存取它。既然外核系统只提供了比较低级的硬件 *** 作,而没有像其他系统一样提供高级的硬件抽象,那么就需要增加额外的运行库支持。这些运行库运行在外核之上,给用户程序提供了完整的功能。
理论上,这种设计可以让各种 *** 作系统运行在一个外核之上,如Windows和Unix。并且设计人员可以根据运行效率调整系统的各部分功能。
现在,外核设计还停留在研究阶段,没有任何一个商业系统采用了这种设计。几种概念上的 *** 作系统正在被开发,如剑桥大学的Nemesis,格拉斯哥大学的Citrix系统和瑞士计算机科学院的一套系统。麻省理工学院也在进行着这类研究。
[编辑本段]无核
TUNES Project和UnununiumOS都进行无内核的尝试 无内核的系统is not limited to a single centralizing entry point
[编辑本段]参考
*** 作系统
[编辑本段]内核发展中的改进
红旗5就是26内核了,期待中
转:期待已久的26内核终于到来了。IBMLinuxTechnologyCenter的PaulLarson暗中关注那些让26成为有史以来最好内核的工具、测试和技术——从修正控制和回归测试到缺陷追踪和列表保持。
经过为期三年的积极开发,新26Linux内核最近已经发布了,在这期间,Linux内核的开发和测试方法发生了一些有趣的变化。当前,开发内核的方法在很多方面与三年前没什么不同。不过,一些关键变化已经使整体的稳定性和质量得到了提高。
源代码管理
历史上,从来没有出现过用于Linux内核的正式的源代码管理或修正控制系统。实际上,很多开发者实现了他们自己的修正控制器,但是并没有官方的LinuxCVS档案库,让LinusTorvalds检查加入代码,并让其他人可以由此获得代码。修正控制器的缺乏,常常会使发行版本之间存在“代沟”,没有人真正知道加入了哪些改变,这些改变是否能很好地融合,或者在即将发行的版本中哪些新内容是值得期待的。通常,如果更多的开发者可以像了解他们自己所做的改变一样了解到那些变化,某些问题就可以得到避免。
由于缺乏正式的修正控制器和源代码管理工具,使得很多人提议使用一个名为BitKeeper的产品。BitKeeper是一个源代码控制管理系统,很多内核开发者已经成功地将其应用于他们自己的内核开发工作中。最初的25内核发布后不久,LinusTorvalds开始试用BitKeeper,以确定它是否能满足他的需要。现在,主要的24和25内核的Linux内核源代码都是用BitKeeper来管理的。对大部分可能很少或者根本不关心内核开发的用户来说,这一点看起来可能无关紧要。不过,在一些情况下,用户可以受益于那些由于使用BitKeeper而带来的开发Linux内核的方法的改变。
使用BitKeeper的最大好处之一是补丁的融合。当多个补丁应用于同一基础的代码之上,并且其中一些补丁会对同一部分产生影响时,就可能会出现融合问题。一个好的源代码管理系统可以自动地完成其中一些更为复杂的部分工作,这样可以更快地融合补丁,并使更多的补丁加入到内核中。随着Linux内核开发者社区的扩大,非常需要修正控制器来帮助保持对所有改变的追踪。由于每个人都可以将这些改变集成到主要的Linux内核中,为保证补丁不会被遗忘并可以方便地融合和管理,BitKeeper等工具是必不可少的。
非常有必要使用一个实时的、集中的档案库来保存对Linux内核的最新更新。每一个被内核接受的改变或者补丁都被作为一个改变集被追踪。终端用户和开发者可以保存他们自己的源文件档案库,并根据需要可以通过一个简单的命令用最新的改变集进行更新。对开发者来说,这意味着可以始终使用最新的代码拷贝。测试人员可以使用这些逻辑的改变集合来确定哪些变化导致了问题的产生,缩短调试所需要的时间。甚至那些希望使用最新内核的用户也可以直接利用实时的、集中的档案库,因为现在一旦他们所需要的部件或缺陷修复加入到内核中,他们就可以马上进行更新。当代码融合到内核时,任何用户都可以提供关于这些代码的即时反馈和缺陷报告。
并行开发
随着Linux内核的成长,变得更加复杂,而且吸引更多开发者将注意力集中到内核的特定方面的专门开发上来,出现了另一个开发Linux方法的有趣改变。在23内核版本的开发期间,除了由LinusTorvalds发行的主要的一个内核树之外,还有一些其他的内核树。
在25的开发期间,内核树出现了爆炸式的增长。由于使用源代码管理工具可以保持开发的同步并行进行,这样就可能实现开发的部分并行化。为了让其他人在他们所做的改变被接受之前可以进行测试,有一些开发需要并行化。那些保持自己的树的内核维护者致力于特定的组件和目标,比如内存管理、NUMA部件、改进扩展性和用于特定体系结构的代码,还有一些树收集并追踪对许多小缺陷的纠正。
图1Linux25开发树
这种并行开发模型的优点是,它使得需要进行重大改变的开发者,或者针对一个特定的目标进行大量类似改变的那些开发者可以自由地在一个受控环境中开发,而并不影响其他人所用内核的稳定性。当开发者完成工作后,他们可以发布针对Linux内核当前版本的补丁,以实现到此为止他们所完成的改变。这样,社区中的测试人员就可以方便地测试这些改变并提供反馈。当每一部分都被证明是稳定的之后,那些部分可以单独地,或者甚至同时全部地,融合到主要Linux内核中。
在实际应用中测试
过去,Linux内核测试方法围绕开放源代码开发模型进行。由于代码一经发布后就公开给其他开发者进行审查,因此从来没有出现过一个与其他形式的软件开发类似的正式的验证周期。这种方法背后的理论依据是“TheCathedralandtheBazaar”中所谓的“Linus法则”(请查阅参考资料以获得相关的参考),这一法则的内容为“众人的眼光是雪亮的”。换句话说,高力度的审查可以找出大部分真正的大问题。
然而实际上,内核有很多复杂的相互联系。即使进行了足够力度的审查,还是会漏过很多严重的缺陷。此外,最新的内核一经发布,终端用户可以(也经常是)下载并使用。240发布时,社区中很多人都提议进行更有组织的测试,以保证特定测试和代码审查的强度。有组织的测试包括运用测试计划、测试过程中的可重复性等等。使用所有的三种方法比最初只使用两种方法会带来更高的代码质量。
Linux测试项目
最早对Linux开始进行有组织测试的贡献者是Linux测试项目(LinuxTestProject,LTP)。这个项目的目的是通过更有组织的测试方法提高Linux的质量。这个测试项目的一部分是自动测试套件的开发。LTP开发的主要测试套件也叫做Linux测试项目。240内核发布时,LTP测试套件只有大约100个测试。随着24和25版本Linux的发展与成熟,LTP测试套件也正在发展和成熟。当前,Linux测试项目包括超过2000个测试,而且这个数字还在增长!
代码覆盖分析
现在所使用的新工具为内核提供了代码覆盖分析的功能。覆盖分析告诉我们,在一个给定的测试运行时,内核中哪些行代码被执行。更重要的是,覆盖分析提示了内核的哪些部分还根本没有被测试到。这个数据是重要的,因为它指出了需要再编写哪些新测试来测试内核的那些部分,以使内核可以得到更完备的测试。
持续多日的内核回归测试
在25的开发周期中,Linux测试项目所采用的另一个项目是,用LTP测试套件对Linux内核执行持续多日的回归测试。人们用BitKeeper创建了一个实时的、集中的档案库,以随时可以获得Linux内核的快照。在没有使用BitKeeper和快照时,测试人员不得不等到内核发布后才可以开始测试。现在,内核只要发生了改变,测试人员就可以进行测试。
使用自动化工具来执行持续多日的回归测试的另一个优点是,和上一次测试相比变化较小。如果发现了一个新的回归缺陷,通常会容易地检测出这个缺陷可能是哪个改变导致的。
同样,由于是最新的改变,因此它在开发者的脑海中印象还比较深——希望这能让他们更容易地记起并修订相应的代码。或许Linus法则应该有这样一个结论,有一些缺陷比其他缺陷更容易被发现,因为那些正是持续多日的内核回归测试所发现并处理的那些。在开发周期中和实际发布之前能够每天进行这些测试,这就使那些只关注完整发行版本的测试者可以将精力集中于更严重和耗时的缺陷。
可扩展测试平台
另外一个名为开放源代码开发实验室(OpenSourceDevelopmentLabs,OSDL)的团队也为Linux测试做出了重要的贡献。24内核发布后不久,OSDL创建了一个叫做可扩展测试平台(ScalableTestPlatform,STP)的系统。STP是一个自动化的测试平台,让开发者和测试者可以运行OSDL硬件之上的系统所提供的测试。开发者甚至可以使用这个系统来测试他们自己的针对内核的补丁。可扩展测试平台简化了测试的步骤,因为STP可以构建内核、设置测试、运行测试,并收集结果。然后得到结果以进行深入地比较。很多人无法接触大型系统,比如具有8个处理器的SMP机器,而通过STP,任何人都可以在像这样的大型系统上运行测试,这个系统(STP)的另一个好处就在于此。
追踪缺陷
自从24发布以来,对Linux内核的有组织测试最大的改进之一是缺陷追踪。过去,在Linux内核中发现的缺陷会报告给Linux内核邮件列表,报告给特定组件或者特定体系的邮件列表,或者直接报告给维护发现缺陷的那部分代码的个人。随着开发和测试Linux的人数的增加,这个系统的不足之处很快就暴露了出来。在以前,除非人们对缺陷的报告可以惊人地维持下去,缺陷经常被遗漏、遗忘或者忽略。
现在,OSDL安装了一个缺陷追踪系统(请参阅参考资料中的链接),来报告和追踪Linux内核的缺陷。系统经过了配置,这样当某个组件的缺陷被报告时,那个组件的维护者就会得到通知。维护者既可以接受并修复那个缺陷,或重新指定缺陷(如果最终确定实际上那是内核另外一部分的缺陷),也可以排除它(如果最终确定并不是真正的缺陷,比如错误配置的系统)。报告给邮件列表的缺陷还有丢失的危险,因为越来越多的电子邮件涌向那个列表。然而,在缺陷追踪系统中,始终有对每一个缺陷及其当前状态的记录。
大量信息
在为将来的26Linux内核进行开的过程中,除了这些自动化的信息管理方法之外,开放源代码社区的不同成员还收集和追踪了数量惊人的信息。
例如,在KernelNewbies站点上创建了一个状态列表,来保持对已经提出的内核新部件的追踪。这个列表包含了以状态排序的条目,如果它们已经完成了,则说明它们已经包含在哪个内核中,如果还没有完成,则指出还需要多长时间。列表上很多条目的链接指向大型项目的Web站点,或者当条目较小时,链接指向一个解释相应部件的电子邮件信息的拷贝。
内核版本历史
到现在我们很多人已经熟悉了Linux内核的版本编号系统,不过AndriesBrouwer提醒了我们实际上它是如何不规则的。
Linux的第一个公开版本是1991年10月的002版本。两个月以后,在1991年12月,Linus发布了011版本,这是第一个可以不依赖于Minix就可以使用的独立内核。
012版本发布一个月以后,在3月,版本号跳到了095,反映出系统正变得成熟。不仅如此,直到两年后,也就是1994年3月,具有里程碑意义的100才完成。
大约从这时起开始使用两“路”编号方法标注内核的开发。偶数号的内核(比如10、22、24,现在是26)是稳定的,“产品”型号。同时,奇数号的内核版本(11、23)是前沿的或者“发展中的”内核。直接最近,一个稳定的内核发布以后几个月就开始新内核的开发工作。然而,25的开发工作是在24完成后几ten个月以后才开始的。
那么我们什么时候可以期待27呢?这不好说,不过在KernelTrap已经有了一个讨论的头绪。
在那之前,您可以阅读RagibHasan的文章以深入了解Linux的历史。
同时,“post-halloween文档”告诉用户即将到来的26内核有哪些可期待的东西(参阅参考资料中的链接)。post-halloween文档的大部分讨论内容是用户需要注意的主要改变,以及需要更新的系统工具(为了利用它们)。关心这一信息人的主要是那些期望提前了解26内核中有哪些内容的Linux发行商,还有终端用户,这可以让他们确定为了能利用新部件是否有需要升级的程序。
KernelJanitors项目保持了(实际上现在还在保持)一个列表,内容是需要修复的较小缺陷和解决方法。这些缺陷解决方法中大部分是由于向内核打较大的补丁时需要改动很多部分代码而导致的,比如有些地方会影响设备驱动程序。那些新近从事内核开发的人开始时的工作可以选择列表中的条目,这样让他们可以通过小项目学习如何编写内核代码,同时有机会为社区做出贡献。
还有,在另一个预发布的项目中,JohnCherry追踪了在对每个已经发布的内核版本进行编译时发现的错误和警告。这些编译统计数字随着时间的流逝一直持续下降,而且,以系统的形式来发布这些结果使得所取得的进展一目了然。在很多情况下,可以像使用KernelJanitors列表一样来利用这些警告和错误消息中的一部分,因为编译错误通常是由小的缺陷引起的,需要一些努力去修复。
最后,还有AndrewMorton的“must-fix”列表。由于他已经被选定为26内核发布后的维护者,他运用他的特权概括地列出了那些他认为在最终的26内核发布前最迫切需要解决方案的问题。must-fix列表中包含了内核Bugzilla系统中的缺陷,需要完成的部件,以及其他已知的问题,这些问题如不解决将阻碍26发布。这一信息可以帮助指明在新内核发布前还需要哪些步骤;对那些关心这一万众期待的26内核发布何时能完成的人来说,它还可以提供有价值的信息。
自从去年年底26内核发布以后,这些资料中有一些已经明显不再进行维护了。其他的相关工作在主要版本发布后仍未结束,还要继续进行后期的更新。有趣的是能看到哪些又被重新提起,有了哪些革新,我们又一次接近了一个主要发布版本。
结束语
多数人在考虑内核的一个新的稳定版本时,第一个问题通常是“这一版本中有什么新东西吗?”实际上除了一些新特性和修复之外,在幕后还有一个随着时间而不断改进的过程。
在Linux社区中,开放源代码开发日益兴旺。致力于Linux内核和其他方面工作的编码者之间联系是松散的,这就使得团队可以成功地适应变化。在许多方面,相对于已经完成的很多单个的改进和缺陷修复而言,Linux的开发和测试方法——尤其是这些方法随时间的推移得到了改进——对新内核的可靠性影响更为深远。
[编辑本段]天文学意义上的内核
从天文学意义上讲,一颗行星(或一颗恒星)都有两个核:内核和外核,星体内核的温度可高达几千摄氏度。

在计算机系统上配置 *** 作系统的主要目标,首先与计算机系统的规模有关。通常对配置在大中型计算机系统中的OS,由于计算机价格昂贵,因此都比较看重机器使用的有效性,而且还希望OS具有非常强的功能;但对于配置在微机中的计算机 *** 作系统,由于微机价格相对比较便宜,此时机器使用的有效性也就显得不那么重要了,而人们更关注的是使用的方便性。
影响 *** 作系统的主要目标的另一个重要因素是 *** 作系统的应用环境。例如,对于应用在查询系统中的 *** 作系统,应满足用户对响应时间的要求;又如对应用在实时工业控制和武器控制环境下的OS,则要求其OS具有实时性和高度可靠性。 目前微机上常见的 *** 作系统有DOS、OS/2、UNIX、XENIX、LINUX、Windows、Netware等。但所有的 *** 作系统具有并发性、共享性、虚拟性和不确定性四个基本特征。
*** 作系统大致可分为6种类型。
① 简单 *** 作系统。它是计算机初期所配置的 *** 作系统,如IBM公司的磁盘 *** 作系统DOS/360和微型计算机的 *** 作系统CP/M等。这类 *** 作系统的功能主要是 *** 作命令的执行,文件服务,支持高级程序设计语言编译程序和控制外部设备等。
② 分时系统。它支持位于不同终端的多个用户同时使用一台计算机,彼此独立互不干扰,用户感到好像一台计算机全为他所用。
③ 实时 *** 作系统。它是为实时计算机系统配置的 *** 作系统。其主要特点是资源的分配和调度首先要考虑实时性然后才是效率。此外,实时 *** 作系统应有较强的容错能力。
④ 网络 *** 作系统。它是为计算机网络配置的 *** 作系统。在其支持下,网络中的各台计算机能互相通信和共享资源。其主要特点是与网络的硬件相结合来完成网络的通信任务。
⑤ 分布 *** 作系统。它是为分布计算系统配置的 *** 作系统。它在资源管理,通信控制和 *** 作系统的结构等方面都与其他 *** 作系统有较大的区别。由于分布计算机系统的资源分布于系统的不同计算机上, *** 作系统对用户的资源需求不能像一般的 *** 作系统那样等待有资源时直接分配的简单做法而是要在系统的各台计算机上搜索,找到所需资源后才可进行分配。对于有些资源,如具有多个副本的文件,还必须考虑一致性。所谓一致性是指若干个用户对同一个文件所同时读出的数据是一致的。为了保证一致性, *** 作系统须控制文件的读、写、 *** 作,使得多个用户可同时读一个文件,而任一时刻最多只能有一个用户在修改文件。分布 *** 作系统的通信功能类似于网络 *** 作系统。由于分布计算机系统不像网络分布得很广,同时分布 *** 作系统还要支持并行处理,因此它提供的通信机制和网络 *** 作系统提供的有所不同,它要求通信速度高。分布 *** 作系统的结构也不同于其他 *** 作系统,它分布于系统的各台计算机上,能并行地处理用户的各种需求,有较强的容错能力。
⑥ 智能 *** 作系统(见智能软件)。 早期 *** 作系统(专利保护)
TRS-DOS,ROM OS's
TI99-4
Commodore PET,64,和 VIC-20,
第一套IBM-PC
苹果电脑
Sinclair Micro和QnX等
非Unix商业 *** 作系统
CPM *** 作系统
MP/M-80
UCSD P-system
Mini-FLEX
SSB-DOS
CP/M-86
DR-DOS
FreeDOS
MS-DOS
PC-DOS
Mach 由卡纳尼基梅隆大学研究
L4微内核 第二代微内核
CHORUS
Choices
Multics
OS-9
NSJ
Netware:一种网络服务器 *** 作系统
Unix及类似系统
A/UX(Apple UNIX)
Unix
微软Xenix
ChorusOS
Cromix
UNIflex
OS-9
IBM的AIX
BSD
FreeBSD
NetBSD
OpenBSD
DragonFly BSD
PC-BSD
Digital UNIX,即之后康柏Tru64
DNIX
HP的HP-UX
GNU/Hurd
SGI的IRIX
Inferno
Linux(或称GNU/Linux)
Mac OS X
MenuetOS
Minix
OSF/1
Plan9
SCO的SCO UNIX
Sun的SunOS,即之后的Solaris
System V
Ultrix
UniCOS
麒麟 *** 作系统(Kylin),由国防科技大学、中软公司、联想公司、浪潮公司和民族恒星公司五家单位合作研制的服务器 *** 作系统
OS/390
z/OS
Syllable
其他
Acorn
Arthur
ARX
RISC OS
RISCiX
Amiga
AmigaOS
Atari ST
TOS
MultiTOS
MiNT
苹果电脑(Apple/Macintosh)
Apple DOS
ProDOS
Mac OS
Mac OS X
pink OS
BeOS
A/UX
Be
BeOS
BeIA
Digital/康柏(Compaq)
AIS
OS-8
RSTS/E
RSX-11
RT-11
TOPS-10
TOPS-20
VMS(后更名为OpenVMS)
IBM
OS/2
AIX
OS/400
OS/390
VM/CMS
DOS/VSE
VSE/SP
VSE/ESA
OS/360
MFT
MVT
SVS
MVS
TPF
ALCS
z/OS
PC-DOS
pink OS
微软(Microsoft)
MS-DOS
Xenix
Microsoft Bob
基于MS-DOS *** 作系统的Windows
Windows 10
Windows 20
Windows 31
windows 32
Windows 95
Windows 98
Windows ME
Windows NT
Windows NT 35
Windows NT 4
Windows 200
Windows XP
Windows XP SP1
Windows XP SP2
Windows XP SP3
Windows XP Media Center Edition
Windows XP Home Edition
Windows XP Tablet PC Edition
Windows XP Professional
Windows XP Professional x64 Edition
Windows Server 2003
Windows Server 2003 64-bit Edition
Windows Vista
Windows Vista SP1
Windows Vista Home Basic
Windows Vista Home Premium
Windows Vista Business
Windows Vista Ultimate
Windows Vista Enterprise
Windows Vista Starter
Novell
NetWare
Unixware
SUSE Linux
NeXT
NEXTSTEP(即之后的Mac OS X)
Plan 9
Inferno
Prime Computer
Primos
西门子
BS2000 - 用于西门子公司的大型主机。
SINIX(也称Reliant UNIX) - 用于西门子公司的UNIX电脑系统。
个人电子助理(PDA) *** 作系统
Palm OS
Pocket PC
EPOC
Microsoft Windows CE
Linux
智能手机 *** 作系统
Windows Mobile系列
Embedded Linux由Montavista创造,在Motorola's A760,E680等机型上使用
Mobilinux由Montavista创造
Symbian OS系列
其他 *** 作系统
动态可扩展 *** 作系统
MIT的Exo Kernel
华盛顿大学的 SPIN
哈佛大学的 VINO
illinois大学的Choices
ReactOS

l单设备的硬件冗余:冗余电源、冗余风扇、双主控、板卡支持热插拔;
物理链路捆绑:以太网链路聚合,基于IRF的跨设备以太网链路聚合;
二层冗余路径:STP、MSTP、SmartLink;
三层冗余路径:VRRP、ECMP、动态路由协议多路径;
故障检测:NQA、BFD、OAM、DLDP;
不间断转发:GR、热补丁升级;
L4-L7多路径:状态热备、非对称路径转发。

双机热备/服务器集群等
双机热备份方式,双机互备份方式,群集并发存取方式,双机热备/服务器集群等
基于SAN的数据库多实例高可用技术,基于共享存储的数据库高可用等


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13432353.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-05
下一篇 2023-08-05

发表评论

登录后才能评论

评论列表(0条)

保存