网易首页 > 网易号 > 正文 申请入驻

Linux 内核和 Windows 内核有什么区别?

0
分享至

原文链接:https://www.cnblogs.com/xiaolincoding/p/14419269.html
作者:小林coding

  Windows 和 Linux 可以说是我们比较常见的两款操作系统的。

  Windows 基本占领了电脑时代的市场,商业上取得了很大成就,但是它并不开源,所以要想接触源码得加入 Windows 的开发团队中。

  对于服务器使用的操作系统基本上都是 Linux,而且内核源码也是开源的,任何人都可以下载,并增加自己的改动或功能,Linux 最大的魅力在于,全世界有非常多的技术大佬为它贡献代码。

  这两个操作系统各有千秋,不分伯仲。

  操作系统最核心的东西就是内核,这次我们就来看看,Linux 内核和 Windows 内核有什么区别?

  内核

  什么是内核呢?

  计算机是由各种外部硬件设备组成的,比如内存、cpu、硬盘等,如果每个应用都要和这些硬件设备对接通信协议,那这样太累了,所以这个中间人就由内核来负责,让内核作为应用连接硬件设备的桥梁,应用程序只需关心与内核交互,不用关心硬件的细节。

  内核

  内核有哪些能力呢?

  现代操作系统,内核一般会提供 4 个基本能力:

  • 管理进程、线程,决定哪个进程、线程使用 CPU,也就是进程调度的能力;
  • 管理内存,决定内存的分配和回收,也就是内存管理的能力;
  • 管理硬件设备,为进程与硬件设备之间提供通信能力,也就是硬件通信能力;
  • 提供系统调用,如果应用程序要运行更高权限运行的服务,那么就需要有系统调用,它是用户程序与操作系统之间的接口。

  内核是怎么工作的?

  内核具有很高的权限,可以控制 cpu、内存、硬盘等硬件,而应用程序具有的权限很小,因此大多数操作系统,把内存分成了两个区域:

  • 内核空间,这个内存空间只有内核程序可以访问;
  • 用户空间,这个内存空间专门给应用程序使用;

  用户空间的代码只能访问一个局部的内存空间,而内核空间的代码可以访问所有内存空间。因此,当程序使用用户空间时,我们常说该程序在用户态执行,而当程序使用内核空间时,程序则在内核态执行。

  应用程序如果需要进入内核空间,就需要通过系统调用,下面来看看系统调用的过程:

  内核程序执行在内核态,用户程序执行在用户态。当应用程序使用系统调用时,会产生一个中断。发生中断后, CPU 会中断当前在执行的用户程序,转而跳转到中断处理程序,也就是开始执行内核程序。内核处理完后,主动触发中断,把 CPU 执行权限交回给用户程序,回到用户状态继续工作。

  Linux 的设计

  Linux 的开山始祖是来自一位名叫 Linus Torvalds 的芬兰小伙子,他在 1991 年用 C 语言写出了第一版的 Linux 操作系统,那年他 22 岁。

  完成第一版 Linux 后,Linux Torvalds 就在网络上发布了 Linux 内核的源代码,每个人都可以免费下载和使用。

  Linux 内核设计的理念主要有这几个点:

  • MutiTask,多任务
  • SMP,对称多处理
  • ELF,可执行文件链接格式
  • Monolithic Kernel,宏内核
MutiTask

  MutiTask 的意思是多任务,代表着 Linux 是一个多任务的操作系统。

  多任务意味着可以有多个任务同时执行,这里的「同时」可以是并发或并行:

  • 对于单核 CPU 时,可以让每个任务执行一小段时间,时间到就切换另外一个任务,从宏观角度看,一段时间内执行了多个任务,这被称为并发。
  • 对于多核 CPU 时,多个任务可以同时被不同核心的 CPU 同时执行,这被称为并行。
