找回密码
 注册
关于网站域名变更的通知
查看: 390|回复: 1
打印 上一主题 下一主题

Linux内核设计与实现之内核简介

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-9-16 17:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本篇简单介绍内核相关的基本概念。
6 C; X0 F- I7 C' M7 r! ]& `9 l# k# ^: l% d! ~& x) T+ i& b
主要内容:
6 y0 n8 x( ?% p' W2 z5 x6 d
0 U0 n# m: S+ w单内核和微内核' V+ \- v1 U! z  \+ u; f$ z+ A
内核版本号
+ B" V5 H  S8 [  F2 {- w  a
6 G) d' A# t" j4 S8 M4 u4 p0 U8 w4 Y8 U# n
1. 单内核和微内核
- c) l+ s2 q1 F6 _  H         4 g1 p4 Y) `$ ^$ b7 R
原理% v" Y2 S9 D& E0 S6 p" O, W6 r
9 ?; e2 Y8 a# L+ y. h" e' F2 }$ P
优势
' z0 v0 K4 ?( _# @  D+ j  l: M0 u7 z4 E
劣势
4 {6 G6 T, I: A- H" {1 k
: p: l% q( w, ^4 H单内核
- a' V* h7 g  y" E! M/ |+ `
4 Q' ~2 Q3 e- y- Z( W) N/ j! N整个内核都在一个大内核地址空间上运行。        % N  l4 V$ a  v  u* W0 w
1. 简单。$ m- f$ g9 m+ o) _  A4 n
2. 高效:所有内核都在一个大的地址空间上,所以内核各个功能之间的调用和调用函数类似,几乎没有性能开销。        一个功能的崩溃会导致整个内核无法使用。
) w: a7 Z  w, F5 Q2 M6 C+ A8 K微内核
! j, U5 n1 G# l: R# b) T' ~# e7 m7 W
7 f9 P0 l% |( Y" F2 s4 i+ X2 \内核按功能被划分成各个独立的过程。每个过程独立的运行在自己的地址空间上。        1. 安全:内核的各种服务独立运行,一种服务挂了不会影响其他服务。        内核各个服务之间的调用涉及进程间的通信,比较复杂且效率低。/ `5 J  W$ L+ q' I) @- q5 h

0 }- B$ `9 U# j, F7 b: H
3 g9 m; R) e$ c7 N) vLinux的内核虽然是基于单内核的,但是经过这么多年的发展,也具备微内核的一些特征。(体现了Linux实用至上的原则)
% B( f& q3 A# c- f2 d1 @7 Q: E
5 i$ G) d* a7 w+ }/ u3 K% M主要有以下特征:0 w3 H" i3 o; x, Q1 X

& `0 d6 Q( V# ~& e支持动态加载内核模块
* |: V. ]0 E/ E2 r" J7 C! [! z支持对称多处理(SMP)$ ]7 R" h9 e" z& M' [9 i* B9 K
内核可以抢占(preemptive),允许内核运行的任务有优先执行的能力
* {1 c: K2 h( l不区分线程和进程( @& X7 d9 @& P% K% c% l
2. 内核版本号; y& P* j; Y- a9 j
内核的版本号主要有四个数组组成。比如版本号:2.6.26.1  其中,
0 x7 k. d9 k  d  ]& a. V' y9 Q$ M! [$ A% a0 w6 V* P
2  - 主版本号
2 P1 y: n6 S* p, C1 z
" t1 @, d, K% h7 B% v! ?' ?6  - 从版本号或副版本号
4 ^/ g3 e1 C4 [' e# ~% Q$ T# f9 g3 }+ G
26 - 修订版本号+ N+ W; @! Y* U7 f. _: Q6 e

# a) u; `* ^6 d1  - 稳定版本号
, Y" }) ~) n+ t8 m" N: S; T
1 e, h2 h# T1 V/ L/ G副版本号表示这个版本是稳定版(偶数)还是开发版(奇数),上面例子中的版本号是稳定版。) s! g! u5 d5 m, }- v7 x/ Z% n
- u3 ^+ l/ l7 A
稳定的版本可用于企业级环境。5 |: k9 `3 u: [8 K" J
3 ]$ ^. F$ c. \1 s# ~* [; x1 \3 |
修订版本号的升级包括BUG修正,新的驱动以及新的特性的追加。
' j  \' y6 V5 G# t' o( s$ K
) x" ~- |+ P! j7 B7 \: N稳定版本号主要是一些关键性BUG的修改。
0 W$ s9 f# g1 r5 p$ d9 {" l0 ?$ Q+ J' R9 x  I, A+ q

该用户从未签到

2#
发表于 2020-9-16 18:49 | 只看该作者
高效:所有内核都在一个大的地址空间上,所以内核各个功能之间的调用和调用函数类似,几乎没有性能开销。        一个功能的崩溃会导致整个内核无法使用。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-25 00:31 , Processed in 0.187500 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表