Difference between revisions of "Roles of the Operating System"

From CompSciWiki
Jump to: navigation, search
 
(9 intermediate revisions by one other user not shown)
Line 7: Line 7:
 
|...by students=<em>
 
|...by students=<em>
  
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.  
+
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.  
  
 
</em>
 
</em>
  
+
|Content=
}}
+
  
 
==Common roles of the Operating System==
 
==Common roles of the Operating System==
[[Image:50px-Operating_system.png|frame|I copy this file from wiki,and i will put on copyright info later [http://en.wikipedia.org/wiki/Operating_system]]]
+
[[Image:50px-Operating_system.png|frame|[http://en.wikipedia.org/wiki/Operating_system]]]
  
 
===Role #1: Provide resources===
 
===Role #1: Provide resources===
Line 28: Line 27:
 
*External Devices
 
*External Devices
  
The [[Operating Systems|Operating systems]] manages computer resources, and it enables users and applications to use system hardware. For user, [[Operating Systems|operating systems]]  
+
<br/>
 
+
The [[Operating Systems|Operating systems]] manages computer resources, and it enables users and applications to use system hardware. For user, [[Operating Systems|operating system]] provide user interface, which can be command based or GUI based. And for [[Application Software|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.  
 
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:
application programming interface
+
  
 
*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-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.
Line 44: Line 41:
  
 
Some tasks the OS performs for us…
 
Some tasks the OS performs for us…
􀃠 Start applications running and allocate RAM to them
 
􀃠 Get user input 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
 
  
 +
*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 Drives|hard disk]]
 +
*Manage access to I/O devices like the printer
 +
*Coordinate network communications
  
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.  
+
To handle all of these kind staffs, the [[Operating Systems|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 [[Glossary|integer numbers]], or they can be [[Glossary|pointers]] that allow access to further information. [[Operating Systems|operating system]] also needs the abilities to track , allocate, and terminate resources. When implemented by a [[Compiling_and_the_Java_Virtual_Machine#The_Java_Virtual_Machine|virtual machine]] this is often done in the form of garbage collection.  
  
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.
 
  
 +
==The Role is Changing==
  
==Operating System's Role is Changing==
 
  
 
+
Changes in Operating Systems began in the 1990s, becase OS-neutral development frameworks like [[Java]] or [[What is Open Source Software?|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 Systems|operating system]]. After this virtual layer have been developed, The role of the OS becomes more about supporting applications.  
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.  
+
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==
 
==References==
 
<references/>
 
<references/>
  
 +
|Previous=[[Operating Systems]]
  
<DIV style="font-size:130%">
+
|Next=[[History of Operating Systems]]
'''Previous Page:''' [[Operating Systems]] <DIV ALIGN = RIGHT>'''Next Page:'''[[History of Operating Systems]]</DIV></DIV>
+
 +
}}

Latest revision as of 14:24, 4 December 2009

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