SMP

  SMP 的意思是对称多处理,代表着每个 CPU 的地位是相等的,对资源的使用权限也是相同的,多个 CPU 共享同一个内存,每个 CPU 都可以访问完整的内存和硬件资源。

  这个特点决定了 Linux 操作系统不会有某个 CPU 单独服务应用程序或内核程序,而是每个程序都可以被分配到任意一个 CPU 上被执行。

  ELF

  ELF 的意思是可执行文件链接格式,它是 Linux 操作系统中可执行文件的存储格式,你可以从下图看到它的结构:

  ELF 文件格式

  ELF 把文件分成了一个个分段,每一个段都有自己的作用,具体每个段的作用这里我就不详细说明了,感兴趣的同学可以去看《程序员的自我修养——链接、装载和库》这本书。

  另外,ELF 文件有两种索引,Program header table 中记录了「运行时」所需的段,而 Section header table 记录了二进制文件中各个「段的首地址」。

  那 ELF 文件怎么生成的呢?

  我们编写的代码,首先通过「编译器」编译成汇编代码,接着通过「汇编器」变成目标代码,也就是目标文件,最后通过「链接器」把多个目标文件以及调用的各种函数库链接起来,形成一个可执行文件,也就是 ELF 文件。

  那 ELF 文件是怎么被执行的呢?

  执行 ELF 文件的时候,会通过「装载器」把 ELF 文件装载到内存里,CPU 读取内存中的指令和数据,于是程序就被执行起来了。

  Monolithic Kernel

  Monolithic Kernel 的意思是宏内核,Linux 内核架构就是宏内核,意味着 Linux 的内核是一个完整的可执行程序,且拥有最高的权限。

  宏内核的特征是系统内核的所有模块,比如进程调度、内存管理、文件系统、设备驱动等,都运行在内核态。

  不过,Linux 也实现了动态加载内核模块的功能,例如大部分设备驱动是以可加载模块的形式存在的,与内核其他模块解耦,让驱动开发和驱动加载更为方便、灵活。

  分别为宏内核、微内核、混合内核的操作系统结构

  与宏内核相反的是微内核,微内核架构的内核只保留最基本的能力,比如进程调度、虚拟机内存、中断等,把一些应用放到了用户空间,比如驱动程序、文件系统等。这样服务与服务之间是隔离的,单个服务出现故障或者完全攻击,也不会导致整个操作系统挂掉,提高了操作系统的稳定性和可靠性。

  微内核内核功能少,可移植性高,相比宏内核有一点不好的地方在于,由于驱动程序不在内核中,而且驱动程序一般会频繁调用底层能力的,于是驱动和硬件设备交互就需要频繁切换到内核态,这样会带来性能损耗。华为的鸿蒙操作系统的内核架构就是微内核。

  还有一种内核叫混合类型内核,它的架构有点像微内核,内核里面会有一个最小版本的内核,然后其他模块会在这个基础上搭建,然后实现的时候会跟宏内核类似,也就是把整个内核做成一个完整的程序,大部分服务都在内核中,这就像是宏内核的方式包裹着一个微内核。

  Windows 设计

  当今 Windows 7、Windows 10 使用的内核叫 Windows NT,NT 全称叫 New Technology。

  下图是 Windows NT 的结构图片:

  Windows NT 的结构

  Windows 和 Linux 一样,同样支持 MutiTask 和 SMP,但不同的是,Window 的内核设计是混合型内核,在上图你可以看到内核中有一个 MicroKernel 模块,这个就是最小版本的内核,而整个内核实现是一个完整的程序,含有非常多模块。

  Windows 的可执行文件的格式与 Linux 也不同,所以这两个系统的可执行文件是不可以在对方上运行的。

  Windows 的可执行文件格式叫 PE,称为可移植执行文件,扩展名通常是.exe、.dll、.sys等。

  PE 的结构你可以从下图中看到,它与 ELF 结构有一点相似。

  PE 文件结构

  总结

  对于内核的架构一般有这三种类型:

  • 宏内核,包含多个模块,整个内核像一个完整的程序;
  • 微内核,有一个最小版本的内核,一些模块和服务则由用户态管理;
  • 混合内核,是宏内核和微内核的结合体,内核中抽象出了微内核的概念,也就是内核中会有一个小型的内核,其他模块就在这个基础上搭建,整个内核是个完整的程序;

  Linux 的内核设计是采用了宏内核,Window 的内核设计则是采用了混合内核。

  这两个操作系统的可执行文件格式也不一样, Linux 可执行文件格式叫作 ELF,Windows 可执行文件格式叫作 PE。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
简直是笑话!宁愿买2.5%利息的国债,也不买股息率6%的农业银行

简直是笑话!宁愿买2.5%利息的国债,也不买股息率6%的农业银行

资本百科
2024-04-25 22:59:03
哪些化妆品虽然贵,但是让你用了不后悔的?网友:一分价钱一分货

哪些化妆品虽然贵,但是让你用了不后悔的?网友:一分价钱一分货

白宸侃片
2024-04-25 16:05:19
令人唏嘘!遭遇网暴后,林更新沉默了!

令人唏嘘!遭遇网暴后,林更新沉默了!

汪亚萍爱音乐
2024-04-25 05:16:30
危险了!重庆燃气事件最严重的是百姓开始不相信政府部门了

危险了!重庆燃气事件最严重的是百姓开始不相信政府部门了

影视解说阿相
2024-04-26 01:04:07
华为Pura 70平息争议:已修复AI消除衣服Bug

华为Pura 70平息争议:已修复AI消除衣服Bug

PChome电脑之家
2024-04-25 10:24:54
常州楼市全军覆灭,常州天宁区房价从23000元降至17000元

常州楼市全军覆灭,常州天宁区房价从23000元降至17000元

有事问彭叔
2024-04-24 16:27:57
社保越来越贵,背后的原因找到了,未来只会更贵...

社保越来越贵,背后的原因找到了,未来只会更贵...

人在光谷
2024-04-25 22:27:05
美国考虑限制中国使用RISC-V

美国考虑限制中国使用RISC-V

EETOP半导体社区
2024-04-25 13:16:39
悬崖边上的哈马斯:是坐以待毙,还是断臂求生?

悬崖边上的哈马斯:是坐以待毙,还是断臂求生?

中国新闻周刊
2024-04-24 15:47:14
吴亦凡有没有后悔没有给都美竹索要的800万,如果最初给了800万是不是就不会发生后面的事?

吴亦凡有没有后悔没有给都美竹索要的800万,如果最初给了800万是不是就不会发生后面的事?

阿芒娱乐说
2024-04-24 07:55:26
韦德儿子扎伊尔赢生涯首冠!所在球队拿到亚洲巡回赛广东站冠军!

韦德儿子扎伊尔赢生涯首冠!所在球队拿到亚洲巡回赛广东站冠军!

直播吧
2024-04-26 13:48:14
35分大胜!广东淘汰广厦进4强 胡明轩23+单点爆破 内线悍将上担架

35分大胜!广东淘汰广厦进4强 胡明轩23+单点爆破 内线悍将上担架

环太平洋老正太
2024-04-25 22:03:47
用微信给别人转账以后,一定要记得多加一步,否则到时候打水漂了

用微信给别人转账以后,一定要记得多加一步,否则到时候打水漂了

花小萌和你聊情感
2024-04-25 22:25:44
重庆男子将妻子养肥,2年后妻子在甜蜜中死去,丈夫却笑了

重庆男子将妻子养肥,2年后妻子在甜蜜中死去,丈夫却笑了

莉雅细细谈
2024-03-05 21:57:53
退出“金砖”,阿根廷申请加入北约,并向中国索要362亿资金支持

退出“金砖”,阿根廷申请加入北约,并向中国索要362亿资金支持

谷火平
2024-04-22 16:37:34
黎婉华豪宅内景曝光,何超英和妹妹旧照公开,游泳池奢华富丽

黎婉华豪宅内景曝光,何超英和妹妹旧照公开,游泳池奢华富丽

素素娱乐
2024-04-26 08:41:07
小米米家夜灯 3 上架:光敏 + 人体双传感器,售 59 元

小米米家夜灯 3 上架:光敏 + 人体双传感器,售 59 元

IT之家
2024-04-26 11:07:45
今年建筑行业不好干了,我木工去年干一天活400,今年才给200元

今年建筑行业不好干了,我木工去年干一天活400,今年才给200元

建筑可乐
2024-04-26 10:10:03
曹云金反击成功:肉夹馍店老板曝真相,西安盛唐雷音口碑彻底崩盘

曹云金反击成功:肉夹馍店老板曝真相,西安盛唐雷音口碑彻底崩盘

影像温度
2024-04-26 11:53:34
江苏女子发现其学生酷似前夫,亲子鉴定后:是死了17年的儿子

江苏女子发现其学生酷似前夫,亲子鉴定后:是死了17年的儿子

潮河讲堂
2024-04-22 17:24:55
2024-04-26 14:12:49
国史寻踪
国史寻踪
探究历史奥秘
69文章数 2331关注度
往期回顾 全部

科技要闻

中国车企“五常”激战北京车展

头条要闻

男子帮被打女子报警被砍成重伤 打人者最高被判3年半

头条要闻

男子帮被打女子报警被砍成重伤 打人者最高被判3年半

体育要闻

库里当选最佳关键球员 10项数据联盟第一

娱乐要闻

金靖回应不官宣恋情结婚的原因

财经要闻

24年后再产纯净水 农夫山泉为何要打自己脸

汽车要闻

2024北京车展 比亚迪的自驱力让对手紧追猛赶

态度原创

手机
旅游
家居
数码
公开课

手机要闻

OPPO Reno12标准版部分参数曝光 轻薄设计+等深微曲屏

旅游要闻

白俄,中国人的快乐福地?

家居要闻

光影之间 空间暖意打造生活律动

数码要闻

英特尔计划明年中旬发布 Intel 18A 制程自家处理器产品

公开课

睡前进食会让你发胖吗?

无障碍浏览 进入关怀版