![]() ![]() ![]() The process cannot be replaced by another process, except when the former voluntary relinquish control of the CPU. The following assertions always hold true for a running process in Kernel Mode within Linux: CPU starts processing another kernel control path.Ī race condition (outcome of some computation depends on how two or more processes are scheduled) can occur not only when a user process is preempted by a higher priority process, but when a CPU interleaves a kernel control path.Ĥ.1 Non-preemptability of a Process in Kernel ModeĪccording to, the Linux kernel is not preemptive a higher-priority process cannot preempt a process running in Kernel Mode. When one of the following conditions occurs, the CPU does not execute a kernel control path sequentially:Īn interrupt occurs. A kernel control path can handle various situations: system calls, exceptions or interrupts. Kernel processes execute due to the following reasons :Ī process executing in User Mode caused some exception (i.e., divide by zero) Īn external device sent a signal to a Programmable Interrupt Controller using an IRQ, with a corresponding interrupt being enabled.Īccording to, a kernel control path is the sequence of instructions executed in Kernel Mode to handle a kernel request. In “The Linux/SMP Kernel”, Linux support of multiprocessor environment is described. At the end of this section, process synchronization on hardware level is considered. In “Linux Multiprocessor Architecture,” the SMP multiprocessor architecture is compared with other architectures. In “Synchronization Techniques,” different techniques to avoid race conditions are considered. In the “Kernel Control Path” section of this paper, problems that could occur during kernel control path interleaving are investigated. Its source code under GNU General Public License is available to the public and is downloadable via. In contrast with the Windows-based operating systems, Linux is not a commercial operating system. ![]() Modern versions of Linux are now available on other architectures such as Alpha, SPARC, Motorola MC680x0, PowerPC, and IBM System/390. This work was presented in 1997 as a Master’s thesis entitled “Linux, a Portable Operating System” by L. The presented work considers uniprocessor and multiprocessor environments supported by Linux.Īs part of his computer science project at the University of Helsinki (1991), Linus Torvalds developed Linux to serve as an operating system for IBM-compatible personal computers (based upon the Intel 80386 microprocessor). This survey paper introduces a kernel synchronization technique implemented by Linux, a very popular and relatively new Unix-like operating system. 4.2 Pentium dual-processing system, process synchronization on hardware level. ![]()
0 Comments
Leave a Reply.AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |