FACTOID # 89: In Denmark, more than 50% of the tax collected is personal income tax. In the Netherlands, personal income tax makes up less than 15%.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS   

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Process management (computing)

Process management is an integral part of any modern day operating system (OS). The OS must allocate resources to processes, enable processes to share and exchange information, protect the resources of each process from other processes and enable synchronisation among processes. To meet these requirements, the OS must maintain a data structure for each process, which describes the state and resource ownership of that process, and which enables the OS to exert control over each process. An operating system (OS) is a software that manages computer resources and provides programmers with an interface used to access those resources. ... In computing, a process is an instance of a computer program that is being executed. ...

Contents

Multiprogramming

In many modern Operating Systems, there can be more than one instance of a program loaded in memory at the same time; for example, more than one user could be executing the same program, each user having separate copies of the program loaded into memory. With some programs, it is possible to have one copy loaded into memory, while several users have shared access to it so that they each can execute the same program-code. Such a program is said to be re-entrant. The processor at any instant can only be executing one instruction from one program but several processes can be sustained over a period of time by assigning each process to the processor at intervals while the remainder become temporarily inactive. A number of processes being executed over a period of time instead of at the same time is called concurrent execution. A multiprogramming or multitasking OS is a system executing many processes concurrently. Multiprogramming requires that the processor be allocated to each process for a period of time and de-allocated at an appropriate moment. If the processor is de-allocated during the execution of a process, it must be done in such a way that it can be restarted later as easily as possible. There are two possible ways for an OS to regain control of the processor during a program’s execution in order for the OS to perform de-allocation or allocation: Program or Programme may refer to: Computer program Radio programming Television program(me), Webcast Program (management) 12-step program Program (The Animatrix), a short film in The Animatrix series Event programme British tabloid form of comic book, called prog in short. ... A computer program or routine is described as reentrant if it is designed in such a way that a single copy of the programs instructions in memory can be shared by multiple users or separate processes. ... Processor can mean: A central processing unit of a computer. ... In computing, multitasking is a method by which multiple tasks, also known as processes, share common processing resources such as a CPU. In the case of a computer with a single CPU, only one task is said to be running at any point in time, meaning that the CPU is... Multitasking may refer to any of the following: Computer multitasking - the apparent simultaneous performance of two or more tasks by a computers central processing unit. ...

  1. The process issues a system call, (sometimes called a software interrupt); for example, an I/O request occurs requesting to access a file on hard disk.
  2. A hardware interrupt occurs; for example, a key was pressed on the keyboard.

The stopping of one process and starting (or restarting) of another process is called a context switch or context change. In many modern Operating Systems, processes can consist of many sub-processes. This introduces the concept of a thread. A thread may be viewed as a sub-process; that is, a separate, independent sequence of execution within the code of one process. Threads are becoming increasingly important in the design of distributed and client-server systems and in software run on multi-processor systems. In computing, a system call is the mechanism used by an application program to request service from the operating system. ... A context switch is the computing process of storing and restoring the state (context) of a CPU such that multiple processes can share a single CPU resource. ...


How multiprogramming increases efficiency

A common trait observed among processes associated with most computer programs, is that they alternate between CPU cycles and I/O cycles. For the portion of the time required for CPU cycles, the process is being executed; i.e. is occupying the CPU. During the time required for I/O cycles, the process is not using the processor. Instead, it is either waiting to perform Input/Output, or is actually performing Input/Output. An example of this is the reading from or writing to a file on disk. Prior to the advent of multiprogramming, computers operated as single-user systems. Users of such systems quickly became aware that for much of the time that a computer was allocated to a single user, the processor was idle; when the user was entering information or debugging programs for example. Computer scientists observed that overall performance of the machine could be improved by letting a different process use the processor whenever one process was waiting for input/output. In a uni-programming system, if N users were to execute programs with individual execution times of: t1, t2,..., tN, then the total time, tuni, to service the N processes (consecutively) of all N users would be:
tuni= t1+ t2+…+ tN.
However, because each process contains both CPU cycles and I/O cycles, the time which each process actually uses the CPU is a very small fraction of the total execution time for the process. So, for process, i:
ti (processor)≪ti (execution)
where
ti(processor) is the time process i spends using the CPU, and ti(execution) is the total execution time for the process; i.e. the time for CPU cycles plus I/O cycles to be carried out (executed) until completion of the process. In fact, usually the sum of all the processor time, used by N processes, rarely exceeds a small fraction of the time to execute any one of the processes; CPU can stand for: in computing: Central processing unit in journalism: Commonwealth Press Union in law enforcement: Crime prevention unit in software: Critical patch update, a type of software patch distributed by Oracle Corporation in Macleans College is often known as Ash Lim. ... This article is about the computer interface. ... In computing, multitasking is a method by which multiple tasks, also known as processes, share common processing resources such as a CPU. In the case of a computer with a single CPU, only one task is said to be running at any point in time, meaning that the CPU is... The tower of a personal computer. ... Computer science (informally: CS or compsci) is, in its most general sense, the study of computation and information processing, both in hardware and in software. ...


