Thursday, July 2, 2009

OPERATING SYSTEM STRUCTURES

System Components


OPERATING SYSTEMS PROCESS MANAGEMENT


















In operating systems, process is defined as “A program in
execution” . Process can be considered as an entity that
consists of a number of elements, including: identifier,
state, priority, program counter, memory pointer, context
data, and I/O request. The above information about a
process is usually stored in a data structure, typically called
process block. Figure 1 shows a simplified process block
[10]. Because process management involves scheduling
(CPU scheduling, I/O scheduling, and so on), state
switching, and resource management, process block is one
of the most commonly accessed data type in operating
system. Its design directly affects the efficiency of the
operating system. As a result, in most operating systems,
there is a data object that contains info
rmation about all the
current active processes. It is called process controller.
Figure 2 shows the structure of a process controller ,
which is implemented as a linked-list of process blocks.


In order to achieve high efficiency, process controller is
usually implemented as a global variable that can be
accessed by both the kernel modules and nonkernel
modules. For example, any time a new process (task) is
created, the module that created this process should be able
to access the process controller to add this new process.
Therefore, process controller – the data object that controls
the current active process – is usually implemented as a
category-5 global variable. This means, both the kernel
modules and nonkernel modules can access process
controller to change its fields and these changes can affect
the uses of process controller in kernel modules.



MAIN MEMORY MANAGEMENT

Memory management is a tricky compromise between performance (access time) and quantity (available space). We always seek the maximum available memory space but we are rarely prepared to compromise on performance. Memory management must also perform the following functions:
-allow memory sharing (for a
multi-threaded system);
-allocate blocks of memory space for different tasks;
-protect the memory spaces used (e.g. prevent a user from changing a task performed by another user);
-optimise the quantity of available memory, specifically via
memory expansion systems.



FILE MANAGEMENT





















Also referred to as simply a file system or filesystem. The system that an operating system or program uses to organize and keep track of files. For example, a hierarchical file system is one that uses directories to organize files into a tree structure.
Although the operating system provides its own file management system, you can buy separate file management systems. These systems interact smoothly with the operating system but provide more
features, such as improved backup procedures and stricter file protection.





I/O SYSTEM MANAGEMENT

The I/O system consists of:

  • A buffer-caching system
  • A general device-driver interface
  • Drivers for specific hardware devices



SECONDARY STORAGE MANAGEMENT

Secondary storage management is a classical feature of database management systems. It is usually supported through a set of mechanisms. These include index management, data clustering, data buffering, access path selection and query optimization.
None of these is visible to the user: they are simply performance features. However, they are so critical in terms of performance that their absence will keep the system from performing some tasks (simply because they take too much time). The important point is that they be invisible. The application programmer should not have to write code to maintain indices, to allocate disk storage, or to move data between disk and main memory. Thus, there should be a clear independence between the logical and the physical level of the system.



PROTECTION SYSTEM

Protection refers to a mechanism for controlling access by programs, processes, or users to both system and user resources.

The protection mechanism must:

  • distinguish between authorized and unauthorized usage.
  • specify the controls to be imposed.
  • provide a means of enforcement.


COMMAND-INTERPRETER SYSTEM

A command interpreter is the part of a computer operating system that understands and executes commands that are entered interactively by a human being or from a program. In some operating systems, the command interpreter is called the shell.

No comments: