加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

Linux内核 vs Windows内核

发布时间:2021-04-07 12:51:26 所属栏目:外闻 来源:互联网
导读:核有哪些能力呢? 现代操作系统,内核一般会提供 4 个基本能力: 管理进程、线程,决定哪个进程、线程使用 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

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读