Linux内核(kernel)和linux操作系统区别

Linux内核指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。一个内核不是一套完整的操作系统。通常我们所说的linux操作系统是一个集linux内核、工具集、各种库、桌面管理器、应用程序等一体的发布包(发行版)。因此RedHat、Ubuntu、Slackware等是Linux的发行版本,更确切地说,应该叫做“以Linux为核心的操作系统”。

Linux 内核的特性

  • 开源,遵循GPL开源许可协议
  • 可以移植,支持广泛的硬件平台:x86、arm、mips等
  • 高可扩展性(模块化管理)
  • 模块化设计:高内聚、低耦合
  • 可剪裁、可扩展,可以运行在大型主机,也可以运行在个人计算机上
  • 高可靠性、稳定性,稳定性是linux鲜明特点,安装了linux系统的主机,连续运行一年不宕机是很平常的事情

Linux内核版本

一般来说,linux系统采用 A.B.C.D 的版本号管理方式,A表示主版本号,B表示次版本号,C表示修订版本,D表示更新版本号。其中次版本号为偶数是稳定版本,为奇数表示有一些新的东西加入,是个不一定很稳定的测试版本,但是2.6版本以后,不再使用奇偶来来作为稳定和不稳定版本的判别。

曾经使用最广泛的Linux内核版本:2.6、3.14、4.4、4.9;从Linux内核3.0版本之后,引进了设备树的概念,所有的硬件信息都用设备树来描述。目前最新的Linux内核版本是5.1.12。

Linux内核的五大基本功能

  • 进程管理
  • 内存管理
  • 文件系统
  • 网络协议
  • 设备管理

Linux内核目录结构

  • arch:与体系结构相关的代码,每种平台占一个目录,如arm、mips、x86等。
  • drivers:设备驱动程序所在目录,比如media、input、leds、i2c等驱动目录。
  • sound:ALSA,OSS音频设备的驱动核心代码和常用音频驱动。
  • fs:file system,文件系统,里面列出了linux支持的各种文件系统。
  • include:头文件所在目录,我们写驱动用到的系统相关的头文件都放在include/linux下。
  • Documentation:英文文档,对每一个目录的作用的具体说明,还有设备树介绍,Makefile语法等等。
  • ipc:进程间通信相关的代码
  • ...

Linux内核的配置和编译

linux内核里面有成千上万的配置项,因此,不会完全从0开始配置内核,在arch/arm64/configs/目录下,内核提供了各种平台的默认配置文件,例如exynos8895_defconfg等。通常默认配置并不能完全满足实际需求,但有了一个与所用开发板相近的默认配置,在此基础上调整起来将会更加容易。那么对Linux内核进行所谓的配置其实就是修改xxx_defconfig(当然也可以使用make menuconfig,但是是一次性的),在里面添加类似于下面的格式:

只修改xxx_defconfig是配置的第一步,修改完需要执行make xxx_defconfig,使修改的配置选项生效,这时会生成一个.config隐藏文件,可以通过查看这个文件看你的配置是否生效:

当确认配置生效之后,就可以在顶层目录下直接执行make命令进行编译了。

以上是老韩对Linux内核的总结,如有不足欢迎指正。如果对你有帮助或者将来可能对你有帮助不妨先收藏起来。

