A simple definition of computer process management is the process by which the software platform, or operating system, allocates computer resources to application and operating system processes. For most applications, system processes are split into two distinct levels: the “kernel level processes” and the “system level processes”. The term “kernel level processes” refers to system protected processes employed for access to operating system only resources needed by kernel level programs. Processes on the user level are essentially system level processes that allocate computer resources to run user programs and applications. Operating system design objectives and intended operators determine process management routines. The Linux operating system employs the isolationist style thread approach (which is a model for process management where each process is independent of the operating system), giving these platforms the rock-solid performance for which they are known. In comparison, Microsoft Windows and the Apple MAC operating systems use a process and thread model which is inclusive and allows data and resource sharing between threads and processes, so as to provide integration that makes for a much friendlier user desktop experience.
Linux Process Management
To better accommodate the high-performance demands of organizations, UNIX based operating systems require every application to run independently, in memory spaces of separate processes. Each process includes three components: User Level Thread (ULT), which is a user-generated executing unit within the main process; the Lightweight Process (LWT), which is the kernel generated process tied to single kernel thread; and the Kernel Thread, which is the fundamental system entity dispatched to execute on a system processor.
Linux uses a similar approach, but does not differentiate between threads and processes. Rather, it leverages the concept of “Tasks” to refer to both equally. Tasks are the foundational workers within the Linux operating system, stepping through several states until complete or in the “Zombie” state. Several threads within each process map to a single kernel process, akin in likeness to a UNIX base LWP type map.
In the next post discover how Linux memory management design maximizes server platform performance. Contact us today for more information about how cloud based systems can benefit your organization.