文章插图
目录
一、什么是内核?
1.1 内核的能力
二、操作系统分层
三、内核是如何工作的?
四、Linux 的设计
4.1 Multitask and SMP(Symmetric multiprocessing)
4.2 ELF(Executable and Linkable Format)
4.3 Monolithic Kernel
4.4 在内核层和在用户层有什么区别?
五、Window 设计
六、总结
一、什么是内核?说到操作系统 , 就必须说内核 。内核是操作系统中应用连接硬件设备的桥梁 。
1.1 内核的能力对于一个现代的操作系统来说 , 它的内核至少应该提供以下 4 种基本能力:
管理进程、线程(决定哪个进程、线程使用 CPU);管理内存(决定内存用来做什么);连接硬件设备(为进程、和设备间提供通信能力);提供系统调用(接收进程发送来的系统调用) 。二、操作系统分层从上面 4 种能力来看操作系统和内核之间的关系 , 通常可以把操作系统分成 3 层 , 最底层的硬件设备抽象、中间的内核和最上层的应用 。
?
三、内核是如何工作的?内核权限非常高 , 它可以管理进程、可以直接访问所有的内存 , 因此确实需要和进程之间有一定的隔离 。这个隔离用类似请求/响应的模型 , 非常符合常理 。
?
但不同的是在浏览器、服务端模型中 , 浏览器和服务端是用不同的机器在执行 , 因此不需要共享一个 CPU 。但是在进程调用内核的过程中 , 这里是存在资源共享的 。
比如 , 一个机器有 4 个 CPU , 不可能让内核用一个 CPU , 其他进程用剩下的 CPU 。这样太浪费资源了 。
再比如 , 进程向内核请求 100M 的内存 , 内核把 100M 的数据传回去 。这个模型不可行 , 因为传输太慢了 。
所以 , 这里多数操作系统的设计都遵循一个原则:进程向内核发起一个请求 , 然后将 CPU 执行权限让出给内核 。内核接手 CPU 执行权限 , 然后完成请求 , 再转让出 CPU 执行权限给调用进程 。
四、Linux 的设计Linux 操作系统第一版是1991 年林纳斯托·瓦兹(一个芬兰的小伙子 , 当时 22 岁)用 C 语音写的 。写完之后他在网络上发布了 Linux 内核的源代码 。又经过了 3 年的努力 , 在 1994 年发布了完整的核心 Version 1.0 。
4.1 Multitask and SMP(Symmetric multiprocessing)MultiTask 指多任务 , Linux 是一个多任务的操作系统 。多任务就是多个任务可以同时执行 , 这里的“同时”并不是要求并发 , 而是在一段时间内可以执行多个任务 。当然 Linux 支持并发 。
SMP 指对称多处理 。其实是说 Linux 下每个处理器的地位是相等的 , 内存对多个处理器来说是共享的 , 每个处理器都可以访问完整的内存和硬件资源 。这个特点决定了在 Linux 上不会存在一个特定的处理器处理用户程序或者内核程序 , 它们可以被分配到任何一个处理器上执行 。
4.2 ELF(Executable and Linkable Format)?
这个名词翻译过来叫作可执行文件链接格式 。这是一种从 Unix 继承而来的可执行文件的存储格式 。我们可以看到 ELF 中把文件分成了一个个分段(Segment) , 每个段都有自己的作用 。
4.3 Monolithic Kernel这个名词翻译过来就是宏内核 , 宏内核反义词就是 Microkernel , 微内核的意思 。Linux 是宏内核架构 , 这说明 Linux 的内核是一个完整的可执行程序 , 且内核用最高权限来运行 。宏内核的特点就是有很多程序会打包在内核中 , 比如 , 文件系统、驱动、内存管理等 。当然这并不是说 , 每次安装驱动都需要重新编译内核 , 现在 Linux 也可以动态加载内核模块 。所以哪些模块在内核层 , 哪些模块在用户层 , 这是一种系统层的拆分 , 并不是很强的物理隔离 。
以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!
「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助:- 宝马x3参数配置_凌志suv车型rx300参数
- iphone8上市时间和上市价格(iphone8配置参数价格
- e7540参数配置 e7540处理器性能
- 小米6配置参数设置_小米max2参数
- 小米3c参数详细参数 – 小米盒子3增强版配置和参数
- 金立商务手机参数 金立gn800是什么型号
- iphonex配置参数详情 苹果x型号序列号查询
- 打游戏的笔记本电脑参数 适合玩游戏的笔记本推荐
- 佳能用适马还是腾龙好 适马dp1m参数
- opporealme配置参数 oppo real me系列