iso linux 内核版本号_Linux内核全面介绍相关推荐

  1. linux内核开发_Linux 内核的代码仓库管理与开发流程简介

    作者简介:老 U,致力于开源自由软件推广. 原创雄文:由泰晓读者投递的各类社区原创好文. 版权声明:本文最先发表于 "泰晓科技" 微信公众号,欢迎转载,转载时请在文章的开头保留本声 ...

  2. linux HZ 值_Linux系统目录结构介绍

    1 前言 windows目录结构:    C:\windows    D:\Program Files    E:\文档\精品    F:\娱乐\动态图 linux 目录结构:一切从根开始=====& ...

  3. iso linux 内核版本号_Linux发行版和Linux内核的区别

    Linux内核版本与linux发行版本的区别 LINUX内核版本 是指系统内核的版本号.LINUX的内核具有两种不同的版本号,实验版本和产品化版本.要确定 LINUX版本 的类型,只要查看一下版本号: ...

  4. iso linux 内核版本号_Linux查看 iso 版本信息

    一条命令搞定 # isoinfo -d -i  /mnt/custom-CentOS-6.iso CD-ROM is in ISO 9660 format System id: LINUX Volum ...

  5. linux刷新磁盘_Linux内核Page Cache和Buffer Cache关系及演化历史

    在我们进行数据持久化,对文件内容进行落盘处理时,我们时常会使用fsync操作,该操作会将文件关联的脏页(dirty page)数据(实际文件内容及元数据信息)一同写回磁盘.这里提到的脏页(dirty ...

  6. linux操作系统原理_Linux内核分析-操作系统是如何工作的(二)

    linux操作系统的主要构架如图1所示,我们知道,操作系统是通过管理CPU进程.存储器.文件系统.设备驱动.以及网络接口等相关部分来工作的,我们这里主要是通过分析关于CPU的操作即进程的管理执行来分析 ...

  7. linux 单步启动_Linux内核如何装载和启动一个可执行程序

    实验步骤: 1.先把menu删掉,在克隆一个,用test_exec.c覆盖掉test.c. 2.打开test.c.发现增加了一句MenuConfig. 3.打开Makefile,首先静态编译了hell ...

  8. linux route 刷新_linux基础命令介绍十五:推陈出新

    本文介绍ip.ss.journalctl和firewall-cmd,它们旨在代替linux中原有的一些命令或服务. 1.ip ip [OPTIONS] OBJECT COMMAND ip是iprout ...

  9. linux沙箱隔离_Linux沙箱技术介绍

    在计算机安全领域,沙箱(Sandbox)是一种程序的隔离运行机制,其目的是限制不可信进程的权限.沙箱技术经常被用于执行未经测试的或不可信的客户程序.为了避免不可信程序可能破坏其它程序的运行,沙箱技术通 ...

最新文章

  1. 启明云端分享|ESP32-S3一颗融合AI和IOT于一体的芯片,到底有哪些功能!能应用在哪些场景呢
  2. 使用 HttpWebRequest 向网站提交数据
  3. devStack安装OpenStack Ocata版本 (Linux Bridge+VLAN)
  4. 预售┃一张纸一幅图,竟然提高了10倍的学习和工作效率!?
  5. ElasticSearch 索引基本操作_04
  6. php 变量 长度,php 怎么计算字符串长度
  7. Java 正则表达式的用法及常用方法
  8. 最适合使用外汇跟单软件的人
  9. echar生成折线图
  10. DirectShow Samples
  11. 超全!我常用的70个数据分析网址
  12. android死锁解决方案,【线程死锁】Android多线程死锁产生的原因以及如何避免
  13. 【#1】小甲鱼新版python学习笔记
  14. 光流与Lucas-Kanade 光流法
  15. 如何下载没有水印的小咖秀和晃咖视频?教你个超级简单的方法
  16. MAXIMO开发代码记录
  17. tensorflow官网
  18. 白骨精写给孙悟空的信
  19. 计算机网络收集职业生涯规划的原则和步骤,职业生涯规划的步骤及原则介绍
  20. pytest之Monkeypatching(猴子补丁)

热门文章

  1. mnist等常用数据集下载地址,现成的.mat文件
  2. linux执行python不打印_在Python中执行shell程序而不打印到屏幕
  3. 如何成为linux内核维护人员,Linux内核维护人员Greg Kroah-Hartman拒绝明尼苏达大学的道歉...
  4. centos7安装tomcat8.5.46版本碰到的问题
  5. Qt for Android调用android原生Toast控件
  6. 汉诺塔-递归算法深入理解
  7. 设计模式的理解:构造器模式(Builder Pattern)
  8. MySQL / 可重复读到底是怎么实现的?图解 ReadView 机制
  9. 全志 修改485转CAN串口回显 Patch
  10. 走进 San CLI(下):实现原理