sum_{i=1}^{N} t{_i {_{(processor)}}} < t{_i {_{(execution)}}}



Therefore, in uni-programming systems, the processor lay idle for a considerable proportion of the time. To overcome this inefficiency, multiprogramming is now implemented in modern operating systems such as Linux, UNIX and Microsoft Windows. This enables the processor to switch from one process, X, to another, Y, whenever X is involved in the I/O phase of its execution. Since the processing time is much less than a single job's runtime, the total time to service all N users with a multiprogramming system can be reduced to approximately: Tmulti=maximum(t1 ,t2 ,⋯,tN) This article is about operating systems that use the Linux kernel. ... Filiation of Unix and Unix-like systems Unix (officially trademarked as UNIX®, sometimes also written as or ® with small caps) is a computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs including Ken Thompson, Dennis Ritchie and Douglas McIlroy. ... Windows redirects here. ...


Process creation

When a new process is to be added to those currently being managed, the OS builds a data structure called a Process control block (PCB) which is used to keep track of the process and the memory address space allocated to the process. These actions constitute the creation of a new process. Four common events can lead to the creation of a process: Illustration of a physical process: a geyser in action. Process (lat. ... A Process Control Block (PCB, also called Task Control Block or Task Struct) is a data structure in the operating system kernel containing the information needed to manage a particular process. ...

  • New batch job.
  • Interactive logon
  • Created by OS.
  • Spawned by existing processes, e.g. parent/child.

Process termination

There are many reasons for process termination:

  • Batch job issues halt instruction
  • User logs off
  • Process executes a service request to terminate
  • Error and fault conditions
  • Normal completion
  • Time limit exceeded
  • Memory unavailable
  • Bounds violation; for example: attempted access of (non-existent) 11th element of a 10-element array
  • Protection error; for example: attempted write to read-only file
  • Arithmetic error; for example: attempted division by zero
  • Time overrun; for example: process waited longer than a specified maximum for an event
  • I/O failure
  • Invalid instruction; for example: when a process tries to execute data (text)
  • Privileged instruction
  • Data misuse
  • Operating system intervention; for example: to resolve a deadlock
  • Parent terminates so child processes terminate (cascading termination)
  • Parent request

Illustration of a physical process: a geyser in action. Process (lat. ... Arithmetic tables for children, Lausanne, 1835 Arithmetic or arithmetics (from the Greek word αριθμός = number) is the oldest and most elementary branch of mathematics, used by almost everyone, for tasks ranging from simple day-to-day counting to advanced science and business calculations. ... This article is about the computer interface. ... For other uses, see Data (disambiguation). ... An operating system (OS) is a software that manages computer resources and provides programmers with an interface used to access those resources. ...

Two-state process management model

The Operating System’s principal responsibility is in controlling the execution of processes. This includes determining the interleaving pattern for execution and allocation of resources to processes. The first step in designing an OS (a program to control processes) is to describe the behaviour that we would like each process to exhibit. The simplest model is based on the fact that a process is either being executed by a processor or it is not. Thus, a process may be considered to be in one of two states, RUNNING or NOT RUNNING. When the operating system creates a new process, that process is initially labeled as NOT RUNNING, and is placed into a queue in the system in the NOT RUNNING state. The process (or some portion of it) then exists in main memory, and it waits in the queue for an opportunity to be executed. After some period of time, the currently RUNNING process will be interrupted, and moved from the RUNNING state to the NOT RUNNING state, making the processor available for a different process. The dispatch portion of the OS will then select, from the queue of NOT RUNNING processes, one of the waiting processes to transfer to the processor. The chosen process is then relabeled from a NOT RUNNING state to a RUNNING state, and its execution is either begun if it is a new process, or is resumed if it is a process which was interrupted at an earlier time. An operating system (OS) is a software that manages computer resources and provides programmers with an interface used to access those resources. ... In computing, a process is, roughly speaking, a task being run by a computer, often simultaneously with many other tasks. ... Look up OS, Os, os in Wiktionary, the free dictionary. ... Illustration of a physical process: a geyser in action. Process (lat. ... Primary storage is a category of computer storage, often called main memory. ...


From this model we can identify some design elements of the OS:

  • The need to represent, and keep track of each process.
  • The state of a process.
  • The queuing of NON RUNNING processes

Three-state process management model.

Although the Two-State Process Management Model is a perfectly valid design for an operating system, the absence of a BLOCKED state means that the processor lies idle when the active process changes from CPU cycles to I/O cycles. This design does not make efficient use of the processor. The Three-State Process Management Model is designed to overcome this problem, by introducing a new state called the BLOCKED state. This state describes any process which is waiting for an I/O event to take place. In this case, an I/O event can mean the use of some device or a signal from another process. The three states in this model are:
Processor can mean: A central processing unit of a computer. ... Illustration of a physical process: a geyser in action. Process (lat. ... This article is about the computer interface. ... This article is about the computer interface. ...

  • RUNNING: The process that is currently being executed.
  • READY: A process that is queuing and prepared to execute when given the opportunity.
  • BLOCKED: A process that cannot execute until some event occurs, such as the completion of an I/O operation. At any instant, a process is in one and only one of the three states. For a single processor computer, only one process can be in the RUNNING state at any one instant. There can be many processes in the READY and BLOCKED states, and each of these states will have an associated queue for processes.

Processes entering the system must go initially into the READY state, processes can only enter the RUNNING state via the READY state. Processes normally leave the system from the RUNNING state. For each of the three states, the process occupies space in main memory. While the reason for most transitions from one state to another might be obvious, some may not be so clear.

  • RUNNING-READY

The most common reason for this transition is that the running process has reached the maximum allowable time for uninterrupted execution; i.e. time-out occurs. Other reasons can be the imposition of priority levels as determined by the scheduling policy used for the Low Level Scheduler, and the arrival of a higher priority process into the READY state.
For disk scheduling, see I/O scheduling. ... Scheduler can refer to many things: A person working in broadcasting, who is scheduling the content of a radio or television channel. ...

  • RUNNING-BLOCKED

A process is put into the BLOCKED state if it requests something for which it must wait. A request to the OS is usually in the form of a system call, (i.e. a call from the running process to a function that is part of the OS code). For example, requesting a file from disk or a saving a section of code or data from memory to a file on disk.


Five-state process management model

While the three state model is sufficient to describe the behavior of processes with the given events, we have to extend the model to allow for other possible events, and for more sophisticated design. In particular, the use of a portion of the hard disk to emulate main memory (so called virtual memory) requires additional states to describe the state of processes which are suspended from main memory, and placed in virtual memory (on disk). Of course, such processes can, at a future time, be resumed by being transferred back into main memory. The Medium Level Scheduler controls these events. A process can be suspended from the RUNNING, READY or BLOCKED state, giving rise to two other states, namely, READY SUSPEND and BLOCKED SUSPEND. That a RUNNING process that is suspended becomes READY SUSPEND, and a BLOCKED process that is suspended becomes BLOCKED SUSPEND. A process can be suspended for a number of reasons; the most significant of which arises from the process being swapped out of memory by the memory management system in order to free memory for other processes. Other common reasons for a process being suspended are when one suspends execution while debugging a program, or when the system is monitoring processes. For the Five-State Process Management Model, consider the following transitions described in the next sections. In computing, a process is, roughly speaking, a task being run by a computer, often simultaneously with many other tasks. ... Scheduler can refer to many things: A person working in broadcasting, who is scheduling the content of a radio or television channel. ...

  • BLOCKED-BLOCKED SUSPEND If a process in the RUNNING state requires more memory, then at least one BLOCKED process can be swapped out of memory onto disk. The transition can also be made for the BLOCKED process if there are READY processes available, and the OS determines that the READY process that it would like to dispatch requires more main memory to maintain adequate performance.
  • BLOCKED SUSPEND-READY SUSPEND A process in the BLOCKED SUSPEND state is moved to the READY SUSPEND state when the event for which it has been waiting occurs. Note that this requires that the state information concerning suspended processes be accessible to the OS.
  • READY SUSPEND-READY When there are no READY processes in main memory, the OS will need to bring one in to continue execution. In addition, it might be the case that a process in the READY SUSPEND state has higher priority than any of the processes in the READY state. In that case, the OS designer may dictate that it is more important to get at the higher priority process than to minimise swapping.
  • READY-READY SUSPEND Normally, the OS would be designed so that the preference would be to suspend a BLOCKED process rather than a READY one. This is because the READY process can be executed as soon as the CPU becomes available for it, whereas the BLOCKED process is taking up main memory space and cannot be executed since it is waiting on some other event to occur. However, it may be necessary to suspend a READY process if that is the only way to free a sufficiently large block of main memory. Finally, the OS may choose to suspend a lower-priority READY process rather than a higher-priority BLOCKED process if it believes that the BLOCKED process will be ready soon.

CPU can stand for: in computing: Central processing unit in journalism: Commonwealth Press Union in law enforcement: Crime prevention unit in software: Critical patch update, a type of software patch distributed by Oracle Corporation in Macleans College is often known as Ash Lim. ...

Process description and control

Each process in the system is represented by a data structure called a Process Control Block (PCB), or Process Descriptor in Linux, which performs the same function as a traveller's passport. The PCB contains the basic information about the job including: Illustration of a physical process: a geyser in action. Process (lat. ... A Process Control Block (PCB, also called Task Control Block or Task Struct) is a data structure in the operating system kernel containing the information needed to manage a particular process. ... This article is about operating systems that use the Linux kernel. ...

  • What it is
  • Where it is going
  • How much of its processing has been completed
  • Where it is stored
  • How much it has “spent” in using resources

Process Identification: Each process is uniquely identified by the user’s identification and a pointer connecting it to its descriptor.
Process Status: This indicates the current status of the process; READY, RUNNING, BLOCKED, READY SUSPEND, BLOCKED SUSPEND.
Process State: This contains all of the information needed to indicate the current state of the job. Accounting: This contains information used mainly for billing purposes and for performance measurement. It indicates what kind of resources the process has used and for how long. Illustration of a physical process: a geyser in action. Process (lat. ...


Processor modes

Contemporary processors incorporate a mode bit to define the execution capability of a program in the processor. This bit can be set to kernel mode or user mode. The kernel mode is also commonly referred to as supervisor mode, protected mode or monitor mode. In kernel mode, the processor can execute every instruction in its hardware repertoire, whereas in user mode, it can only execute a subset of the instructions. Instructions that can be executed only in kernel mode are called kernel, privileged or protected instructions to distinguish them from the user mode instructions. For example, I/O instructions are privileged instructions. So, if an application program executes in user mode, it cannot perform its own I/O. Instead, it must request the OS to perform I/O on its behalf. The system may logically extend the mode bit to define areas of memory to be used when the processor is in kernel mode versus user mode. If the mode bit is set to kernel mode, the process executing in the processor can access either the kernel or user partition of the memory. However, if user mode is set, the process can reference only the user memory space. We frequently refer to two classes of memory user space and system space (or kernel, supervisor or protected space). In general, the mode bit extends the operating system's protection rights. The mode bit is set by the user mode trap instruction, also called a supervisor call instruction. This instruction sets the mode bit, and branches to a fixed location in the system space. Since only system code is loaded in the system space, only system code can be invoked via a trap. When the OS has completed the supervisor call, it resets the mode bit to user mode prior to the return. A CPU The processor sub-system of a data processing system processes received information after it has been encoded into data by the input sub-system. ... In processors with memory protection, kernel mode (as opposed to user mode) is the mode in which the operating system kernel runs. ... User mode refers to two similar concepts in computer architecture. ... In computer terms, supervisor mode is a hardware-mediated flag which can be changed by code running in system-level software. ... Protected mode is an operational mode of x86-compatible CPUs of the 80286 series or later. ... Monitor mode aka rfmon mode is similar to promiscuous mode. ... This article is about the computer interface. ... Application has the following meanings: In general, an application is using something abstract for a more concrete use. ... This article is about the computer interface. ... Look up OS, Os, os in Wiktionary, the free dictionary. ... This article is about the computer interface. ...


The kernel concept

The parts of the OS critical to its correct operation execute in kernel mode, while other software (such as generic system software) and all application programs execute in user mode. This fundamental distinction is usually the irrefutable distinction between the operating system and other system software. The part of the system executing in kernel supervisor state is called the kernel, or nucleus, of the operating system. The kernel operates as trusted software, meaning that when it was designed and implemented, it was intended to implement protection mechanisms that could not be covertly changed through the actions of untrusted software executing in user space. Extensions to the OS execute in user mode, so the OS does not rely on the correctness of those parts of the system software for correct operation of the OS. Hence, a fundamental design decision for any function to be incorporated into the OS is whether it needs to be implemented in the kernel. If it is implemented in the kernel, it will execute in kernel (supervisor) space, and have access to other parts of the kernel. It will also be trusted software by the other parts of the kernel. If the function is implemented to execute in user mode, it will have no access to kernel data structures. However, the advantage is that it will normally require very limited effort to invoke the function. While kernel-implemented functions may be easy to implemented, the trap mechanism and authentication at the time of the call are usually relatively expensive. The kernel code runs fast, but there is a large performance overhead in the actual call. This is a subtle, but important point. Look up OS, Os, os in Wiktionary, the free dictionary. ... In processors with memory protection, kernel mode (as opposed to user mode) is the mode in which the operating system kernel runs. ... Computer software (or simply software) refers to one or more computer programs and data held in the storage of a computer for some purpose. ... User mode refers to two similar concepts in computer architecture. ... System software is a generic term referring to any computer software which manages and controls the hardware so that application software can perform a task. ... Look up Kernel in Wiktionary, the free dictionary. ... An operating system (OS) is a software that manages computer resources and provides programmers with an interface used to access those resources. ... Look up Kernel in Wiktionary, the free dictionary. ... Computer software (or simply software) refers to one or more computer programs and data held in the storage of a computer for some purpose. ... User mode refers to two similar concepts in computer architecture. ... Look up Kernel in Wiktionary, the free dictionary. ... Look up Kernel in Wiktionary, the free dictionary. ... Look up Kernel in Wiktionary, the free dictionary. ... Look up Kernel in Wiktionary, the free dictionary. ... Computer software (or simply software) refers to one or more computer programs and data held in the storage of a computer for some purpose. ... Look up Kernel in Wiktionary, the free dictionary. ... User mode refers to two similar concepts in computer architecture. ...


Requesting system services

There are two techniques by which a program executing in user mode can request the kernel's services:

Operating systems are designed with one or the other of these two facilities, but not both. First, assume that a user process wishes to invoke a particular target system functions. For the system call approach, the user process uses the trap instruction. The idea is that the system call should appear to be an ordinary procedure call to the application program; the OS provides a library of user functions with names corresponding to each actual system call. Each of these stub functions contains a trap to the OS function. When the application program calls the stub, it executes the trap instruction, which switches the CPU to kernel mode, and then branches, (indirectly through an OS table) to the entry point of the function which is to be invoked. When the function completes, it switches the processor to user mode and then returns control to the user process; thus simulating a normal procedure return. In the message passing approach, the user process constructs a message, that describes the desired service. Then it uses a trusted send function to pass the message to a trusted OS process. The send function serves the same purpose as the trap; that is, it carefully checks the message, switches the processor to kernel mode, and then delivers the message to a process that implements the target functions. Meanwhile, the user process waits for the result of the service request with a message receive operation. When the OS process completes the operation, it sends a message back to the user process. The distinction between the two approaches has important consequences regarding the relative independence of the OS behavior, from the application process behavior, and the resulting performance. As a rule of thumb, operating system based on a system call interface can be made more efficient than those requiring messages to be exchanged between distinct processes. This is the case, even though the system call must be implemented with a trap instruction; that is, even though the trap is relatively expensive to perform, it is more efficient than the message passing approach, where there are generally higher costs associated with process multiplexing, message formation and message copying. The system call approach has the interesting property that three is not necessarily any OS process. Instead, a process executing in user mode changes to kernel mode when it is executing kernel code, and switches back to user mode when it returns from the OS call. If, on the other hand, the OS is designed as a set of separate processes, it is usually easier to design it so that it gets control of the machine in special situations, than if the kernel is simply a collection of functions executed by users processes in kernel mode. Even procedure-based operating system usually find it necessary to include at least a few system processes (called daemons in UNIX)to handle situation whereby the machine is otherwise idle such as scheduling and handling the network. In computing, a system call is the mechanism used by an application program to request service from the operating system. ... In computer science, message passing is a form of communication used in concurrent programming, parallel programming, object-oriented programming, and interprocess communication. ... In computing, an operating system (OS) is the system software responsible for the direct control and management of hardware and basic system operations. ... In computing, a system call is the mechanism used by an application program to request service from the operating system. ... In computing, a system call is the mechanism used by an application program to request service from the operating system. ... Look up OS, Os, os in Wiktionary, the free dictionary. ... In computing, a system call is the mechanism used by an application program to request service from the operating system. ... Look up OS, Os, os in Wiktionary, the free dictionary. ... CPU can stand for: in computing: Central processing unit in journalism: Commonwealth Press Union in law enforcement: Crime prevention unit in software: Critical patch update, a type of software patch distributed by Oracle Corporation in Macleans College is often known as Ash Lim. ... In processors with memory protection, kernel mode (as opposed to user mode) is the mode in which the operating system kernel runs. ... User mode refers to two similar concepts in computer architecture. ... In computer science, message passing is a form of communication used in concurrent programming, parallel programming, object-oriented programming, and interprocess communication. ... Look up OS, Os, os in Wiktionary, the free dictionary. ... Illustration of a physical process: a geyser in action. Process (lat. ... Processor can mean: A central processing unit of a computer. ... In processors with memory protection, kernel mode (as opposed to user mode) is the mode in which the operating system kernel runs. ... Illustration of a physical process: a geyser in action. Process (lat. ... An operating system (OS) is a software that manages computer resources and provides programmers with an interface used to access those resources. ... In computing, a system call is the mechanism used by an application program to request service from the operating system. ... In computing, a system call is the mechanism used by an application program to request service from the operating system. ... In telecommunications, multiplexing (also muxing or MUXing) is the combining of two or more information channels onto a common transmission medium using hardware called a multiplexer or (MUX). ... User mode refers to two similar concepts in computer architecture. ... In processors with memory protection, kernel mode (as opposed to user mode) is the mode in which the operating system kernel runs. ... User mode refers to two similar concepts in computer architecture. ... Look up OS, Os, os in Wiktionary, the free dictionary. ... Look up OS, Os, os in Wiktionary, the free dictionary. ... Look up Kernel in Wiktionary, the free dictionary. ... In processors with memory protection, kernel mode (as opposed to user mode) is the mode in which the operating system kernel runs. ... The term Daemon has several meanings: Daemon (computer software) Daemon (His Dark Materials) in the Philip Pullman trilogy of novels His Dark Materials Daemon (mythology) Daemon (Warhammer) Daemon Sadi (SaDiablo) is a character in the Black Jewels Trilogy by Anne Bishop. ... Filiation of Unix and Unix-like systems Unix (officially trademarked as UNIX®, sometimes also written as or ® with small caps) is a computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs including Ken Thompson, Dennis Ritchie and Douglas McIlroy. ... For disk scheduling, see I/O scheduling. ...


Sources

  • Operating System incorporating Windows and UNIX, Colin Ritchie. ISBN: 0826464165
  • Operating Systems, William Stallings, Prentice Hall, (4th Edition, 2000)
  • Multiprogramming, Process Description and Control
  • Operating Systems – A Modern Perspective, Gary Nutt, Addison Wesley, (2nd Edition, 2001).
  • Process Management Models, Scheduling, UNIX System V Release 4:
  • Modern Operating Systems, Andrew Tannenbaum, Prentice Hall, (2nd Edition, 2001).
  • Operating System Concepts, Silberschatz, Galvin & Gagne, John Wiley & Sons, (6th Edition, 2003).

External links

An operating system (OS) is a software that manages computer resources and provides programmers with an interface used to access those resources. ... A kernel connects the application software to the hardware of a computer. ... Graphical overview of a microkernel A microkernel is a minimal computer operating system kernel providing only basic operating system services (system calls), while other services (commonly provided by kernels) are provided by user-space programs called servers. ... It has been suggested that Monolithic system be merged into this article or section. ... Graphical overview of a hybrid kernel Hybrid kernel is a kernel architecture based on combining aspects of microkernel and monolithic kernel architectures used in computer operating systems. ... In computer engineering the kernel is the core of an operating system. ... In computing, loadable kernel modules, or LKM, are object files that contain code to extend the running kernel, or so-called base kernel, of an operating system. ... In computer science, a nanokernel or picokernel is a very minimalist operating system kernel. ... A device driver, or software driver is a computer program allowing higher-level computer programs to interact with a computer hardware device. ... An operating system usually segregates the available system memory into kernel space and user space. ... The introduction to this article provides insufficient context for those unfamiliar with the subject matter. ... Process management is the ensemble of activities of planning and monitoring the performance of a process, especially in the sense of business process, often confused with reengineering. ... In computing, a process is an instance of a computer program that is being executed. ... In computing, multitasking is a method by which multiple tasks, also known as processes, share common processing resources such as a CPU. In the case of a computer with a single CPU, only one task is said to be running at any point in time, meaning that the CPU is... In computing, an interrupt is an asynchronous signal from hardware or software indicating the need for attention. ... Protected mode is an operational mode of x86-compatible CPUs of the 80286 series or later. ... In computer terms, supervisor mode is a hardware-mediated flag which can be changed by code running in system-level software. ... In computing, multitasking is a method by which multiple tasks, also known as processes, share common processing resources such as a CPU. In the case of a computer with a single CPU, only one task is said to be running at any point in time, meaning that the CPU is... For disk scheduling, see I/O scheduling. ... A context switch is the computing process of storing and restoring the state (context) of a CPU such that multiple processes can share a single CPU resource. ... In computing, cooperative multitasking (or non-preemptive multitasking) is a form of multitasking in which multiple tasks execute by voluntarily ceding control to other tasks at programmer-defined points within each task. ... Pre-emptive multitasking is a form of multitasking in which processes are not allowed to take an indefinitely long time to complete execution in the CPU. Each process, in turn, is granted a portion of CPU time (usually called a time slice, on the order of milliseconds). ... CPU modes (also called processor modes or privilege levels, and by other names) are operating modes for the central processing unit of some computers that place variable restrictions on the operations that can be performed by the CPU. Mode types At a minimum, any CPU with this type of architecture... Memory protection is a system that prevents one process from corrupting the memory of another process running on the same computer at the same time. ... Segmentation is one of the most common ways to achieve memory protection; another common one is paging. ... This article is about computer virtual memory. ... This 68451 MMU could be used with the Motorola 68010 MMU, short for memory management unit or sometimes called paged memory management unit as PMMU, is a class of computer hardware components responsible for handling memory accesses requested by the CPU. Among the functions of such devices are the translation... It has been suggested that Access violation be merged into this article or section. ... A General Protection Fault (GPF) in the Intel x86 and AMD x86-64 architectures is a fault (a type of an interrupt) which can encompass several cases, where protection mechanisms within the processor architecture are violated by any of the programs that is running, whether it be the kernel or... AmigaOS is the default native operating system of the Amiga personal computer. ... Windows redirects here. ... This article is about operating systems that use the Linux kernel. ... GNU (pronounced ) is a computer operating system composed entirely of free software. ... Filiation of Unix and Unix-like systems Unix (officially trademarked as UNIX®, sometimes also written as or ® with small caps) is a computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs including Ken Thompson, Dennis Ritchie and Douglas McIlroy. ... This article relates to both the original Classic Mac OS as well as Mac OS X, Apples more recent operating system. ... Microsofts disk operating system, MS-DOS, was Microsofts implementation of DOS, which was the first popular operating system for the IBM PC, and until recently, was widely used on the PC compatible platform. ... In computing, Bootstrapping refers to a process where a simple system activates another more complicated system that serves the same purpose. ... API redirects here. ... A virtual file system (VFS) or virtual filesystem switch is an abstraction layer on top of a more concrete file system. ... A computer network is an interconnected group of computers. ... GUI redirects here. ... The history of computer operating systems recapitulates to a degree, the recent history of computing. ... A hardware abstraction layer (HAL) is an abstraction layer, implemented in software, between the physical hardware of a computer and the software that runs on that computer. ...

  Results from FactBites:
 
  More results at FactBites »

 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your location
Your comments
Please enter the 5-letter protection code


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.