Linux系统 Linux调度器源码分析 代码分析根据3.10版本 通过对前面的学习我们知道Linux的调度分为两种 周期调度 完成周期性算法参数的更新和系统其它实际的检查 主调的 真正的调度过程 我们现在来看下主调的的代码框架。 入口 根《... 06月08日 Linux系统 发表评论 阅读全文
Linux系统 Linux文件系统学习:电梯算法deadline(15) 以下内容评论后可显示全文 隐藏的内容 --- Linux文件系统学习系列笔记 --- (原创笔记,转载请联系博主授权) Linux文件系统学习:整体框架图(1) Linu... 04月22日 5 阅读全文
Linux系统 Linux文件系统学习:电梯算法noop(14) static struct elevator_type elevator_noop = { .ops = { .elevator_merge_req_fn = noop_merged_r... 04月22日 2 阅读全文
Linux系统 Linux文件系统学习:电梯算法简介(13) 电梯简介 电梯调度算法主要适用于LINUX I/O磁盘请求调度。磁盘结构如下图所示,磁盘主要由盘面和磁头组成。 磁盘每次进读写请求时,需要给磁盘驱动器一个地址,磁盘驱动器根据给定地址计算出相应的扇区,... 04月22日 2 阅读全文
Linux系统 Linux文件系统学习:io的plug过程-queuelist的问题(12) 在前面的梳理中一直对queuelist有一个来源的疑问,今天结合noop的电梯调度算法进行一次梳理。 也是看了noop后,才回来思考的。 blk_qc_t generic_make_request(s... 04月21日 发表评论 阅读全文
Linux系统 Linux文件系统学习:io的plug过程-blk_init_queue(10) struct request_queue *blk_init_queue(request_fn_proc *rfn, spinlock_t *lock) { return blk_init_queue... 04月15日 发表评论 阅读全文
Linux系统 Linux文件系统学习:io的plug过程-request请求(9) 其实还是从上次的请求开始继续分析的, 从应用的角度来说,请求一个bio 最终会调到这里。make_request_fn 而从驱动的角度来说,我们说有两种: blk_init_queue blk_que... 04月15日 发表评论 阅读全文
Linux系统 Linux文件系统学习:io的plug过程-启动篇(8) include/linux/blkdev.h struct blk_plug { struct list_head list; /* requests */ struct list_head mq_l... 04月15日 发表评论 阅读全文
Linux系统 Linux文件系统学习:io的提交过程(7) 从pagecache到bio到requst 我们从read流程和write流程中都知道,最后都会到readpages或者writepages中来 我们就从readpage开始分析,write的基本上和... 03月23日 发表评论 阅读全文
Linux系统 Linux文件系统学习:io调度框架(6) 整体流程 细节展开 # Linux必备书籍推荐 《LINUX内核源代码情景分析(上册) 》毛德操,胡希明 >>>京东... 03月23日 发表评论 阅读全文