五分钟了解操作系统内核_cpongo8的博客-程序员秘密

技术标签: 运维  操作系统  内存管理  

操作系统和内核

关于操作系统是这样定义的: 操作系统(英语:Operating System,缩写:OS)是管理计算机硬件与软件资源的系统软件,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。
对我们来说,操作系统最直观的感受就是桌面系统,以及上层的应用程序,而后面的资源处理等等就是操作系统背后的黑盒

读者朋友们现在阅读我的这篇文章,是在浏览器,或者某个应用程序上进行的。而一个应用程序是要运行在特定的操作系统上的。操作系统,则是要运行在硬件上的。所以这三者关系如图。

再来看看内核的定义: “内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。直接对硬件操作是非常复杂的,所以内核通常提供一种硬件抽象的方法来完成这些操作。硬件抽象隐藏了复杂性,为应用软件和硬件提供了一套简洁,统一的接口,使程序设计更为简单。

简单来说,内核是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件和网络系统等等,决定着系统的性能和稳定性。是连接应用程序和硬件的桥梁。
内核就是操作系统背后黑盒的核心

这时候我们回过头来看看操作系统和内核的定义,是不是有些明白了呢。

内核的分类

既然我们知道了内核是什么,接着来看看内核的分类,现在内核的主要分类有四类:
宏内核(单内核),微内核,混合内核,外内核。

什么是宏内核

我们上面说到,内核管理着操作系统的内存,文件,IO,网络等等,每个功能可以看做一个模块,在宏内核中,这些模块都是集成在一起的,运行在内核进程中,模块之间的交互直接通过方法调用。

什么是微内核

而在微内核中,内核只提供最核心的功能,比如任务调度,内存管理等等,其他模块被移出内核,运行在不同的进程中,这样即使某一个模块出现问题,只要重启这个模块的进程即可,不会影响到其他模块,稳定性大大增加。甚至可以在系统运行过程中替换现有模块的实现。而且由于模块独立的性质,可以做到模块的按需加载。但是模块间的相互调用需要通过进程间通信,通信效率相对较低。

什么是混合内核

我们上面看了宏内核和微内核的实现,就会发现,两者各有千秋,也各有缺点,所以混合内核就是集中了两者的特点,让微内核中的一些核心模块运行在内核中,从而使内核效率更高一些。

什么是外内核

外内核是把硬件暴露给应用程序,应用程序可以直接访问硬件,外内核对系统提供保护。目前还在研究阶段。

宏内核 微内核对比

看了上述宏内核和微内核的实现,我们可以总结一下:宏内核最大的特点就是模块集成在一起,而微内核是模块间分离。基于此点出发,对比如下:

宏内核 微内核
通信效率 高(函数调用) 低(进程间通信)
稳定性 低(模块集成在一起) 高(模块间互不影响)
扩展性 低(模块集成在一起) 高(模块间互不影响)
代码量 多(需要实现所有模块) 少(只需要实现核心功能)

当前主流操作系统内核

宏内核
Linux
Windows 9X 系列
MacOS 8.6 版本之前

微内核
Fuchsia
鸿蒙
Minix

混合内核
Windows XP
Windows 7
Mac OS X
XNU

外内核 Nemesis

参考资料

zh.wikipedia.org/wiki/操作系统
www.cnblogs.com/smwikipedia…
zh.wikipedia.org/wiki/内核
www.oschina.net/news/108946…

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/cpongo8/article/details/100680108

智能推荐

Java多态例子_java中多态的例子_终南。的博客-程序员秘密

1.多态概述 1.1多态是继封装、继承之后,面向对象的三大特性。2.多态体现为父类引用变量可以指向子类对象。3.前提条件:必须有子类父类关系。4.多态的定义与使用格式 定义格式:父类类型 变量名=new 子类类型();5.理解: 5.1多态是同一个行为具有多个不同表现形式或形态的能力。 5.2多态就是同一个接口,使用不同的实例而执行不同操作。7.以七个葫芦娃为例:每个葫芦娃都有不同的战斗方式,需要一个来调用。(1)...

安卓O内核的加固_weixin_34279184的博客-程序员秘密

