linux内核启动的优化

简介:

linux内核启动需要时间,并且需要很多的时间,这是逃避不了的,了解linuxbios的朋友可能知道,linuxbios作为bios和别的bios相比启动的特别快,因为它把硬件检测的任务交给了linux内核而不是bios,毕竟bios检测完了内核再检测是一种浪费,为了bios的性能,把工作推给内核是不负责任的行为吗?其实不是,实际上启动时最耗时的操作就是硬件检测和初始化,正是因为如此,linuxbios才把如此艰巨的任务避开,一并给了操作系统内核。

那么内核能把这些任务给谁呢?它必须自己解决之,因为它是基础。为了加快启动速度,linux设计者将硬件检测和初始化的任务交给了很多的内核线程,这样的话,一个内核线程在检测初始化一个硬件等待的时候就可以去检测初始化另一个硬件,一个并行进行,在多cpu机器上会更好。依照linux的传统,一切都是进程,最起码你得有这个意思想让任务成为进程,在内核初始化期间,内核维护了两个链表,一个是pending链表,一个是running链表,将要检测饼初始化的硬件相关的函数加入pending链表就不用管了,linux强大的进程调度机制会很好的处理诸多硬件初始化内核线程的执行,另外,在内核初始化完成以后,这些内核线程的机制接口将长期保留,一旦有繁琐的任务需要并发执行仍然可以用和硬件检测初始化的内核线程的方式来完成,这个机制十分灵活。

我有一点不解的是,为何不能用更加统一的工作队列来实现呢?难道工作队列的并行性不好吗?



 本文转自 dog250 51CTO博客,原文链接:http://blog.51cto.com/dog250/1273941

相关文章
|
16天前
|
关系型数据库 MySQL Unix
linux优化空间&完全卸载mysql——centos7.9
linux优化空间&完全卸载mysql——centos7.9
52 7
|
23天前
|
缓存 监控 关系型数据库
《Linux 简易速速上手小册》第10章: 性能监控与优化(2024 最新版)
《Linux 简易速速上手小册》第10章: 性能监控与优化(2024 最新版)
18 0
|
3月前
|
存储 Linux
Linux基础项目开发1:量产工具——改进优化(八)
Linux基础项目开发1:量产工具——改进优化(八)
36 0
Linux基础项目开发1:量产工具——改进优化(八)
|
4月前
|
Linux C语言
Linux内核学习(七):linux kernel内核启动(一):概述篇
Linux内核学习(七):linux kernel内核启动(一):概述篇
65 0
|
15天前
|
网络协议 算法 Linux
【Linux】深入探索:Linux网络调试、追踪与优化
【Linux】深入探索:Linux网络调试、追踪与优化
|
12天前
|
存储 负载均衡 网络协议
在Linux中优化系统性能的实用指南
【4月更文挑战第30天】本文是关于Linux系统性能优化的指南,涵盖硬件选择、系统及软件更新、调整Swap分区、内核参数优化、使用性能分析工具、文件系统优化、网络服务优化和定期维护等方面。通过这些方法,可提升系统响应速度,降低资源消耗,延长硬件寿命。注意,优化需根据具体系统和应用需求进行。
|
13天前
|
弹性计算 网络协议 Shell
自动优化Linux 内核参数
【4月更文挑战第29天】
8 1
|
13天前
|
存储 Oracle 关系型数据库
linux操作系统相关资源优化
【4月更文挑战第21天】基于操作系统的性能优化也是多方面的,主要是系统安装、系统内核参数、网络参数、文件系统等几个方面进行衡量
24 2
|
14天前
|
弹性计算 网络协议 Linux
自动优化 Linux 内核参数
【4月更文挑战第28天】
23 0
|
1月前
|
监控 Linux 应用服务中间件
linux php-fpm优化 php-fpm.conf 重要参数详解
linux php-fpm优化 php-fpm.conf 重要参数详解
12 0