Roles of the Operating System

From CompSciWiki
Revision as of 02:07, 30 November 2008 by TianbinH (Talk | contribs)

Jump to: navigation, search

COMP1260 > Roles of the Operating System



Introduction

You would understand how difficult to operate a computer in earlier days, if you have known about the history of operating system. So the Operating systems are designed to make life easier by provide uniform abstraction across multiple applications and the fair sharing of resources. The operating system communicates both with the different hardware components of the computer as well as additional software applications the user may add on to the computer. Operating systems are also act as a vital part of the computing experience. Take Microsoft’s Operating systems as examples, 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 it is working, but the services, utilities, protection, and justice are provided. As far as we obey the law, the resources of the nation will be shared among people. And the system can allocate each piece of resources fairly enough.

blah blah

Previous Page: UPDATE THIS LINK

Next Page: UPDATE THIS LINK

Common roles of the Operating System

I copy this file from wiki,and i will put on copyright info later [1]

Role #1: Provide resourse

A resource, is any physical or virtual component within a computer system. physical resources include every external devices or internal system components connected to a computer system. Virtual system resources include files, network connections and memory spaces.

Major resource types

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


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.

  • 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

A resource handle is 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. Common resource handles are file descriptors and sockets.

Resource tracking is the ability of an operating system, virtual machine or other computer program to terminate the access to a resource that has been allocated by a program but has not been deallocated immediately after use. When implemented by a virtual machine this is often done in the form of garbage collection. Access to memory areas is often controlled by semaphores, which allows a pathological situation called a deadlock, when different threads or processes try to allocate resources already allocated by each other. A deadlock usually leads to a program becoming partially or completely unresponsive. Access to resources is also sometimes regulated by queuing; in the case of computing time on a CPU the controlling algorithm of the task queue is called a scheduler.


Operating System's Role is Changing

The changing began in the 1990s, as application developers moved to employ OS-neutral development frameworks like Java or open-source development platforms that afforded them more control over application interfaces. And if we have a virtualization layer that focuses exclusively on managing all the underlying hardware and can run any OS. The role of the OS in a virtual appliance becomes more about supporting applications. “In Windows and Linux, for example, the applications are coded to those APIs. Over time, there could be operating systems targeting different kinds of applications. Effectively if you look at reliability and security, you want to simplify, have an environment where can lop off everything not being used. When people start deploying OSs this way, you just want to have an OS that delivers what you need.

References