History of operating systems, Operating System

Operating Systems have evolved tremendously in the last few decades. The first approach for building Operating Systems, taken during the 40s through early 60s, was to allow only one user and one task at a time. Users had to wait for a task to be finished before they could specify another task, or even interact with the computer. In other words, not only were OS's single-user and single-tasking, there was no overlapping between computation and I/O.

The next step in the development of OS's was to allow batch processing. Now, multiple "jobs" could be executed in a batch mode, such that a program was loaded, executed, output was gener- ated, and then the cycle restarted with the next job. Although in this type of processing there was still no interference or communication between programs, some type of protection (from poorly or maliciously written programs, for instance) was clearly needed. Allowing overlap between I/O and computation was the next obvious problem to be addressed. Of course, this new feature brought with itself a series of new challenges, such as the need for buffers, interrupt handling, etc.

Although the OS's from this time allowed users to interact with the computer while jobs were being processed, only one task at a time was permitted. Multiprogramming solved this, and it was a task of Operating System to manage the interactions between the programs (e.g. which jobs to run at each time, how to protect a program's memory from others, etc). All these were complex issues that effectively led to OS failures in the old days. Eventually, this additional complexity began to require that OS's be designed in a scientific manner.

During the 70s, hardware became cheap, but humans (operators, users) were expensive. During this decade, interaction was done via terminals, in which a user could send commands to a main- frame. This was the Unix era. Response time and thrashing became problems to be dealt with; OS's started to treat programs and data in a more homogeneous way.

During the 80s, hardware became even cheaper. It was then that PCs became widespread, and very simple OS's, such as DOS and the original Mac OS, were used. DOS, for example, was so simple that it didn't have any multiprogramming features. From the 90s on (until today), hardware became even cheaper. Processing demands keep increas- ing since then, and "real" OS's, such as Windows NT, Mac OS X and Linux, finally became available for PCs. Operating systems are now used in a wide range of systems, from cell phones and car controller computers, to huge distributed systems such as Google.

Posted Date: 3/12/2013 3:58:02 AM | Location : United States







Related Discussions:- History of operating systems, Assignment Help, Ask Question on History of operating systems, Get Answer, Expert's Help, History of operating systems Discussions

Write discussion on History of operating systems
Your posts are moderated
Related Questions
Define the Communications Techniques - Application interaction protocols    Communications techniques are well defined. They give developer the programmatic mechanism to transf

A thread is defined as an independent stream of instructions that can be scheduled to run as such by the operating system. Each program contains a number of threads which can be ru

what are the overall concepts of deadlock

The general idea of a producer-consumer architecture is related to building a pipeline of threads, similar to the web spider from Project 2. Each step of the processing will now be

Define which is not a key piece of information, stored in single page table entry, supposing pure paging and virtual memory  A reference for the disk block which stores the pa

System Service Program system service program Supports and provides the services for other program. System service program perform Varity of tasks.  They are further divided in

a program that can do cpu scheduling algorithm priority using javascript or php to display gaant chart and calculate waiting and average waiting time

LRU approximation page replacement In this we are able to use the reference bit associated with the page entry to choose a page to be removed. The various algorithms used for

Define the Client - Server Communications Environment Today's client - server communications environment offers programmers great flexibility for application design. Applicatio

What is spooling? Spooling overlaps the I/O of single job with the computation of other jobs.