Linux内核的特征

Linux是个人计算机和工作站上的Unix类操作系统。但是,它绝不是简化的Unix。相反,Linux是强有力和具有创新意义的Unix类操作系统。它不仅继承了Unix的特征,而且在许多方面超过了Unix。作为Unix类操作系统,Linux内核具有下列基本特征:

1. Linux内核的组织形式为整体式结构。也就是说整个Linux内 核由很多过程组成,每个过程可以独立编译,然后用连接程序将其连接在一起成为一个单独的目标程序。从信息隐藏的观点看,她没有任何程度的隐藏—每个过程都 对其它过程可见。这种结构的最大特点是内部结构简单,子系统间易于访问,因此内核的工作效率较高。另外,基于过程的结构也有助于不同的人参与不同过程的开发,从这个角度来说,Linux内核又是开放式的结构,她允许任何人对其进行修正、改进和完善。

2. Linux的进程调度方式简单而有效。可以说Linux在追求效率方面孜孜不倦,体现在调度方式上也是别具一格。对于用户进程,Linux采用简单的动态优先级调度方式;对于内核中的例程(如设备驱动程序、中断服务程序等)则采用了一种独特的机制—软中断机制,这种机制保证了内核例程的高效运行。

3.  Linux支持内核线程(或称守护进程)。内核线程是在后台运行而又无终端或登录和它结合在一起的进程。有许多标准的内核线程,其中有一些周期地运行来完成特定的任务(如swapd),而其余一些则连续地运行,等待处理某些特定的事件(如inetd和lpd)。内核线程可以说是用户进程,但和一般的用户进程又有不同,它象内核一样不被换出,因此运行效率较高。

4. Linux支持多种平台的虚拟内存管理。内存管理是和平台密切相关的部分,为了支持不同的硬件平台而又保证虚拟存储管理技术的通用性,Linux的虚拟内存管理为不同的硬件平台提供了统一的接口,因此把Linux移植到一个新的硬件平台并不是一件很困难的事。

5. Linux内核另一个独具特色的部分是虚拟文件系统(VFS)。虚拟文件系统不仅为多种逻辑文件系统(如ext2,fat等)提供了统一的接口,而且为各种硬件设备(作为一种特殊文件)也提供了统一接口。

6.  Linux的模块机制使得内核保持独立而又易于扩充。模块机制可以使内核很容易地增加一个新的模块(如一个新的设备驱动程序),而无需重新编译内核;同时,模块机制还可以把一个模块按需添加到内核或从内核中卸下,这使得我们可以按需要定制自己的内核。

7. 增加系统调用以满足你特殊的需求。一般来说,系统调用是操作系统的设计者提供给使用内核功能的接口,但Linux开放的源代码也允许你设计自己的系统调用,然后把它加入到内核。

8. 网络部分面向对象的设计思想使得Linux内核支持多种协议、多种网卡驱动程序变得容易。

本文来自:

linux内核特征,Linux内核的特征相关推荐

  1. linux 内核通知,[Linux] 内核通知链 notifier

    Linux 内核中每个模块之间都是独立的,如果模块需要感知其他模块的事件,就需要用到内核通知链. 最典型的通知链应用就是 LCD 和 TP 之间,TP 需要根据 LCD 的亮灭来控制是否打开关闭触摸功 ...

  2. Linux 内核 vs Windows 内核

    Windows 和 Linux 可以说是我们比较常见的两款操作系统的. Windows 基本占领了电脑时代的市场,商业上取得了很大成功,但是它并不开源,所以要想接触源码得加入 Windows 的开发团 ...

  3. Linux内核分析及内核编程

    倪继利著 2005年8月出版 ISBN 7-121-01518-5 900页 88.00元(估价) 倪  倪继利著 2005年8月出版 ISBN 7-121-01518-5 900页 88.00元(估 ...

  4. Linux 2.6 menuconfig内核编译配置选项详解

    Code maturity level options 代码成熟度选项 Prompt for development and/or incomplete code/drivers 显示尚在开发中或尚未 ...

  5. linux系统内核制作,编译内核制作一个小型的linux系统

    前言 今天我将会给大家带来如何定制一个属于自己linux系统,也就是编译内核,那为什么要编译内核呢? 内核,是一个操作系统的核心.它负责管理系统的进程.内存.设备驱动程序.文件和网络系统管理,决定着系 ...

  6. linux系统与内核,[科普] Linux 的内核与 Linux 系统之间的关系

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 在 FHS 协议里,有这样的规定: /bin/ 需要在单用户模式可用的必要命令(可执行文件):面向所有用户,例如: cat. ls. cp. /boot/ ...

  7. 【内核】linux内核启动流程详细分析【转】

    转自:http://www.cnblogs.com/lcw/p/3337937.html Linux内核启动流程 arch/arm/kernel/head-armv.S 该文件是内核最先执行的一个文件 ...

  8. linux5.5内核,一条命令就可以升级到Linux 5.5内核或Linux 5.5以上版本

    升级Linux内核其实很简单,本文介绍的方法只需要一条命令,至少能够升级到Linux 5.5内核版本.当然,脚本当中要是加入新的Linux内核,你就能够升级到那个新内核,也就是说可以升级到Linux ...

  9. linux内核报告,Linux升级内核报告.docx

    Linux升级内核报告精要 我的Linux 内核升级记录 准备工作内核安装包的下载下载地址为: HYPERLINK "/pub/linux/kernel/" /pub/linux/ ...

最新文章

  1. 那位13岁就当上老板的开发者是如何炼成的?
  2. mysql的驱动connect放在哪里_Python连接数据库两种方法,QSqlDatabase,pymmsql,驱动名...
  3. centos安装gitlab详解-2017
  4. SQL中Group By的使用,以及一些特殊使用方法
  5. javascript 嵌入python_从Javascript代码调用Python函数
  6. 使用Azure Pipelines来实现Teams App的CI
  7. chrome扩展之4(终结篇):一步步跟我学开发一个表单填写扩展
  8. Cannot modify header information问题的解决方法【新浪云经常遇到的错误】
  9. FPGA双沿发送之Verilog HDL实现
  10. 厉害了!《流浪地球》《疯狂的外星人》票房均破10亿元大关
  11. 世界语言共有4种书写方向
  12. 确定进制(经典水题)
  13. zul组件、zhtml组件、native组件的区别
  14. fleaPHP框架的一些基础问题
  15. 【uni-app踩坑记录】uni-starter本地微信一键授权登录失败
  16. 从此刻起  文/毛毛虫
  17. 特征检测和特征提取算子
  18. 机房合作—SVN skipped remains conflicted
  19. Hadoop从零开始的搭建(伪分布式)
  20. Python爬虫神器pyppeteer,对 js 加密降维打击

热门文章

  1. python编程:外星人入侵(所有源码)
  2. 第四、第五套人民币“三字冠”的定名与组集
  3. d3 - 建立力引导图将知识图谱可视化 (一)
  4. Inno Setup 精灵显示插件 InnoFairy (V2.0 版本)
  5. Ueeshop:外贸网站报价,从免费到数十万是怎么回事?
  6. 12306所有车次及时刻表的爬取上
  7. 计算机组成原理中PC和MAR寄存器的位数
  8. 联咏(Novatek)NT98562/NT98566/NT96565|SDK海思HI3516EV200/V300技术方案选型
  9. STM32噪声警报器-----前期准备
  10. HTML5和CSS3一些基本概括