linux内核linux内核体系架构(进程调度|内存管理|中断管理|设备管理|文件系统)

韩曙亮 韩曙亮     2022-12-02     309

关键词:

文章目录





一、进程调度



进程调度 :

进程 是 系统中 进行 资源分配 的 基本单位 ;

每个进程 在 运行时 , 都 感觉自己占有 全部硬件资源 ,

实际上 , 进程 不会 长时间独占 某个资源 ,

操作系统 , 利用 进程调度器 , 令 多个进程 并发执行 ;


Linux 内核 没有 严格区分 进程 与 线程 ;


进程管理 : 包括 进程创建 , 销毁 , 线程组管理 , 内核线程管理 , 队列等待 ;


进程调度 位于 下图 Linux 内核整体架构图 中的 内核空间 ;





二、内存管理



内存管理 涉及到 物理内存管理虚拟内存管理 , 是 Linux 内核中 最复杂的模块 ;


虚拟内存管理 包括 : 反向映射 , KSM , MMAP 映射 , 缺页中断 , 共享内存 , 进程虚拟地址空间管理 , 页面回收 ;

物理内存管理 包括 : 页面分配器 等 ;


内存管理 位于 下图 Linux 内核整体架构图 中的 内核空间 ;





三、中断管理



中断管理 包括 : 处理器异常处理 , 中断处理 ;

异常指的是 处理器执行时 , 检测 异常条件 , 处理器需要停止当前执行的栈 , 处理异常 ;


中断管理 位于 下图 Linux 内核整体架构图 中的 内核空间 ;





四、设备管理



Linux 内核 支持的外设类型 是最多的 ,

  • 设备树
  • PCI 总线设备
  • 设备模型 Kobject
  • ACPI
  • 网络设备驱动
  • 块设备驱动
  • 字符设备驱动

设备管理 位于 下图 Linux 内核整体架构图 中的 内核空间 ;





五、文件系统



文件系统应用场景 :

  • F2FS
  • EXT 2/3/4
  • XFS

Linux 内核 为了支持各种文件系统 , 抽象出一个 虚拟文件系统 VFS , 这是一个文件系统的软件层 , 这样 Linux 内核可以很方便的集成各种文件系统 ;


文件系统 位于 下图 Linux 内核整体架构图 中的 内核空间 ;

linux-linux内核-进程调度

文章目录Linux内核-进程调度一、进程调度的原理(1)多任务分类(2)进程分类(3)优先级二、进程状态(1)三状态模型(2)进程的切换(3)状态字段定义(4)psaux中的stat... 查看详情

linux下的内核头文件放在哪里

linux下的内核头文件放在/usr/include/linux/和/usr/include/sys/linux目录树:scripts目录该目录中不包含任何核心代码,该目录下存放了用来配置内核的脚本和应用程序源码。lib目录该目录主要包含两部分内容:gnuzip解压缩算法,用于在系... 查看详情

linux内核线程kernelthread详解--linux进程的管理与调度(代码片段)

内核线程为什么需要内核线程Linux内核可以看作一个服务进程(管理软硬件资源,响应用户进程的种种合理以及不合理的请求)。内核需要多个执行流并行,为了防止可能的阻塞,支持多线程是必要的。内核线程就是内核的分身,... 查看详情

linux内核调度浅析(代码片段)

目录进程控制块PCB就绪队列结构体调度队列成员下一个进程的选择进程切换加入就绪队列        linux进程调度相关的知识再重新梳理一遍。抽取主要数据结构中的主要成员,以最简单的方式实现进程调度。进程控制块PCBt... 查看详情

深入linux内核架构--进程&线程(代码片段)

...果对于这个问题有兴趣的同学可以继续往下看。对于linux内核下进程和线程的理解程度我经历过以下几个阶段:知道进程和线程这两个基本概念:知道进程/线程相关的一些资源占用,调度的一些基本理论知识;知... 查看详情

linux-linux内核-进程调度

文章目录Linux内核-进程调度一、进程调度的原理(1)多任务分类(2)进程分类(3)优先级二、进程状态(1)三状态模型(2)进程的切换(3)状态字段定义(4)psaux中的stat... 查看详情

