Transferred from: http://blog.csdn.net/gatieme/article/details/51456569
Copyright NOTICE: This article for Bo Master original article && reprint please famous source @ http://blog.csdn.net/gatieme
Directory (?) [-]
- Project links
- Description of the process
- Creation of processes
- Loading and running of processes
- Exit of the process
- Scheduling of processes
- Schedule normal process-full Fair scheduler CFS
Date |
Kernel version |
Architecture |
author |
GitHub |
CSDN |
2016-07-21 |
Linux-4.6 |
X86 & Arm |
Gatieme |
Linuxdevicedrivers |
Linux process management and scheduling |
1 Project Links
Project |
Description |
Kernelinkernel |
A compact kernel running on Linux that modifies Linux-kernel's start_kernel to launch our own kernel, based on Jserv/kernel-in-kernel (linux-4.1.0 based) and mengning/ Mykernel (based on linux-3.9.4), suitable for learning and research scheduling algorithms |
Linux process management and scheduling |
CSDN blog –linux process management and scheduling |
Ldd-linuxdevicedrivers |
Synchronized with the CSDN blog, but in addition to the content of the blog, but also contains some of the experimental code implemented in a driven manner |
2 Description of the process
CSDN |
GitHub |
Linux Process Descriptor TASK_STRUCT structure detailed –linux process management and scheduling (i) |
Study/kernel/01-process/01-task/01-task_struct |
Linux namespace details management and scheduling of –linux process (II.) |
Study/kernel/01-process/01-task/02-namespace |
Linux Process ID number –linux process management and scheduling (iii) |
Study/kernel/01-process/01-task/03-pid |
3 creation of the process
CSDN |
GitHub |
Process categories under Linux (kernel threads, lightweight processes, and user processes) and how they are created –linux process management and scheduling (iv) |
Study/kernel/01-process/02-create/01-duplicate |
Linux under the No. 0 process of the past (Init_task process) This life (Idle process)--linux process management and scheduling (v) |
Study/kernel/01-process/02-create/02-idel |
Linux under Process 1th (Kernel_init) This life (init process)--linux process management and scheduling (vi) |
Study/kernel/01-process/02-create/03-init |
Management and scheduling of the Kthreadd–linux process in process 2nd under Linux (vii) |
Study/kernel/01-process/02-create/04-kthreadd |
Analysis of process creation process under Linux (_do_fork/do_fork detailed) –linux process management and scheduling (eight) |
Study/kernel/01-process/02-create/05-do_fork |
Linux process kernel stack and THREAD_INFO structure detailed –linux process management and scheduling (ix) |
Study/kernel/01-process/02-create/06-thread_info |
Linux kernel threads kernel thread details –linux process management and scheduling (10) |
Study/kernel/01-process/02-create/07-kernel_thead |
4 loading and running of the process
CSDN |
GitHub |
Linux process Start-up process Analysis Do_execve (executable program loading and running)-linux process management and scheduling (11) |
Study/kernel/01-process/03-execute/01-do_execve |
Linuxelf file format detailed –linux process management and scheduling (12) |
Study/kernel/01-process/03-execute/02-elf |
Elf file loading process (load_elf_binary function Details) –linux process management and scheduling (13) |
Study/kernel/01-process/03-execute/03-load_elf_binary |
5 exit of the process
CSDN |
GitHub |
Linux process exit detailed (DO_EXIT) –linux process management and scheduling (14)) |
Study/kernel/01-process/04-exit/01-do_exit |
6 Scheduling of processes
CSDN |
GitHub |
Linux Process Scheduler Overview –linux process management and scheduling (15) |
Study/kernel/01-process/05-schedule/01-introduction |
Development and evolution of Linux process scheduling strategy –linux process management and scheduling (16) |
Study/kernel/01-process/05-schedule/02-develop |
Linux Process Scheduler design –linux process management and scheduling (17) |
Study/kernel/01-process/05-schedule/03-design |
Management and scheduling of periodic scheduler Scheduler_tick–linux process for Linux Core Scheduler (18) |
Study/kernel/01-process/05-schedule/03-design/02-periodic_scheduler |
Management and scheduling of the –linux process of the main scheduler of Linux process Core Scheduler (19) |
Study/kernel/01-process/05-schedule/03-design/03-main_scheduler |
Linux user preemption and kernel preemption details (concept, implementation and trigger timing) –linux process management and scheduling (20) |
Study/kernel/01-process/05-schedule/03-design/04-preempt |
Linux process context Switching process Context_switch detailed –linux process management and scheduling (21) |
Study/kernel/01-process/05-schedule/03-design/05-context_switch |
Linux process priority processing –linux process management and scheduling (22) |
Study/kernel/01-process/05-schedule/03-design/06-priority |
Linux wake-up preemption--linux process management and scheduling (23) |
Study/kernel/01-process/05-schedule/03-design/07-wakeup |
7 scheduling normal process-full Fair scheduler CFS
CSDN |
GitHub |
CFS Scheduler for Linux process scheduling overview –linux process management and scheduling (24) |
study/kernel/01-process/05-schedule/07-cfs/01-cfs/ |
Load weight load_weight–linux process management and scheduling for Linux CFS Scheduler (25) |
study/kernel/01-process/05-schedule/07-cfs/02-load_weight/ |
Linux CFS Scheduler Virtual clock vruntime and scheduling delay –linux process management and scheduling (26) |
study/kernel/01-process/05-schedule/07-cfs/03-vruntime/ |
Linux CFS Scheduler Queue operation –linux Process management and scheduling (27) |
study/kernel/01-process/05-schedule/07-cfs/04-queue/ |
Linux CFS Scheduler Pick_next_task_fair Select the next scheduled process –linux process management and scheduling (28) |
study/kernel/01-process/05-schedule/07-cfs/05-pick_next/ |
Task_tick_fair of Linux CFS scheduler –linux process Management and scheduling of periodic scheduler (29) |
study/kernel/01-process/05-schedule/07-cfs/06-task_tick_fair/ |
Linux CFS Scheduler Wakeup preemption –linux process Management and scheduling (30) |
study/kernel/01-process/05-schedule/07-cfs/07-task_new_fair/ |
Linux process management and scheduling--Directory Navigation "Go"