3 repositorios
Suspending a process for a specific duration to allow other tasks to run.
Distinct from Execution Pausing: Distinct from generic execution pausing by focusing on clock-tick based CPU yielding.
Explore 3 awesome GitHub repositories matching software engineering & architecture · Process Sleeping. Refine with filters or upvote what's useful.
xv6 is a Unix-like educational operating system designed for teaching kernel concepts. It is implemented as an instructional kernel for x86 and RISC-V architectures, featuring a virtual memory manager and support for symmetric multiprocessing. The system is designed to demonstrate core OS principles through a simplified re-implementation of Unix Version 6. It provides a controlled environment for studying system calls, trap handling, and process lifecycles. Its capability surface covers process management, including scheduling and context switching, and memory management via page tables for
Provides the ability to suspend processes for specified clock ticks to yield CPU time.
The Linux Kernel Module Programming Guide is an educational resource that teaches how to write, compile, and manage loadable kernel modules for modern Linux kernels. It covers the complete lifecycle of kernel modules, from building and loading to unloading and debugging, with a focus on extending kernel functionality without recompiling the entire kernel. The guide provides comprehensive coverage of core kernel programming concepts including dynamic module loading, file-operation registration, interrupt handling, kernel-user data copying, concurrency control, and deferred task scheduling. It
Teaches condition-based process sleeping using waitevent and wakeup primitives.
Este proyecto es una colección de sistemas operativos mínimos, cargadores de arranque (bootloaders) y controladores de hardware utilizados para demostrar la programación de sistemas x86 de bajo nivel y la interconexión de hardware. Sirve como un kit de herramientas de desarrollo de kernel y un laboratorio de programación de sistemas diseñado para probar conceptos de arquitectura y comportamiento del hardware dentro de un emulador de sistema. El repositorio proporciona implementaciones de referencia para crear imágenes de disco arrancables y cargar etapas de kernel. Incluye guías para implementar transiciones de modo protegido, paginación de memoria, tablas de descriptores de interrupción y multiprocesamiento simétrico en hardware x86. La base de código cubre una amplia gama de primitivas de sistema, incluyendo mapeo de memoria virtual, manejo de interrupciones de hardware y detección de memoria física. También contiene controladores bare-metal para el altavoz de PC, teclado PS/2, puertos serie y búferes de texto VGA. El proyecto incluye una cadena de herramientas binarias crudas para compilar código fuente de ensamblador en imágenes para ejecución directa en hardware y admite pruebas mediante emulación de hardware y depuración remota.
Provides a system sleep delay by interfacing with the hardware timer's clock ticks.