操作系统内核框架图整理
Android框架:
IOS框架(简):
web_os框架:
windows NT框架:
Minix3框架:
linux框架(简):
Solaris框架:
GNU_Linux_FOSS:
linux框架(完整):
不管阅读哪一个系统的源码,最为关键的便是要对其大体的框架形成一个宏观的认识,才能更好的阅读其源码。
下面为从百度百科摘录的关于单内核与微内核的简介:
单内核
简介:
单内核(Monolithic kernel)是个很大的进程。它的内部又能够被分为若干模块(或是层次或其他)。但是在运行的时候,他是个单独的二进制大映象。其模块间的通讯是通过直接调用其他模块中的函数实现的,而不是消息传递。在运行效率上,单内核会具有一定的好处。
单内核结构在硬件之上定义了一个高阶的抽象界面,应用一组原语(或者叫系统调用)来实现操作系统的功能,例如进程管理,文件系统,和存储管理等等,这些功能由多个运行在核心态的模块来完成。
特性:
单内核结构是非常有吸引力的一种设计,由于在同一个地址空间上实现所有低级操作的系统控制代码的复杂性的效率会比在不同地址空间上实现更高些。单核结构正趋向于容易被正确设计,所以它的发展会比微内核结构更迅速些。
尽管每一个模块都是单独地服务这些操作,内核代码是高度集成的,而且难以编写正确。因为所有的模块都在同一个内核空间上运行,一个很小的bug都会使整个系统崩溃。然而,如果开发顺利,单内核结构就可以从运行效率上得到好处。很多现代的单内核结构内核,如Linux和FreeBSD内核,能够在运行时将模块调入执行,这就可以使扩充内核的功能变得更简单,也可以使内核的核心部分变得更简洁。
微内核
简介:
微内核(英文中常译作µ-kernel或者micro kernel)。是一种能够微内核提供必要服务的操作系统内核;其中这些必要的服务包括任务,线程,交互进程通信(IPC,Inter-Process Communication)以及内存管理等等。所有服务(包括设备驱动)在用户模式下运行,而处理这些服务同处理其他的任何一个程序一样。因为每个服务只是在自己的地址空间运行。所以这些服务之间彼此之间都受到了保护。
优势:
能够使得不同的API,文件系统,甚至不同的操作系统的特性在一个系统中共存。系统非常灵活。当运行一个应用程序时,只需把选定的系统服务加载到系统中即可。而修改了服务以后可以通过联机进行测试;并不需要重新构建或者启动一个新的内核,他们并不影响系统的运行。
系统服务或者设备驱动故障和与它们有关的运行任务是隔绝的。依存关系的服务器系统可以加以限制,使为安全重要至关信赖的计算基数的应用可被削减。这种由微内核所决定的结构(IPC,多线程)能够应用在所有的应用程序和服务上。一个精炼的微内核接口能够有演绎成更多模块的系统结构。
结构:
微内核是内核的一种精简形式。将通常与内核集成在一起的系统服务层被分离出来,变成可以根据需求加入的选微内核件,这样就可提供更好的可扩展性和更加有效的应用环境。使用微内核设计,对系统进行升级,只要用新模块替换旧模块,不需要改变整个操作系统。
可以用商业对比来解释微内核的模块概念。考虑一个过度忙碌的商务经理。通过将工作分给其他人,这位经理可以将他的能力更有效地用于重要的商务工作中去,并集中于其他一些任务,例如开辟新的商务分支等。可以雇佣一些新人来支持增长的商务活动。经理协调这些工作,但由其他的人做好雇佣他们时说好要做的事。与此类似,微内核操作系统支持执行少量核心任务,并管理可安装模块的活动。用这种方式,微内核对于它能做的工作是非常有效的,并是可移植的,这是指它可以被设计成在不同的处理器上运行。
基于微内核的操作系统具有如下特征:
微内核提供一组“最基本”的服务,如进程调度、进程间通信、存储管理、处理I/O设备。其他服务,如文件管理、网络支持等通过接口连到微内核。与此相反,内核是集成的,比微内核更大。微内核具有很好的扩展性,并可简化应用程序开发。用户只运行他们需要的服务,这有利于减少磁盘空间和存储器需求。厂商可以很容易地将微内核移植到其他处理器平台,并在上面增加适合其他平台需要的模块化部件。(这指文件服务器、工程应用等等)。
微内核和硬件部件有接口,并向可安装模块提供一个接口。在微内核中,进程通过传递消息或运行“线程”来发生相互作用。线程为将一个任务分解为多个子任务提供了途径,在多处理器环境下,线程可以在不同的处理器上独立运行。
象Mach和Nucleus这样的微内核操作系统,使用户可以自己选择操作系统的接口和特性。它们十分适合可以选择多处理器和多操作系统的变化的计算机市场,开发商也可从中受益。它们能够很快地从一个系统向另一个系统移植他们的产品,使最终用户可以得到许多应用产品。这种模块化的设计也保证了可以得到大量的可选服务。
操作系统内核框架图整理相关推荐
- 操作系统:操作系统内核是什么?
文章目录 前言 一.内核是什么? 二.内核分类 1.宏内核 2.微内核 3.混合内核 4.外内核 前言 这篇记录笔者对操作系统内核学习和整理的感悟 一.内核是什么? 要想弄懂操作系统内核是什么,先来看 ...
- 国际市场营销知识框架图_货币银行学知识怎么学?知识点很杂乱?已经为你整理好了!...
金融硕士考生们,货币银行学复习有困难?货币银行学如何复习?货币银行学知识很杂乱?别担心,金程小编已经为大家整理好了!金融硕士考生们码住! 一.导读 站在考研的角度,货币银行学相对投资学.国际金融来说, ...
- java的annotation_Java Annotation认知(包括框架图、详细介绍、示例说明)
摘要 Java Annotation是JDK5.0引入的一种注释机制. 网上很多关于Java Annotation的文章,看得人眼花缭乱.Java Annotation本来很简单的,结果说的人没说清楚 ...
- Java Annotation认知(包括框架图、详细介绍、示例说明)
摘要 Java Annotation是JDK5.0引入的一种注释机制. 网上很多关于Java Annotation的文章,看得人眼花缭乱.Java Annotation本来很简单的,结果说的人没说清楚 ...
- 嵌入式操作系统内核原理和开发
嵌入式操作系统内核原理和开发(开篇) 操作系统是很多人每天必须打交道的东西,因为在你打开电脑的一刹那,随着bios自检结束,你的windows系统已经开始运行了.如果问大家操作系统是什么?可能有的人会 ...
- Linux 迎来 29 岁:从个人爱好到统治世界的操作系统内核
喜欢就关注我们吧! 1991 年的 8 月 25 日,来自芬兰赫尔辛基大学的 Linus Torvalds 用 Minix 操作平台建立了一个新的操作系统内核,并把它发回 Minix Usenet 新 ...
- 为中国操作系统内核而写的教程 1
我希望中国有更多的内核人才,所以我写了这个教程.并且在网络上指导了50个左右的大学生学编程.这是大学生们在我的指导下学习以后的感受.效果是非常好的.顺便说一下,我是为国家培养人才,我从没收过别人任何钱 ...
- 微内核是什么?宏内核是什么?一文带你了解操作系统内核架构!
近年来,我国自主研发操作系统被反复提及.近期,一个计算机领域内非常专业的词来到了几乎所有人的视线内,这就是--微内核.人们对操作系统内核的讨论越来越热烈,甚至有人说我不懂什么叫微内核,什么是宏内核,接 ...
- ❤️导图整理数组4: 三数之和 相比于 两数之和 的难点, 力扣15❤️
此专栏文章是对力扣上算法题目各种方法的总结和归纳, 整理出最重要的思路和知识重点并以思维导图形式呈现, 当然也会加上我对导图的详解. 目的是为了更方便快捷的记忆和回忆算法重点(不用每次都重复看题解), ...
最新文章
- 在线可玩 | 给AI一张高清照片,分分钟还你细节满满的3D人体模型,GitHub标星3.6k...
- 设计模式——装饰者(Decorator)模式DEMO——游戏角色的装饰者模式实现
- 电气论文:基于粒子群算法的梯级水火电力系统优化调度【有代码】
- resteasy 统一异常_RESTEasy教程第3部分:异常处理
- scrapy 模拟登陆
- CustomValidator,客户端,服务器端验证
- git version可以卸载吗_sourcetree使用:问题是有推送提示,但显示为空。原因:git版本过低...
- 语法分析分析器的实现
- 虚拟机安装CentOS6.5分配内存一般20G,之后如何扩展内存,扩充磁盘!
- MySQL中grant之后要跟着flush privileges吗?
- 重装系统笔记本电脑黑屏怎么办
- Lyft公开“业内最大”数据集, 自动驾驶战场加速安卓化?
- mysql求中位值函数_SQLServer下取中位数(中位值)的方法
- java如何获取手机号码归属地_在java中如何根据手机号查询号码归属地
- 解读Datasheet系列:W25Q80DV(华邦 SPI Flash)
- java List 线程安全
- 新浪短信WEBSERVICE--本文转载
- 3月27日即时★分析
- 陆金所-稳盈-安e+ 新标-QQ自动通知
- Bean依赖注入的3种数据类型