SKYSPIN
Evolution Of Operating Systems
Operating systems have evolved from slow and expensive systems to
present-day technology where computing power has reached exponential
speeds and relatively inexpensive costs. In the beginning, computers
were manually loaded with program code to control computer functions and
process code related to business logic. This type of computing
introduced problems with program scheduling and setup time. As more
users demanded increased computer time and resources, computer
scientists determined they needed a system to improve convenience,
efficiency, and growth. As a result, they
created an operating system (OS) to process jobs in batches. Later they
created Multitasking and Time-Sharing to run multiple jobs and allow
user interaction to improve efficiency. Multitasking brought challenges
to manage I/O operations required by multiple jobs in which computer
vendors resolved with interrupts.
Operating System Concept
An OS provides an interface between a user application and the
computer . The purpose of an OS is to manage
system resources, schedule processes, handle error conditions, and audit
logging. Using an OS freed programmers from writing code to handle
machine functions so they could concentrate on writing code for user
applications.
Serial processing
From the 1940s to the mid1950s, programmers setup and controlled
early computers by loading programs using punch cards, magnetic tape. All output went to a printer if the program
did not abort due to errors. In the event an error occurred, indicator
lights illuminated notifying the programmer. When users required
computer time, they had to sign a sign-up sheet indicating the amount of
time they needed . This method of scheduling
presented problems whenever a program generated errors or computer
failures occurred. The user may run out of their allotted time slot and
have to reschedule the job for another other time.
Simple Batch Processing
After Serial Processing, the mid1950s introduced Simple Batch
Processing, the first operating system. This technology improved the
efficiency of scheduling and setup time as an operator loaded user jobs
sequentially in batches accessed by monitor software . The monitor processed each job in the order it was loaded. When
one job finished the monitor ran the next job in line from the batch
until all jobs completed. Despite an improvement over Serial Processing,
Simple Batch Processing was slow and consumed large amounts of
processing time.
Multitasking
Multitasking, an improved form of Simple Batch Processing took
advantage of processor idle time by loading the processor with multiple
user jobs. When one program completes processing, the results transfer
to an I/O device, and the processor executed another job waiting in
memory.Multitasking utilizes computer
resources efficiently as it switches between jobs until each one
completes. Operating systems like Microsoft Windows 7 still use
multitasking today.
Time-Sharing Systems
Time-sharing is an extension of Multitasking. Time-sharing is a
technique for multiple users to share system resources simultaneously.
This offers the users an opportunity to interact directly with the
computer.The intention of Time-sharing is
to minimized response time back to the user, reduce idle time, and
still maximize processor usage . Today, UNIX
systems still use Time-sharing.
Interrupts
As technology further evolved, computer vendors designed hardware to
support I/O interrupt controls for Multitasking systems. Interrupts
provide flow control for activities between the processor and I/O
devices.
0 Comments