Thursday, July 2, 2009

Operaring System Structures

-System Components

Operating Systems Process Management


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.


Main Memory Management


Memory management is the act of managing
computer memory. In its simpler forms, this involves providing ways to allocate portions of memory to programs at their request, and freeing it for reuse when no longer needed. The management of main memory is critical to the computer system.
Virtual memory systems separate the memory addresses used by a process from actual physical addresses, allowing separation of processes and increasing the effectively available amount of RAM using disk swapping. The quality of the virtual memory manager can have a big impact on overall system performance.
Garbage collection is the automated allocation, and deallocation of computer memory resources for a program. This is generally implemented at the programming language level and is in opposition to manual memory management, the explicit allocation and deallocation of computer memory resources.


File management


The Miller Column browser from GNUstep is a type of Navigational file manager.

file manager or file browser is a
computer program that provides a user interface to work with file systems. The most common operations used are create, open, edit, view, print, play, rename, move, copy, delete, attributes, properties, search/find, and permissions. Files are typically displayed in a hierarchy. Some file managers contain features inspired by web browsers, including forward and back navigational buttons.
Some file managers provide
network connectivity such as FTP, NFS, SMB or WebDAV. This is achieved either by allowing the user to browse for a server, connect to it and access the server's file system like a local file system, or by providing its own full client implementations for file server protocols.
I/O System Management

All I/O instructions are privileged instructions.• Must ensure that a user program could never gain control ofthe computer in monitor mode (i.e., a user program that, aspart of its execution, stores a new address in the interruptvector
Second 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.
A program which reads textual commands from the user or from a file and executes them. Some commands may be executed directly within the interpreter itself (e.g. setting variables or control constructs), others may cause it to load and execute other files.

No comments: