Linux程序管理與排程

2021-08-17 08:36:56 字數 3893 閱讀 3581

核心版本

架構作者

github

csdn

2016-07-21

linux-4.6

x86 & arm

gatieme

linuxdevicedrivers

linux程序管理與排程

專案描述

kernelinkernel

乙個執行在linux上的小巧核心, 修改了linux-kernel的start_kernel以啟動我們自己的核心, 基於jserv/kernel-in-kernel(基於linux-4.1.0)和mengning/mykernel(基於linux-3.9.4), 適合學習和研究排程演算法

linux程序管理與排程

csdn部落格–linux程序管理與排程

ldd-linuxdevicedrivers

與csdn部落格同步更新, 但是除了包含部落格的內容, 還包含了一些以驅動方式實現的實驗**

csdn

github

linux程序描述符task_struct結構體詳解–linux程序的管理與排程(一)

study/kernel/01-process/01-task/01-task_struct

linux的命名空間詳解–linux程序的管理與排程(二)

study/kernel/01-process/01-task/02-namespace

linux程序id號–linux程序的管理與排程(三)

study/kernel/01-process/01-task/03-pid

csdn

github

linux下的程序類別(核心執行緒、輕量級程序和使用者程序)以及其建立方式–linux程序的管理與排程(四)

study/kernel/01-process/02-create/01-duplicate

linux下0號程序的前世(init_task程序)今生(idle程序)—-linux程序的管理與排程(五)

study/kernel/01-process/02-create/02-idel

linux下1號程序的前世(kernel_init)今生(init程序)—-linux程序的管理與排程(六)

study/kernel/01-process/02-create/03-init

linux下2號程序的kthreadd–linux程序的管理與排程(七)

study/kernel/01-process/02-create/04-kthreadd

linux下程序的建立過程分析(_do_fork/do_fork詳解)–linux程序的管理與排程(八)

study/kernel/01-process/02-create/05-do_fork

linux程序核心棧與thread_info結構詳解–linux程序的管理與排程(九)

study/kernel/01-process/02-create/06-thread_info

linux核心執行緒kernel thread詳解–linux程序的管理與排程(十)

study/kernel/01-process/02-create/07-kernel_thead

csdn

github

linux程序啟動過程分析do_execve(可執行程式的載入和執行)—linux程序的管理與排程(十一)

study/kernel/01-process/03-execute/01-do_execve

linuxelf檔案格式詳解–linux程序的管理與排程(十二)

study/kernel/01-process/03-execute/02-elf

elf檔案的載入過程(load_elf_binary函式詳解)–linux程序的管理與排程(十三)

study/kernel/01-process/03-execute/03-load_elf_binary

csdn

github

linux程序退出詳解(do_exit)–linux程序的管理與排程(十四))

study/kernel/01-process/04-exit/01-do_exit

csdn

github

linux程序排程器概述–linux程序的管理與排程(十五)

study/kernel/01-process/05-schedule/01-introduction

linux程序排程策略的發展和演變–linux程序的管理與排程(十六)

study/kernel/01-process/05-schedule/02-develop

linux程序排程器的設計–linux程序的管理與排程(十七)

study/kernel/01-process/05-schedule/03-design

linux核心排程器之週期性排程器scheduler_tick–linux程序的管理與排程(十八)

study/kernel/01-process/05-schedule/03-design/02-periodic_scheduler

linux程序核心排程器之主排程器–linux程序的管理與排程(十九)

study/kernel/01-process/05-schedule/03-design/03-main_scheduler

linux使用者搶占和核心搶占詳解(概念, 實現和觸發時機)–linux程序的管理與排程(二十)

study/kernel/01-process/05-schedule/03-design/04-preempt

linux程序上下文切換過程context_switch詳解–linux程序的管理與排程(二十一)

study/kernel/01-process/05-schedule/03-design/05-context_switch

linux程序優先順序的處理–linux程序的管理與排程(二十二)

study/kernel/01-process/05-schedule/03-design/06-priority

linux喚醒搶占—-linux程序的管理與排程(二十三)

study/kernel/01-process/05-schedule/03-design/07-wakeup

csdn

github

linux程序排程之cfs排程器概述–linux程序的管理與排程(二十四)

study/kernel/01-process/05-schedule/07-cfs/01-cfs/

linux cfs排程器之負荷權重load_weight–linux程序的管理與排程(二十五)

study/kernel/01-process/05-schedule/07-cfs/02-load_weight/

linux cfs排程器之虛擬時鐘vruntime與排程延遲–linux程序的管理與排程(二十六)

study/kernel/01-process/05-schedule/07-cfs/03-vruntime/

linux cfs排程器之佇列操作–linux程序的管理與排程(二十七)

study/kernel/01-process/05-schedule/07-cfs/04-queue/

linux cfs排程器之pick_next_task_fair選擇下乙個被排程的程序–linux程序的管理與排程(二十八)

study/kernel/01-process/05-schedule/07-cfs/05-pick_next/

linux cfs排程器之task_tick_fair處理週期性排程器–linux程序的管理與排程(二十九)

study/kernel/01-process/05-schedule/07-cfs/06-task_tick_fair/

linux cfs排程器之喚醒搶占–linux程序的管理與排程(三十)

study/kernel/01-process/05-schedule/07-cfs/07-task_new_fair/

linux程序管理與排程(一)

程序的管理與排程是所有作業系統的核心功能。從核心的角度來看,程序是核心分配資源 cpu,memory 的重要單元,是計算機用來管理這些資源的一種抽象。從本節開始,將對linux核心的程序管理與排程子系統進行分析,其中使用的核心版本是4.4。在linux核心中,每乙個程序唯一對應乙個struct ta...

記憶體管理與程序排程

一 記憶體管理 1 核心 使用alloc pages申請物理頁幀 使用kmalloc申請專用 通用記憶體塊 vmalloc申請物理不連續,邏輯相連記憶體 使用kmap建立高階位址對映 外碎片 空閒記憶體零散分布,無法滿足大記憶體需求 夥伴系統解決 內碎片 申請一塊記憶體真正使用的只有小部分 slab...

程序管理 程序排程

一 概念 1 處理機管理是作業系統的主要功能之一。處理機管理的實現策略決定了作業系統的型別,其演算法好壞直接影響整個系統的效能 2 程序排程 通過某種規則或演算法從就緒 等待 程序佇列中選出乙個程序投入執行 3 排程是乙個基本的作業系統功能。cpu排程是作業系統設計的核心問題 二 cpu排程程式 1...