Giovanni Gherdovich The four kernel preemption flavors in Linux
Автор: SUSE Labs
Загружено: 2023-08-02
Просмотров: 376
When Linus Torvalds announced Linux 0.01 on comp.os.minix in 1991 his "hobby, nothing big or professional" operating system had
preemptive multitasking already. But it wasn't a preemptive kernel: user mode code could be preempted, but kernel code still needed to
run until completion. Today Linux supports four different flavors of kernel preemption; this talk is a tutorial at what they do and how they
differ. Here is their list in chronological order of implementation, together with the associated build-time config option:
no kernel preemption; CONFIG_PREEMPT_NONE (Sep 1991, Linux 0.01, Linus Torvalds)
full kernel preemption; CONFIG_PREEMPT (Feb 2002, Linux 2.5.4, Robert Love)
real-time patch, known as "PREEMPT_RT" (Mar 2005, initial release based on Linux 2.6.11, Ingo Molnár and Thomas Gleixner)
voluntary kernel preemption; CONFIG_PREEMPT_VOLUNTARY (Aug 2005, Linux 2.6.13, Ingo Molnár)
Since Linux v5.12 (Apr 2021) we have the boot-time parameter "preempt="; it can be set to either "none", "voluntary" or "full" so this choice
doesn't need to be made at compile time anymore (except for PREEMPT_RT, which is still a separate kernel).
Доступные форматы для скачивания:
Скачать видео mp4
-
Информация по загрузке: