The Evolution of Personal Computer’s Operating System

Abstract

The operating system within any personal computer controls the hardware and coordinates its use among the various application programs. It’s designed to maximize resources utilization to ensure that all available CPU time, memory usage, and I/O are used with maximum efficiency and as such; the operating system acts as a manager for such resources. With the operating system responsibilities of managing hardware and other resources such as memory space, file-storage, CPU time and I/O devices, operating system faces a numerous of conflicting requests for resources, and as such it’s imperative for the operating system to allocate these resources to specific programs efficiently (Silberschatz and Galvin, 2009).

Silberschatz and Galvin (2009) explained that one of the most important aspects of the operating system is the ability to multi-program. The personal computer (PC) is a good example for such circumstances; where users frequently have multiple programs running and that increases CPU utilization, and as such; the operating system keeps several jobs in memory and on the disk (in the job pool awaiting allocation of main memory)  to process them according to the CPU time. Part of the evolution in personal computer is the ability of the operating system to multi-tasking where different resources such as CPU, memory and peripheral devices are utilized effectively through a time sharing. The multitasking environment within the personal computer provides direct communication between the users via keyboard or a mouse and the system where the instructions are passed directly to the operating system or to a program for immediate results passed to via an output device.

Part of the tasks that the operating system does is the process management. A program in execution is a process (A word-processing program being run by a user), and as such; the process needs certain resources to be allocated such as CPU time, memory, files and I/O device to accomplish certain task. Also, multi-tasking within any computer systems requires a memory management to run such tasks effectively, and the operating system is responsible for many activities that handle memory management. Another important task that required within any computer system is a uniform and logical view of information storage where the operating system provides the file management required to accomplish such task (Silberschatz and Galvin, 2009).

Operating System Evolution

Cosper (n.d.) stated that Personal Computer (PC) and the evolution of the operating system via personal computers started through the 70s and the 80s with the arrival of the Apple, and Microsoft operating systems. Up until the 70s, computers were used by government sectors, businesses and universities. With the rise of the PC, the operating system started to improve its capabilities to keep up with the advanced technologies of the software programs and the hardware. With the popularity of an operating system such as Microsoft Windows 95, the growth of computer users increased dramatically, and such popularity accelerated the mass use of personal computers.

Different Functions of Operating System

Silberschatz and Galvin (2009) explained that the operating system has many responsibilities within any personal computer (PC) some of these responsibilities are:

1-      The operating system is responsible for process management since processes can potentially execute concurrently by multiplexing on a single CPU, and some of the activities that the operation system does to manage processes are:

  • Scheduling threads and process on the CPUs.
  • The operating system is responsible in creating and deleting both system and user processes.
  • Resuming and suspending processes.
  • Synchronization of processes within a certain mechanisms.
  • Providing the right mechanisms for process communication.

2-      For the multi-tasking within the computer system, the operating system responsible for the following activities to establish the memory management within the system:

  • Keeping track of the parts of memory are currently being used and by whom.
  • Deciding which data and processes to move into memory and out of memory.
  • De-allocating/allocating memory spaces as needed.

3-      The operating system provide the file management required in the following tasks:

  • Files deleting and creating.
  • Directories deleting and creating.
  • Supporting primitives for directories and manipulating files.
  • Mapping files onto secondary storage.
  • Using a stable storage media for backing up files.

4-      Within a distributed system where separated systems are networked, the operating system provides the users with access to the various resources that the system maintains. Some of these resources are:

  • File sharing across the network.
  • Provides the schema that allows different processes on different computers to exchange messages.
  • Authenticating users over the network, and provides the authorization required for each user to access resources over the network connection.

Jaeger (2008) explained that part the role of the operating systems is to secure the computer processes. The operating system plays a big role in creating the mechanisms to protect the system vulnerabilities. He also stated that to build a successful operating system, the following tasks have to be identified:

  • The operating system has to provide the various mechanisms to enable high performance for the system resources usage (Such as Memory management, file systems, network protocols, and hardware resources).
  • The operating system should be able to switch between process in a fairly manner where users can experience a good performance from each process.
  • The operating system should be able to ensuring the secure execution of all processes based on scheduling mechanisms.

Different functions for the Operating System

Silberschatz and Galvin (2009) explained that the operating system can be used differently when it comes to running under handheld systems. Since the physical memory on such devices has a limited amount of memory (From 1MB – 1GB), the operating system and the applications must manage memory efficiently. Also embedded computers are another evolution of the computer systems where it can be found in many devices such as car engines, manufacturing robots, DVDs, and microwave ovens. Within such devices, the operating system provides limited features. They usually have no user interference or a limited user interface, and with such limitation, the operating systems spend their time monitoring and managing hardware devices.

Conclusion

Hansen (2000) explained that the operating systems went through an evolution of seven major phases that brought the world up to speed with technology and innovations. These phases are: batch processing, multiprogramming, timesharing, personal computing, and distributed systems. The operating system within any personal computer is the program that involved in managing hardware and other resources such as CPU time, File-storage, memory spaces, I/O devices, and acts as a manager of these resources. Part of the evolution in personal computer (PC) is the multi-program systems where it provides the environment for system resources and peripherals devices are utilized effectively.

Juniper Networks (2009) stated that network operating systems are more advanced than single user operating system and as such; it has to provide flexibility, continuous operation and scalability. Functional separation, multiprocessing and scheduling are the fundamental principles software design for the network operating systems. In designing of a modern operating systems, implementing specific feature is rarely perfect and most of the time it has an effect of reliability, scaling metrics, and performance.

Finally, as the operating system acts as a control program within any computer system, the main important task that the operating system can deliver is to manage the execution of user programs to prevent errors and improper use of the computer and the computer programs.

References

Cosper, A. (n.d.) History & Evolution of computers [Online]. Available from: http://www.ehow.com/facts_5339228_history-evolution-computers.html (Accessed: 06 August 2010).

Hansen, B. (2000) The Evolution of Operating Systems [Online]. Available from: http://brinch-hansen.net/papers/2001b.pdf (Accessed: 06 August 2010).

Jaeger, T. (2008) Operating System Security [Online]. Available from: http://www.morganclaypool.com.ezproxy.liv.ac.uk/doi/abs/10.2200/s00126ed1v01y200808spt001 (Accessed: 06 August 2010).

Juniper Networks (2009) Network Operating System Evolution [Online]. Available from: http://www.juniper.net/us/en/local/pdf/whitepapers/2000264-en.pdf (Accessed: 06 August 2010).

Silberschatz, A. & Galvin, P. (2009) Operating System Concepts. 8th ed. NJ: John Wiley & Sons, Inc.

Advertisements

1 Comment »

  1. you are truly a excellent webmaster. The site loading pace is incredible.
    It seems that you’re doing any distinctive trick. Also, The contents are masterpiece. you have performed a great activity on this topic!


RSS Feed for this entry

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: