Roles of the Operating System

From CompSciWiki
Jump to: navigation, search

COMP1260 > Roles of the Operating System



Introduction

You would understand how difficult it was to operate a computer in earlier days, if you knew about the history of operating system. The Operating systems are designed to make life easier by providing uniform abstraction across multiple applications and the fair sharing of resources. The OS (Operating System) communicates with the different hardware components of the computer as well as additional software applications the user may have added on to the computer. Operating systems are also act as a vital part of the computing experience. If we take Microsoft’s Operating systems as examples, we will see that they have come a long way since the days of DOS and Windows 3.0, and they are constantly changing and evolving. It’s only been about twelve years since Windows 95 was released, and the changes from 95 to Vista are extraordinary.

 

...by students

The role of the operating system is just like the role of the government system. It is not visible, but it is everywhere. We don't need to understand how the system works, the services, utilities, protection, and justice are provided regardless. Similiarly, in a computer the operating system can allocate resources fairly.

Common roles of the Operating System

Role #1: Provide resources

A resource means any physical or virtual component within a computer system. Physical resources include any external device or internal system component connected to a computer system. Virtual system resources include files, network connections and memory spaces.

Some major resource types

  • CPU time
  • Random access memory and virtual memory
  • Hard disk space
  • Network
  • External Devices


The Operating systems manages computer resources, and it enables users and applications to use system hardware. For user, operating system provide user interface, which can be command based or GUI based. And for application software, it will provide application programming interface. An application programming interface (API) is a set of functions, procedures, methods, classes or protocols that an operating system, library or service provides to support requests made by computer programs.

There are two kind of APIs:

  • Language-dependent APIs are available only in a particular programming language. They utilize the syntax and elements of the programming language to make the API convenient to use in this particular context.
  • Language-independent APIs are written in a way that means they can be called from several programming languages. This is a desired feature for a service-style API which is not bound to a particular process or system and is available as a remote procedure call.


Role #2: Resource coordinator

Some tasks the OS performs for us…

  • Start applications running and allocate memory space to them
  • Get input from user and pass it to the appropriate application
  • Create and manage the file system on the hard disk
  • Manage access to I/O devices like the printer
  • Coordinate network communications

To handle all of these kind staffs, the operating system need to assign an identifier for a resource that is currently being accessed. Resource handles can be opaque, in which case they are often integer numbers, or they can be pointers that allow access to further information. operating system also needs the abilities to track , allocate, and terminate resources. When implemented by a virtual machine this is often done in the form of garbage collection.


The Role is Changing

Changes in Operating Systems began in the 1990s, becase OS-neutral development frameworks like Java or open-source development platforms becomes popular. This change allows develops to develop a virtual layer that focuses exclusively on managing all the underlying hardware and can run any operating system. After this virtual layer have been developed, The role of the OS becomes more about supporting applications. Over time, there could be operating systems targeting different kinds of applications. For example, if you only consider reliability and security, then you can have an software environment where only a few things installed.

References


Previous Page: Operating Systems

Next Page: History of Operating Systems