Difference between revisions of "Roles of the Operating System"

From CompSciWiki
Jump to: navigation, search
 
(36 intermediate revisions by 6 users not shown)
Line 3: Line 3:
  
 
|Introduction=
 
|Introduction=
You would understand how difficult to operate a computer in earlier days, if you have known about the [[History of Operating Systems|history of operating system]]. So the [[Operating Systems|Operating systems]] are designed to 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|Operating systems]] are also act as a vital part of the computing experience. Take [[Windows|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. It will be interesting to see what’s next.
+
You would understand how difficult it was to operate a computer in earlier days, if you knew about the [[History of Operating Systems|history of operating system]]. The [[Operating Systems|Operating systems]] are designed to make life easier by providing uniform abstraction across multiple applications and the fair sharing of resources. The OS ('''O'''perating '''S'''ystem) 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|Operating systems]] are also act as a vital part of the computing experience. If we take [[Windows|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=<em>How is software made?</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. Similiarly, in a computer the operating system can allocate resources fairly.
}}
+
 
 +
</em>
 +
 
 +
|Content=
  
 
==Common roles of the Operating System==
 
==Common roles of the Operating System==
 +
[[Image:50px-Operating_system.png|frame|[http://en.wikipedia.org/wiki/Operating_system]]]
  
===Role #1: Provide resourse===
+
===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
 +
 
 +
<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.
 +
 
 +
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.
  
What is a resource?
 
• Anything valuable (e.g., CPU, memory, disk)
 
Advantages of standard library
 
• Allow applications to reuse common facilities
 
• Make different devices look the same
 
• Provide higher-level abstractions
 
Challenges
 
• What are the correct abstractions?
 
• How much of hardware should be exposed
 
  
 
===Role #2: Resource coordinator===
 
===Role #2: Resource coordinator===
  
Advantages of resource coordinator
+
Some tasks the OS performs for us…
• Virtualize resources so multiple users or applications
+
can share
+
• Protect applications from one another
+
• Provide efficient and fair access to resources
+
Challenges
+
• What are the correct mechanisms?
+
• What are the correct policies?
+
  
==Operating System's Role is Changing==
+
*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
  
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,” Rosenblum said. “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, such as for SAP or Oracle applications, you just want to have anOS that delivers what you need. With Linux and Windows you get the whole thing.
+
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.  
  
The shift began in the 1990s, as application developers moved away from traditional, proprietary client/server architectures and started to employ OS-neutral development frameworks like Java or open-source development platforms that afforded them more control over application interfaces. Yet despite running in these smaller, more flexible application containers, customer still needed to run the software on a full-service, general purpose OS.  They may have regained some control over the application interfaces, but they were still reliant on a fully functional OS to provide all the device compatibility and the accompanying certifications and qualifications.
 
  
Virtualization provides the missing piece to break the interlock, and as it becomes pervasive, the role of the OS will fundamentally change. Once you have a pervasive virtualization layer that focuses exclusively on managing all the underlying hardware and can run any OS, developers will finally be able to adapt and integrate the operating system as a part of their application, ship both of those together as a virtual machine and be confident it can run in any environment. Instead of having a general purpose OS underneath their applications, ISVs can strip down the OS of all its excessive functions (and corresponding security holes), make whatever modifications they need to better support their applications, and simply inherit all the hardware qualifications of the virtualization layer. This, in many ways, is what appliance vendors do when they ship a packaged hardware solution with a custom OS for a custom application – the model provides a simple, low cost of management solution but also requires purchasing custom hardware. As virtualization becomes pervasive, any ISV can bring these same benefits by shipping their software as virtual appliances.
+
==The 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.
 +
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/>
 +
 +
|Previous=[[Operating Systems]]
 +
 +
|Next=[[History of Operating Systems]]
 +
 +
}}

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