摘要:
多核调度 在单核系统中,调度器只需要考虑任务执行先后顺序的问题,在多核系统中,除了任务先后问题,调度器还需要考虑CPU分配问题。也就是说,在多核系统中,调度器还需要决定任务在哪个CPU上运行,需要尽量做到公平和整体性能最大化。一般来说,调度器可以被划分为以下几类: (1)全局类(Global):即一 阅读全文
摘要:
进程 一般定义是操作系统对一个正在运行的程序的一种抽象, 是运行资源的管理单位(虚拟内存空间,文件句柄,全局变量,信号等运行资源),是操作系统资源分配的最小单位。在linux系统下,无论是进程,还是线程,到了内核里面,我们统一都叫任务(Task),由一个统一的结构 task_struct 进行管理: 阅读全文
摘要:
抢占 早期的Linux核心是不可抢占的。它的调度方法是:一个进程可以通过schedule()函数自愿地启动一次调度。非自愿的强制性调度只能发生在每次从系统调用返回的前夕,以及每次从中断或异常处理返回到用户空间的前夕。但是,如果在系统空间发生中断或异常是不会引起调度的。这种方式使内核实现得以简化。但常 阅读全文
摘要:
导语:本文主要是讲Linux的调度系统, 由于全部内容太多,分三部分来讲,调度可以说是操作系统的灵魂,为了让CPU资源利用最大化,Linux设计了一套非常精细的调度系统,对大多数场景都进行了很多优化,系统扩展性强,我们可以根据业务模型和业务场景的特点,有针对性的去进行性能优化,在保证客户网络带宽前提 阅读全文
摘要:
01 前言 本文主要讲解什么是Linux内核,以及通过多张图片展示Linux内核的作用与功能,以便于读者能快速理解什么是Linux内核,能看懂Linux内核。拥有超过1300万行的代码,Linux内核是世界上最大的开源项目之一,但是内核是什么,它用于什么? 02 什么是内核 内核是与计算机硬件接口的 阅读全文