Rss Feed

OPERATING SYSTEM STRUCTURE

SYSTEM COMPONENTS


Operating Systems Process management

- In operating systems, process is defined as “A program in execution” [10]. 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 information about all the current active processes. It is called process controller. Figure 2 shows the structure of a process controller [10], 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
- 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.
- 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
- A file is a collection of related information defined by its creator. Commonly, files represent programs (both source and object forms) and data.
- The operating system is responsible for the following activities in connections with file management:

> File creation and deletion.
> Directory creation and deletion.
> Support of primitives for manipulating files and directories.
> Mapping files onto secondary storage.
> File backup on stable (nonvolatile) storage media.
INPUT / OUTPUT SYSTEM MANAGEMENT
- The I/O system consists of:
> A buffer-caching system
> A general device-driver interface
> Drivers for specific hardware devices
Secondary Storage System
- Main memory (primary storage) is volatile and too small to accommodate all data and programs permanently, the computer system must provide secondary storage to back up main memory.
- Modern computer systems use disks as the principle on-line storage medium, for both programs and data.
- The operating system is responsible for the following activities in connection with disk management:
> Free space management
> Storage allocation
> Disk scheduling
Protection System
- 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

- Many commands are given to the operating system by control statements which deal with:

>process creation and management

>I/O handling
>secondary-storage management
>main-memory management
>file-system access
>protection
>networking










0 comments: