Linux只有内核可以直接运行吗,Linux内核学习(一)

“从一个业内人士的视角来欣赏和理解Linux内核的设计和实现之美。”

内核空间:内核独立于普通应用程序,它一般处于系统态,拥有受保护的内存空间和访问硬件设备的所有权限,这种系统态和被保护起来的内存空间,统为内核空间。当内核运行时,系统以内核态进入内核空间执行。

用户空间:应用程序在用户空间执行,它们只能看到允许它们使用的部分系统资源,并且只使用某些特定的系统功能,不能直接访问硬件,也不能访问内核划给别人的内在范围,还有其他一此使用限制。当执行一个普通用户程序时,系统将以用户态进入用户空间执行。

应用程序与内核通信:当一个应用程序执行一条系统调用,我们说内核正在代其执行。如果进一步解释,在这种情况下,应用程序被称为通过系统调用在内核空间运行,而内核被称为运行于进程上下文中,这种交互关系----应用程序通过系统调用界面陷入内核----是应用程序完成其工作的基本行为方式。

每个处理器在任何指定时间点上的活动必然为下列三者之一

1.运行于用户空间,执行用户进程。

2.运行于内核空间,处于进程上下文,代表某个特定的进程执行。

3.运行于内术空间,处于中断上下文,与任何进程无关,处理某个特定的中断。

075db425b6a3ca200054cfa08f1c1fd3.png

应用程序、内核与硬件的关系

单内核与微内核设计之比较:

单内核:所谓单内核就是把它从整体上作为一个单独的大过程来实现,同时也运行在一个 单独的地址空间上。这样的内核通常以单个静态二进制文件的形式存放于磁盘中。所有内核服务都在这样的一个大内核地址空间上运行。内核之间的通信是微不足道的,因为大家都运行在内核态,并身处同一地址空间:内核可以直接调用函数。这种模式的支持者认为单模块具有简单和性能高的特点。大多数的UNIX系统都是这种设计。

微内核:微内核的功能被划分为多个独立的过程,每个过程叫做一个服务器。理想情况下,只有强烈请求特权服务的服务器才运行在特权模式下,其他服务器都运行在用户空间。

Linux是一个单内核,但它也汲取了微内核的精华:其引以为豪的是模块化设计、抢占式内核、支持内核线程以及动态装载内核模块的能力。Linux还避其微内核设计上性能损失的缺陷,让所有事情都运行在内核态,直接调用函数,无须消息传递。

Linux内核版本: 稳定版&开发版

稳定版(次版本号为偶数):具有工业级的强度,可以广泛地应用和部署。修正了一些BUG或                                                是加入了一些新的设备驱动程序。

开发版(次版本号为奇数):内核中许多东西变化得都很快,而且由于开发者不断试验新的解                                                决方案,内核常常发生剧烈的变化。

c66b7257fd6bb63674396ea53a19102b.png

Kernel版本命令规则

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值