Introduction to Operating Systems

Introduction to Operating Systems

Sections: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | Index | Next >

Purpose of an Operating System (cont)

Learning objective: Explain the purpose of an operating system

pic of OS model with drivers
Click on image to enlarge.

This is another view of an operating system that shows the non-uniformity of the hardware environment. Computers tend to use different pieces of hardware, like different audio and video cards. The role of the operating system is to provide a uniform platform for developers to create applications. These applications access key resources from the operating system through application program interfaces (APIs). The APIs relieve the developer from common tasks, such as opening a file, so they can focus on the goals of their application and not have to understand *how* to open a file on a specific system. If the user wants to add additional hardware to their system, like a video card, the device will need driver software to "extend" the operating system so the OS will know how to use it. The driver application provides a means to control the behavior of the device like how fast the mouse responds to movement or what screen resolution is needed. Many driver applications in Windows can be found in the system Control Panel. Much of the bloat of modern OSs is due to having many device drivers on the local system just in case they are needed and access to the Internet is not available. This helps to minimizing user frustration over getting a new device to work since the driver may already be available on in current OS environment.

Application Programming Interface (API)

An application programming interface (API) is an interface implemented by a software program that enables it to interact with other software. It facilitates interaction between different software programs similar to the way the user interface facilitates interaction between humans and computers. An API is implemented by applications, libraries, and operating systems to determine their vocabularies and calling conventions, and is used to access their services. It may include specifications for routines, data structures, object classes, and protocols used to communicate between the consumer and the implementer of the API [Wikipedia]

Device driver

In computing, a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device. A driver typically communicates with the device through the computer bus or communications subsystem to which the hardware connects. When a calling program invokes a routine in the driver, the driver issues commands to the device. Once the device sends data back to the driver, the driver may invoke routines in the original calling program. Drivers are hardware-dependent and operating-system-specific. They usually provide the interrupt handling required for any necessary asynchronous time-dependent hardware interface. Some common devices that require a driver are: printers, video adapters, network cards, sound cards, storage devices such as hard disk, image scanners, digital cameras, and similar devices. [Wikipedia]

Thinking: Which is better, lots of a APIs or fewer?

Key terms: API, card, driver

Resources:
To maximize your learning, please visit these Web sites and review their content to help reinforce the concepts presented in this section.

Quick links:
API @ Wikipedia
Device driver @ Wikipedia

Embedded Resources

Notes on navigation: Click inside the frame to navigate the embedded Web page. - Click outside the frame to navigate this page to scroll up/down between the embedded Web pages. - Click on the frame title to open that page in a new tab in most browsers. - Click on the the "Reload page" link to reload the original page for that frame.

API @ Wikipedia | Reload page | If frame is empty, click on the link to view the page in a new tab or window

Device driver @ Wikipedia | Reload page | If frame is empty, click on the link to view the page in a new tab or window

Sections: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | Index | Next >