Difference between revisions of "Roles of the Operating System"

From CompSciWiki
Jump to: navigation, search
Line 53: Line 53:
 
<references/>
 
<references/>
  
<br/>
+
 
 
<DIV style="font-size:130%">
 
<DIV style="font-size:130%">
 
'''Previous Page:''' [[Operating Systems]] <DIV ALIGN = RIGHT>'''Next Page:'''[[History of Operating Systems]]</DIV></DIV>
 
'''Previous Page:''' [[Operating Systems]] <DIV ALIGN = RIGHT>'''Next Page:'''[[History of Operating Systems]]</DIV></DIV>

Revision as of 22:52, 3 December 2008

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. As long as we obey the law, the resources of the nation will be shared among the people. Similiarly, in a computer the operating system can allocate resources fairly.

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 resources

A resource is 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.

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

Changes in Operating Systems 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. In addition, if we have a virtual 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 that you want to simplify you could have an environment where can take away everything not being used. When people start deploying operating systems this way, you just want to have an OS that delivers what you need.

References