安卓用户空间的加固使得越来越多攻击者开始研究linux内核,这使得去年发现的安卓安全的漏洞,1/3都在内核上。在安卓8.0(Oreo)中,程序员们做出了巨大的努力来加固内核,以减少安全漏洞。Android Nougat通过把内核和用户进程隔离开来,使用SELinux ioctl进行过滤,并请求seccomp-bpf的支持(能够在处理不...

teamtalk部署启动顺序_John_2h的博客-程序员秘密

*teamtalk启动顺序 mysql systemctl restart mariadb运行nginx cd /usr/local/nginx/sbin ./nginxphp启动 /usr/local/php5/sbin ./php-fpm &redis 启动 /usr/local/bin/redis-server /usr/local/etc/redi...

【规范】前端编码规范——一般规范_weixin_30765319的博客-程序员秘密

【规范】前端编码规范——一般规范文件/资源命名在 web 项目中,中划线(-)是用来分隔文件名的不二之选。同时它也是常见的 url 分隔符(比如:本文的 url)。所以理所当然的,中划线应该也是用来分隔资源名称的好选择。尽量保证文件命名总是以字母开头而不是数字。而以特殊字符开头命名的文件,一般都有特殊的含义与用处。文件的字母名称必须全为小写,这是...

vbs自动监控程序,关闭之后自动重启_windows程序意外关闭自动重启 vbs_起名困难户的博客-程序员秘密

vbs文件do while true '死循环on error resume nextset ws = createobject("wscript.shell")QQprocess="TIM.exe"check = isProcessExists(QQprocess)if (check <> true ) thenwscript.sleep 10000w...

随便推点

树莓派4b-centos操作系统安装包_水上冰石的博客-程序员秘密

针对树莓派4b操作系统,需要安装不同于2,3系列的安装包。centos操作系统也一样,需要使用和3b,3b+不同的安装包。附件分享一个操作系统可用的4b的操作系统下载地址:一.链接:https://pan.baidu.com/s/1zeTyMqfjykX9AVbvKz60oQ提取码:gh8g二.sd卡格式化,需要使用SDCardFormatterv5_WinEN;三...

机器学习之数据处理 学习笔记_人工智能里drop的用法_DropJing的博客-程序员秘密

1.什么样的数据需要删除很多条数据,删除这个无所谓这一列的数据缺失的太多导致,没有办法使用比如邮编等不可填充2.pandas常用的数据删除处理的方法删除//删除行df.dropna(axis=0)//删除列df.dropna(axis=1)简单填充//用前面的填充df.fillna(method='pad')//用用后边的填充df.fillna(method='b...

深入理解Android系统多用户_安卓多用户数据连接_ulangch的博客-程序员秘密

一、引言这篇文章以Android v28的源码为参考,介绍Android多用户的特性、使用方式和系统原理。二、初识Android多用户2.1 Android多用户简介从Android 4.0开始,Google就开始在Android上布局多用户,UserManager因此而诞生,然而此时还没有对应的Binder服务。真正支持多用户是从Android 4.2 开始,即便如此,系统中也依然存...

就日常生活谈谈计算机科学的应用,浅谈计算机科学与技术专业的认识两篇.doc..._尔德童的博客-程序员秘密

浅谈计算机科学与技术专业的认识两篇计算机科学与技术的发展日新月异,现如今计算机科学与技术已经成为人类生活必不可少的一部分,它的问世毫无疑问地改变和发展了人们生活,推动了现代文明的进步。目前各国在计算机科学技术发展方面逐渐加大了投资力度,计算机已经成为综合国力竞争的重要组成部分。本文笔者将对计算机科学与技术进行简要的分析,谈谈自己对计算机科学与技术的认识。计算机科学与技术从诞生到现在,经历了无数次的...

虚拟机紧急修复Centos系统方法大全_虚拟机centos内核修复_年轻的古尔丹的博客-程序员秘密

虚拟机紧急修复Centos系统由于操作不当,卸载了系统重要软件导致无法启动虚拟机,虚拟机报错:CPU 已被客户机操作系统禁用。你将必须关闭电源或重置该虚拟机。百度各种方法都无用,这里说明,我出问题的是centos6,centos7正常启动。困扰了半天无果后仔细回忆之前的操作,发现删除了一个selinux的依赖,到底是不是这个问题,先进入救援模式,死马当活马医吧。1网上“CPU 已被客户机操作系...

推荐文章

热门文章

相关标签