linux网络协议栈之内核锁——进程调度

   学习内核锁之前,我们先了解一下关于内核的基础知识,以便更好的学习内核锁的使用!   下面我们先学习一下进程调度:一、进程调度调度什么时候发生?即:schedule()函数什么时候被调用?调... 查看详情

进程调度

Linux进程调度:在linux2.5内核系列中,开始采用O(1)调度程序,但是其缺少交互进程。在2.6内核系统开发初期,引入新的进程调度算法-反转楼梯最后期限调度算法(RotatingStaircaseDeadlinescheduler)(RSDL)。该算法吸取了队列理论,将... 查看详情

linux网络协议栈之内核锁——linux内核抢占和进程调度总结

1 用户抢占内核即将返回用户空间的时候,如果needresched标志被设置,会导致schedule()被调用,此时就会发生用户抢占。在内核返回用户空间的时候,它知道自己是安全的。所以,内核无论是在从中断处理程序... 查看详情

[架构之路-39]:目标系统-系统软件-linuxos内核进程/线程调度的基本原理

目录第1章Linux进程概述1.1什么是进程1.2进程简单的状态迁移1.3进程复杂状态迁移1.4引起进程状态转换的具体原因如下:1.5进程的地址空间1.6用户空间如何创建进程第2章调度器的基本工作原理2.1什么是进程调度器?2.2 为... 查看详情

linux内核---嵌入式linux内核的五个子系统

转自:https://blog.csdn.net/qq_27522735/article/details/63251168Linux内核主要由进程调度(SCHED)、内存管理(MM)、虚拟文件系统(VFS)、网络接口(NET)和进程间通信(IPC)5个子系统组成,如图1所示。 图1Linux内核的组成部分与关系&nb... 查看详情

linux内核源码如何学习?

1.学习主线linux内核源码大而全,一个人,即使再聪明、再有精力,也不可能完全看完、看懂所有的linux内核源码。一口君建议按照以下主线进行深入研究:linux驱动架构linux网络子系统linux内核启动过程linux内存管理机制linux调度... 查看详情

linux内核—进程调度时机(代码片段)

...的分类主动调度周期调度唤醒进程时抢占创建进程时抢占内核抢占调度时机的分类   主动调度   周期调度   唤醒进程的时候   创建进程的时候主动调度   进程在用户模式下运行,无法直接调用schedule(),只能通过系... 查看详情

linux用户抢占和内核抢占详解(概念,实现和触发时机)--linux进程的管理与调度(二十)(代码片段)

1非抢占式和可抢占式内核为了简化问题,我使用嵌入式实时系统uC/OS作为例子首先要指出的是,uC/OS只有内核态,没有用户态,这和Linux不一样多任务系统中,内核负责管理各个任务,或者说为每个任务分配CPU时间,并且负责任务之... 查看详情

linux查看包含的头文件源文件

linux下的内核头文件放在/usr/include/linux/和/usr/include/sys/linux目录树:scripts目录该目录中不包含任何核心代码,该目录下存放了用来配置内核的脚本和应用程序源码。lib目录该目录主要包含两部分内容:gnuzip解压缩算法,用于在系... 查看详情

[架构之路-28]:目标系统-系统软件-linuxos内核功能架构图解内核构建内核启动流程(代码片段)

...6Linux操作系统的特点与好处1.7 Linux系统工具链完整1.8Linux内核第2章Linux内核为应用程序提供哪些服务2.1Linux系统进程地址空间2.2POSIX接口2.3应用程序的内存操作2.3 内核控制2.4用户管理2.5进程管理2.6本地文件操作2.7获取内存信息2.8... 查看详情

[架构之路-28]:目标系统-系统软件-linuxos内核功能架构图解内核构建内核启动流程(代码片段)

...6Linux操作系统的特点与好处1.7 Linux系统工具链完整1.8Linux内核第2章Linux内核为应用程序提供哪些服务2.1Linux系统进程地址空间2.2POSIX接口2.3应用程序的内存操作2.3 内核控制2.4用户管理2.5进程管理2.6本地文件操作2.7获取内存信息2.8... 查看详情

深入理解linux内核之主调度器(下)

4.进程上下文切换接前文:深入理解Linux内核之主调度器(上)前面选择了一个合适进程作为下一个进程,接下来做重要的上下文切换动作,来保存上一个进程的“上下文”恢复下一个进程的“上下文”,... 查看详情