内核 订阅
内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。内核的分类可分为单内核和双内核以及微内核。严格地说,内核并不是计算机系统中必要的组成部分。 展开全文
内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。内核的分类可分为单内核和双内核以及微内核。严格地说,内核并不是计算机系统中必要的组成部分。
信息
外文名
kernel
发源时间
1991年10月
类    别
软件
种    类
单内核,双内核,微内核
中文名
内核
内核基本简介
内核,是一个操作系统的核心。是基于硬件的第一层软件扩充,提供操作系统的最基本的功能,是操作系统工作的基础,它负责管理系统的进程、内存、 设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。 [2]  现代操作系统设计中,为减少系统本身的开销,往往将一些与硬件紧密相关的(如中断处理程序、设备驱动程序等)、基本的、公共的、运行频率较高的模块(如时钟管理、进程调度等)以及关键性数据结构独立开来,使之常驻内存,并对他们进行保护。通常把这一部分称之为操作系统的内核。 [3]  程序可以直接地被调入计算机中执行,这样的设计说明了设计者不希望提供任何硬件抽象和操作系统的支持,它常见于早期计算机系统的设计中。最终,一些辅助性程序,例如程序加载器和调试器,被设计到机器核心当中,或者固化在只读存储器里。这些变化发生时,操作系统内核的概念就渐渐明晰起来了。 [4]  (概述图片来源:)
收起全文
精华内容
下载资源
问答
  • linux2.6.1内核源码注释

    万次下载 热门讨论 2014-03-10 15:21:33
    包含LINUX内核同步、信号、内存、调度、文件系统、网络系统、时钟等部分的源码注释。前后历时三年,算是干货。
  • 鉴于此,《Linux内核精髓:精通Linux内核必会的75个绝技》选取了资源管理(CPU、内存、进程等)、文件系统、网络、虚拟化、省电、调试、概要分析、追踪、内核调整等Linux内核的核心主题进行了深入剖析和讲解,总结出...
  • Linux2.6.24内核注释

    千次下载 热门讨论 2014-05-29 22:42:05
    这是半年来,在看ULA的过程中,针对Linux 2.6.24内核顺手做的一点注释。内容不多,个人觉得文件系统和USB这两个模块的注释还有一点意思。 所有注释都是中文,您可以与标准2.6.24内核进行比较,看看具体的注释内容。 ...
  • android 内核剖析 完整版

    千次下载 热门讨论 2013-06-18 13:36:55
    android 内核剖析 柯元旦
  • 提示:本文基于开源鸿蒙内核分析,官方源码【kernel_liteos_a】官方文档【docs】参考文档【Huawei LiteOS】 本文作者:鸿蒙内核发烧友,应该是全国首创用故事的方式去说内核,让神秘的内核一丝不挂,栩栩如生,敬请...

    子曰:“吾与回言终日,不违如愚。退而省其私,亦足以发。回也,不愚。”《论语》:为政篇

     

    百篇博客系列篇.本篇为:

    v09.xx 鸿蒙内核源码分析(调度故事篇) | 用故事说内核调度

    前因后果相关篇为:

    公众号: 鸿蒙内核源码分析

    本篇用一个故事说清楚鸿蒙进程和线程的调度过程.

    有个场馆

    某地有一个演出场馆,分成室内馆(400平米)和室外馆(4万平米),管理处在室内馆,那是工作人员办公的地方,非工作人员不得进入!

    场馆的定位是为本地用户提供舞台表演(统称舞台剧),规定同时只能一个剧上演,但因为生意太好,申请人太多了,所以用馆要先申请->排队->上演.场馆里面有一座永远很准时,不会停的大钟表,每十分钟就自动响一次,场馆里有很多的资源,有篮球,酒馆,小卖部,桌椅,还有演员(人也算资源),反正就是应有尽有,但是数量有限.

    资源由管理处统一管理,这些资源也得先申请才能使用.场地外有个大屏幕,屏幕实时对外公布场馆舞台剧情况,屏幕内容如下:

     舞台剧名 优先级    状态        进行中节目       就绪节目
     ---------------------------------------------------------
     管理处     0       正在工作    打扫场地卫生        无 
     三国演义   19      已就绪      无              骂死王朗 
     淘宝直播   20      已就绪      无              薇娅9点直播 
    

    场馆的内部工作也是个剧,只不过它的内部剧,优先级最高.而且注意这里只展示正在和就绪的剧情节目,就绪是指万事俱备,只欠登台表演的意思.

    例如上表中有两个剧都准备好了,排成了一个就绪队列,都等着管理处打扫完卫生后表演,但同时只能演一个剧,而三国演义的优先级更高(场馆规定越小的优先级越高),所以不出意外,下一个表演的节目就是三国演义之骂死王朗.

    这里请记住就绪队列,后续会反复的提它,很重要!

    表演走什么流程?

    用馆者需提交你舞台剧的剧本,剧本可以是玩游戏,拍电视剧,直播电商等等,反正精彩的世界任你书写,场馆内有专人(统称导演)负责跟进你的剧本上演。

    剧本由各种各样的场景剧组成(统称节目),比如要拍个水浒传的剧本. 被分成武松打虎,西门和金莲那点破事等等节目剧.申请流程是去管理处先填一张电子节目表,节目表有固定的格式,填完点提交你的工作就完成了,接下来就是导演的事了.

    节目表单格式如下.

    剧名    节目章回  内容          优先级  所需资源            状态 
    ----------------------------------------------------------------
    水浒传  第18回   武松打虎          12   武松,老虎,          未开始 
    水浒传  第28回   西门金莲那点破事   2    西门庆,金莲,炕      未开始 
    水浒传  第36回   武松拳打蒋门神     14   武松,蒋门神,猪肉    未开始 
    

    故事写到这里,大家脑子里有个画面了吧,记住这两张表,继续走起。

    西门大官人什么时候表演?

    场馆都会给每个用馆单位发个标号代表你使用场馆的优先级,剧本中每个场景节目也有优先级,都是0级最高,31级最低,这里比如水浒传优先级为8,西门庆和金莲那点破事节目为2,节目资源是需要两位主角(西门,金莲)和王婆,一个炕等资源,这些资源要向场馆负责人申请好,节目资源申请到位了就可以进入就绪队列.

    如果你的剧本里没有一个节目的资源申请到了那对不起您连排号的资格都没有。这里假如水浒传审核通过,并只有西门大官人节目资源申请成功,而管理处卫生打扫完了,以上两个表格的内容将做如下更新

    舞台剧名 优先级    状态        进行中节目       就绪节目
    ---------------------------------------------------------
    水浒传     8       正在工作    西门金莲那点破事        无 
    三国演义  19       已就绪      无              骂死王朗 
    淘宝直播  20       已就绪      无              薇娅9点直播
    

    注意虽然三国演义先来,但此时水浒传排在三国的前面,是因为它的优先级高,优先级分32级,0最高,31最低.

    剧名  节目章回  内容        优先级  所需资源        状态        表演位置 
    ---------------------------------------------------------------------------
    水浒传  第18回 武松打虎        12  武松,老虎,酒18碗 未开始         暂无 
    水浒传  第28回 西门金莲那点破事 2   西门庆,金莲,炕   正在进行       西门火急火燎的跑进金莲屋内 
    水浒传  第36回 武松拳打蒋门神   14  武松,蒋门神,猪肉 未开始         暂无 
    

    注意看表中状态的变化和优先级,一个是剧本的优先级,一个是同一个剧本中节目的优先级.而之前优先级最高的管理处,因为没有其他节目要运行,所以移出了就绪队列.

    西门好事被破坏了怎么办了?

    场馆会根据节目上的内容把节目演完。每个节目十分钟,时间到了要回去重新排队,如果还是你就可以继续你的表演。但这里经常会有异常情况发生.

    比如上级领导给场馆来个电话临时有个更高优先级节目要插进来,没办法西门你的好事要先停止,please stop! 场地要让给别人办事,西门灰溜溜得回就绪队列排队去,但请放心会在你西门退场前会记录下来表演到哪个位置了(比如:西门官人已脱完鞋),以便回来时继续接着表演。高优先级的事处理完后,如果西门的优先级还是最高的就可以继续用场地,会先还原现场演到哪了再继续办事就完了,绝不重复西门前面的准备工作,否则西门绝不答应!

    节目表演完所有资源要回收,这个节目从此消亡,如果你剧本里所有节目都表演完了,那你的整个剧本也可以拜拜了,导演回到导演组,又可以去接下一部戏了.

    这里还原下西门被场馆紧急电话打断后表的变化是怎样的,如下:

    剧本名称 优先级 状态        进行中节目      就绪节目 
    ---------------------------------------------------------
    管理处      0   正在工作    接听上级电话 无 
    水浒传      8   已就绪      无          西门和金莲那点破事 
    三国演义    19  已就绪      无          骂死王朗 
    淘宝直播    20  已就绪      无          薇娅9点直播 
    
    剧名    节目章回  内容          优先级  所需资源            状态    表演位置 
    -------------------------------------------------------------------------  
    水浒传  第18回  武松打虎        12      武松,老虎,酒18碗   未开始     暂无 
    水浒传  第28回  西门金莲那点破事 2      西门庆,金莲,一个炕  就绪     西门官人脱完鞋 
    水浒传  第36回  武松拳打蒋门神  14      武松,蒋门神,猪肉    未开始     暂无 
    

    表演给谁看呢?

    外面那些吃瓜观众啊,群众你我他,游戏公司设计了游戏的剧本,电商公司设计了电商剧本,西门大官人被翻拍了这么多次不就是都爱看嘛,场馆会按你的剧本来表演,当然也可以互动,表演的场景需要观众操作时,观众在外面可以操作,发送指令。想想你玩游戏输入名字登录的场景。场馆里面有三个团队,张大爷团队负责导演组演剧本,王场馆负责场地的使用规划的,李后勤负责搞搞后勤.

    张大爷团队做什么的?

    上面这些工作都是张大爷团队的工作,接待剧本的导演组,管理剧本清单,指派导演跟进,申请节目资源,调整剧本优先级,控制时间,以使舞台能被公平公正的被调度使用等等

    王场馆是做什么的?

    看名字能知道负责场地用度的,你想想这么多节目,场地只有这么点,同时只能由一个节目上演,怎么合理的规划才能即公平又效率最大化呢,这就是王场馆的工作,但咱王总也有两把刷子,会给用馆公司感觉到整个场馆都是自己在用,具体不在这个故事里说明,后续有专门讲王场馆如何高效的管理内外场地的故事篇.

    李后勤是做什么的?

    场馆每天的开业,歇业,场地清理,管理处的对外业务,接听电话,有人闹事了怎么处理,收钱开发票 等等也有很多工作统称为后勤工作要有专门的团队来对接,具体不在这里说明,后续也有专门讲这块的故事.

    故事想说什么呢?

    故事到底想说什么呢?这就是操作系统的调度机制,熟悉了这个故事就熟悉了鸿蒙系统内核任务调度的工作原理!操作系统就是管理场馆和确保工作人员有序工作的系统解决方案商,外面公司只要提供个剧本,就能按剧本把这台戏演好给广大观众观看。有了这个故事垫底,鸿蒙内核源码分析系列就有了一个非常好的开始基础。

    内核和故事的关系映射

    故事概念        内核概念            备注 
    --------------------------------------------------------- 
    只能一个剧本演   单CPU           多CPU核指多个剧同时上演  
    剧本            程序            一个剧本一个负责人跟进,跑起来的程序叫进程  
    导演            进程            进程负责剧本整个运行过程,是资源管理单元,任务也是一种资源 
    节目            线程/任务       任务记录节目的整个运行过程,任务是调度的单元 
    西门被打断      保存现场        本质是保存寄存器(PC,LR,FP,SP)的状态  
    西门继续来      恢复现场        本质是还原寄存器(PC,LR,FP,SP)的状态  
    表演场地        用户空间        所有节目都在同一块场地表演  
    管理处          内核空间        管理处非工作人员不得入内 
    外部场地        磁盘空间        故事暂未涉及,留在内存故事中讲解  
    节目内容        代码段          任务涉及的具体代码段  
    管理处的服务    系统调用        软中断实现,切换至内核栈  
    场馆大钟        系统时钟        十分钟响一次代表一个节拍(tick)  
    节目20分钟      时间片          鸿蒙时间片默认 2个tick,20ms 
    上级电话        中断            硬中断,直接跳到中断处理函数执行  
    表演顺序        优先级          进程和线程都是32个优先级,[0-31],从高到低  
    张大爷          进程/线程管理   抢占式调度,优先级高者运行  
    王场馆          内存管理        虚拟内存,内存分配,缺页置换 ==  
    李后勤          异常接管        中断,跟踪,异常接管 ==  
    

    请牢记这个故事

    当然还有很多的细节在故事里没有讲到,比如王场馆和李后勤的工作细节,还有后续故事一一拆解.太细不可能真的在一个故事里全面讲完,笔者想说的是框架,架构思维,要先有整体框架再顺藤摸瓜寻细节,层层深入,否则很容易钻进死胡同里出不来。读着读着就放弃了,其实真没那么难。当你摸清了整个底层的运作机制再看上层的应用,就会有了拨开云雾见阳光,神清气爽的感觉。具体的我们在后续的章节里一一展开,用这个故事去理解鸿蒙系统内核调度过程,没毛病,请务必牢记这个故事。

    百篇博客分析.深挖内核地基

    • 给鸿蒙内核源码加注释过程中,整理出以下文章。内容立足源码,常以生活场景打比方尽可能多的将内核知识点置入某种场景,具有画面感,容易理解记忆。说别人能听得懂的话很重要! 百篇博客绝不是百度教条式的在说一堆诘屈聱牙的概念,那没什么意思。更希望让内核变得栩栩如生,倍感亲切.确实有难度,自不量力,但已经出发,回头已是不可能的了。 😛
    • 与代码有bug需不断debug一样,文章和注解内容会存在不少错漏之处,请多包涵,但会反复修正,持续更新,v**.xx 代表文章序号和修改的次数,精雕细琢,言简意赅,力求打造精品内容。

    按功能模块:

    前因后果基础工具加载运行进程管理
    总目录
    调度故事
    内存主奴
    源码注释
    源码结构
    静态站点
    双向链表
    位图管理
    用栈方式
    定时器
    原子操作
    时间管理
    ELF格式
    ELF解析
    静态链接
    重定位
    进程映像
    进程管理
    进程概念
    Fork
    特殊进程
    进程回收
    信号生产
    信号消费
    Shell编辑
    Shell解析
    编译构建进程通讯内存管理任务管理
    编译环境
    编译过程
    环境脚本
    构建工具
    gn应用
    忍者ninja
    自旋锁
    互斥锁
    进程通讯
    信号量
    事件控制
    消息队列
    内存分配
    内存管理
    内存汇编
    内存映射
    内存规则
    物理内存
    时钟任务
    任务调度
    任务管理
    调度队列
    调度机制
    线程概念
    并发并行
    CPU
    系统调用
    任务切换
    文件系统硬件架构
    文件概念
    文件系统
    索引节点
    挂载目录
    根文件系统
    字符设备
    VFS
    文件句柄
    管道文件
    汇编基础
    汇编传参
    工作模式
    寄存器
    异常接管
    汇编汇总
    中断切换
    中断概念
    中断管理

    百万汉字注解.精读内核源码

    四大码仓同步注解内核源码, >> 查看 codechina 仓库

    鸿蒙研究站( weharmonyos ) | 每天死磕一点点,原创不易,欢迎转载,请注明出处。若能支持点赞则更佳,感谢每一份支持。

    展开全文
  • 内核与微内核

    千次阅读 2017-09-25 11:56:49
    内核与微内核的区别,微内核的优点

    一、区别

    话不多说,先上图

    1.宏内核几乎包含了所有功能,微内核之包含了部分

    2.宏内核模块依赖较强,例如linux去掉网络,会引发问题,正因为宏内核的这一个缺点,导致了一些问题:例如:要加强安全模块,就要更改所有的模块。

    微内核:内核态只保留了最基本的功能:cpu调度,内存管理,进程通信。将文件系统驱动设备放在了外面。

    3.宏内核的代码可以用百万来计,微内核可以只有几万,几十万。代码量越大bug越多。

    4.微内核的操作系统:windows NT 7 8  ,minix, maxcOS ,WindowsBarrelfish

     宏内核:linux unix

    二、微内核的优点

    (1) 可伸缩性好,  能适应硬件更新和应用变化
    (2) 可移植性好,   所有与具体机器特征相关的代码,全部隔离在微内核中。如果操作系统要移植到不同的硬件平台上, 只需修改微内核中极少量的代码即可
    (3) 实时性好,   微内核可以更有效地支持实时处理
    (4) 安全可靠性高,   微内核将安全性作为系统内部特性进行设计,对外仅使用少量应用编程接口
    (5) 支持分布式系统,  支持多处理机的体系结构  和  高度并行的应用程序
    (6) 真正面向对象的操作系统,能显著减小系统开销,  提高系统的正确性、可靠性和易扩展性



    展开全文
  • Linux 内核和 Windows 内核有什么区别?

    千次阅读 多人点赞 2021-02-20 09:46:29
    对于服务器使用的操作系统基本上都是 Linux,而且内核源码也是开源的,任何人都可以下载,并增加自己的改动或功能,Linux 最大的魅力在于,全世界有非常多的技术大佬为它贡献代码。 这两个操作系统各有千秋,不分...

    微信搜索「小林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。


    巨人的肩膀
    1. https://en.wikipedia.org/wiki/Monolithic_kernel
    2. https://en.wikipedia.org/wiki/Executable_and_Linkable_Format
    3. https://en.wikipedia.org/wiki/Windows_NT
    展开全文
  • ubuntu16.04 查看内核,升级内核,删除内核,切换内核 1:查看内核列表 sudo dpkg --get-selections |grep linux-image linux-image-4.4.0-21-generic install linux-image-4.4.0-66-generic deinstall ...

    ubuntu16.04 查看内核,升级内核,删除内核,切换内核


    1:查看内核列表

    sudo dpkg --get-selections |grep linux-image


    linux-image-4.4.0-21-generic install

    linux-image-4.4.0-66-generic deinstall

    linux-image-4.4.0-70-generic deinstall

    linux-image-4.4.0-71-generic install

    linux-image-4.4.0-72-generic install


    2:查看当前使用的内核

    uname -r

    4.4.0-21-generic


    3:升级/安装内核

    sudo apt-get install linux-image-4.4.0-75-generic


    3:删除内核

    tip:删除当前版本重启会使用低一级的已安装内核, 如果是最后一个内核版本删除之后重启会进入BIOS界面

    sudo apt-get remove linux-image-4.4.0-75-generic


    4:切换内核

    参考:http://blog.csdn.net/u011304615/article/details/70920171




    展开全文
  • 内核与微内核、Linux内核与Unix内核的区别

    万次阅读 多人点赞 2016-05-25 10:06:42
    操作系统内核可能是微内核,也可能是单内核(后者有时称之为宏内核Macrokernel)。按照类似封装的形式,这些术语定义如下: 单内核:也称为宏内核。将内核从整体上作为一个大过程实现,并同时运行在一个单独的地址...
  • 02.Cortex-M3内核概述--从0学RTOS

    万次阅读 2021-06-18 17:10:33
    Cortex-M3是一个32位处理器内核。内部的数据路径是32位的,寄存器是32位的,存储器接口也是32位的。CM3采用了哈佛结构,拥有独立的指令总线和数据总线,可以让取指与数据访问并行不悖。这样一来数据访问不再占用指令...
  • 开发工具Visual Studio 2012 winform控件webbrowser控件 内嵌火狐内核内核 已经明确引用于给出实例 方便各位使用 分为mini版本与复杂版本
  • Linux内核设计与实现_第三版_中文版

    千次下载 热门讨论 2013-08-28 15:35:22
    《Linux内核设计与实现》第三版,中文版。基于Linux 2.6.34内核,本书详细介绍了Linux内核系统,覆盖了从核心内核系统的应用到内核设计与实现等各方面内容。
  • Linux内核编译流程(Menuconfig图形化方式)Menuconfig配置内核原理:在Linux里面我们所看到的menuconfig界面是通过配置内核顶层的Kconfig产生的,而当输入make menuconfig命令的时候系统会读取Makefile来解析...
  • 内核与宏内核

    千次阅读 2018-04-30 17:26:24
    1、内核概述 Kernel是OS的核心,提供了硬件级的抽象,它向外部提供了对计算机设备的核心管理调用。我们将操作系统的代 码分成2部分。内核所在的地址空间称作内核空间。而在内核以外的统称为外部管理程序,它们大部分...
  • 内核和微内核介绍

    千次阅读 2019-08-28 18:47:44
    内核和微内核的基本概念 宏内核:简单来说,就是把很多东西都集成进内核,例如linux内核,除了最基本的进程、线程管理、内存管理外,文件系统,驱动,网络协议等等都在内核里面。将内核从整体上作为一个大过程...
  • 操作系统内核可能是微内核,也可能是单内核(后者有时称之为宏内核Macrokernel)。按照类似封装的形式,这些术语定义如下: 单内核:也称为宏内核。将内核从整体上作为一个大过程实现,并同时运行在一个...
  • 浏览器内核分类及常用浏览器内核

    千次阅读 2020-03-08 11:27:49
    浏览器内核可以分成两部分: 渲染引擎(layout engineer或者Rendering Engine) 和 JS引擎 网页浏览器的排版引擎也被称为页面渲染引擎 浏览器最重要 最核心的部分就是渲染引擎 它负责对网页语法的解释 取得网页的内容 ...
  • 浏览器内核、webview内核

    千次阅读 2019-09-24 23:23:20
    1:webview 使用的是手机自带的浏览器内核 不同的手机,出于各种目的,会对自己的浏览器内核进行修改, 而不是用Android原生的浏览器, 所以在web的现实上也会有差异的。应该通过写更加标准通用的js方法来增加兼容...
  • Linux内核编程

    热门讨论 2013-04-29 17:28:11
    内核编程 Linux内核 Linux源代码 内核编程 内核分析
  • 内核与微内核的比较

    千次阅读 2019-06-02 17:09:43
    操作系统内核分为单内核、微内核、外内核(科研中)。 单内核 所谓的单内核就是把它从整体上作为一个单独的大过程来实现,同时也运行在一个单独的地址空间上。因此单内核通常以单个静态二进制文件的形式存放于磁盘中...
  • 在Ubuntu 18.04上编译Linux内核

    万次阅读 多人点赞 2018-10-14 23:30:18
    编译环境我选择了Ubuntu 18.04的虚拟机,内核截止2018-10-14最新版为4.18.14,笔者即将编译这个版本 请确保磁盘空间足够,笔者之前20G编译到最后空间不足,还得重来 如果你想要查看您的空间大小或者扩充磁盘,请...
  • CentOS7 更新最新内核 内核下载地址:https://elrepo.org/linux/kernel/el7/x86_64/RPMS/ 内核选择 kernel-lt(lt=long-term)长期有效 kernel-ml(ml=mainline)主流版本 安装过程 1.下载内核 wget ...
  • 内核和微内核

    千次阅读 2017-04-15 20:54:59
    内核是个很大的进程。它的内部又能够被分为若干模块(或是层次或其他)。但是在运行的时候,他是个单独的二进制大映象。其模块间的通讯是通过直接调用其他模块中的函数实现的,而不是消息传递。在运行效率上,单...
  • 编译linux内核源码,安装、删除内核

    万次阅读 多人点赞 2018-11-04 01:20:54
    Linux内核编译、安装流程 本博客属于原创,转载请注明来源 此处只讲linux内核编译步骤至于安装虚拟机,安装ubuntu操作系统请自行百度 环境信息: Linux操作系统:ubuntu16.04 内核版本:4.15.0-29-generic ...
  • 计算机内核

    千次阅读 2019-04-19 17:50:57
    计算机内核 一、内核概念 内核是操作系统最基本的部分,它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。直接对硬件操作...
  • 内核和宏内核的区别是什么

    千次阅读 2019-07-22 14:13:34
    我们都知道现在主流的操作系统有很多,比如计算机系统有Unix,linux,windows,mac os等,手机操作系统分为安卓(基于linux内核),ios,windows phone(和windows电脑是同一个内核)等,这些操作系统从内核角度来讲...
  • 非ie内核浏览器activex支持插件

    千次下载 热门讨论 2012-09-03 11:30:44
    非ie内核浏览器activex支持插件, 可在非ie内核浏览器中调用activex控件。
  • yum -y update一下子给我升级到5.0内核,头疼 查看当前版本内核信息 uname -a复制代码 查看系统版本 cat /etc/redhat-release复制代码 查看已安装的内核 rpm -qa | grep kernel复制代码 查看内核源 ...
  • Ubuntu 升级内核 开启BBR 清理内核

    千次阅读 2017-12-22 22:44:13
    【更新内核】su //使用管理员,避免后续可能出现权限问题 uname -a //查看当前内核版本 创建一个文件夹并进入,之后我们把内核下载到次目录中mkdir download && cd download下载内核:点击...
  • 内核和宏内核

    千次阅读 2013-11-23 00:36:42
    关于操作系统自然的做法:凡是为进程服务的模块就应放在操作系统的内核中。例如:文件管理模块是为进程服务的,所以应放在内核中;设各驱动模块是为进程服务的,所以要放在内核中;进程管理模块当然也要放在内核中。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,287,829
精华内容 515,131
关键字:

内核