ads

What is data structure?


A data structure is the organization of data in computers memory or in a file.

Some examples of data structures are: array, stack, queue, link list, binary tree, hash table, heap and graph. Data structures are often used to build databases. Typically, data structures are manipulated using various algorithms.

Based on the concept of Abstract Data Types (ADT), we define data structure by the following three components

  1. Operations: Specifications of external appearance of data structure
  2. Storage structures: Organizations of data implemented in lower-level data structures.
  3. Algorithms: Description on how to manipulate information in the storage structures to obtain the  results defined for operations.

You Might also view the following Related Posts

For more other Posts: Click Here

Basic Components of operating Systems.

The basic components of operating systems are.
a) Process Management:  
The operating System is responsible for the following activities in connection with process management.
· Process creation and deletion 
· Process suspension and resumption 
· Provision mechanisms for process synchronization and process communication

b) Main-Memory management  
The operating system is responsible for the following activities in connection with memory management. 
· Keep track of which parts of memory and currently being used by whom 
· Decide which process to load when memory space becomes available. 
· Allocate and De-allocate memory space as needed.

c) Secondary-Storage management  
The operating system is responsible for the following activities in connection with disk management. 
· Free space management 
· Storage allocation 
· Disk scheduling

d) I/O system Management 
The I/O system management consists of 
· A buffer-caching system 
· A general device-driver interface 
· Drivers for specific hardware devices

e) File Management 
The operating system is responsible for the following activities in connection with file management. 
· File creation and deletion 
· Directory creation & deletion 
· Support of primitives for manipulating files and directories 
· Mapping files onto secondary storage 
· File backup on stable (non volatile) storage media.

f) 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

g) Networking (Distributed System)

A distributed system is collection of processors that do not share memory or a clock. Each processor has its own local memory. The processors in the system are connected through a communication network. A distributed system provides user access to various system resources. Access to a shared resource allows. 
· Computation speed-up 
· Increased data availability 
· Enhanced reliability

h) 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 
The program that reads and interprets control statements called variously 
· Control-card interpreter 
· Command-line interpreter 
· Shell(in UNIX)

You Might also view the following Related Posts

For more other Posts: Click Here

Functions of operating system



The main functions of operating system are listed below


  • Implementing the user interface. 
  • Sharing hardware among users. 
  • Allowing users to share data among themselves. 
  • Preventing users from interfering with one another. 
  • Scheduling resources among users. 
  • Facilitating input/output. 
  • Recovering from errors. 
  • Accounting for resource usage. 
  • Facilitating parallel operations. 
  • Organizing data for secure and rapid access. 
  • Handling network communications. 
  • Interpretation of commands and instructions. 
  • Establishment and enforcement of priority system. 
  • Automatic transition from job to job as directed by special control statements. 
  • Assignment of processor to different tasks being performed by computer system. 
  • Allocation of main memory and other storage areas to the system programs.


You Might also view the following Related Posts



For more other Posts: Click Here

Development stages in operating Systems

Operating systems have developed through a number of distinct phases or generations, which corresponds roughly to the decades. Which are described below.

i. The 1940’s first generations

The earliest electronic digital computers had no operating systems. Machines of the time were so primitive that programs were often entered one bit at time on rows of mechanical switches. Programming languages were unknown (not even assembly languages). Operating systems were unheard of.

ii. The 1950’s second generations

By the early 1950’s, the routine had improved somewhat with the introduction of punch cards. The general motors’ research laboratories implemented the first operating system in early 1950’s for their IBM701. The system of 50’s generally ran one job at a time. These were called single-stream batch processing systems because programs and data were submitted in groups or batches.

iii. The 1960's Third Generation.

The Systems of the 1960's were batch processing system but they were able to take better advantage of the computer resources by running several jobs at once. So operating system designers developed the concept of multiprogramming in which several jobs are in main memory at once, a processor is switched from job to job as needed to keep several jobs advancing while keeping the peripheral devices in used.

For example, on the system with no multiprogramming, when the current job paused to wait for other I/O operation to complete, the CPU simply sat idle until the I/O finished. The solution for this problem that evolved was to partition memory into several pieces, with a different job in each partition. While one job was waiting for I/O to complete, another job could be using the CPU.

Another major feature in third generation operating system was the technique called spooling. In spooling, a high-speed device like a disk interposed between a running program and low-speed device involved with the program in Input/output. Instead of writing directly to a printer, for example outputs are written to the disk. Programs can run to completion faster, and other programs can be initiated sooner when the printer becomes available, the outputs may be printed.

Another feature present in this generation was time-sharing technique, in which each user has an on-line terminal. Because the user is present and interacting with the computer, the computer system must respond quickly to the user requests, otherwise user productivity could suffer. Time searing systems were developed to multiprogramming large number of simultaneous interactive users.

iv. Fourth Generation

With the development of LSI (Large Scale Integration) circuit, chips, operating system entered in the personal computer and the workstation age. Microprocessor technology evolved to the point that it became possible to build desktop computers as powerful as the mainframes of the 1970's. Two operating systems have dominated the personal computer scene Ms-Dos written by Microsoft Inc. for the IBM PC and other machines using the Intel 8080 CPU and its successors and UNIX. Which is dominant on the large personal computers using the Motorola 6899 CPU family.


You Might also view the following Related Posts
For more other Posts: Click Here