Drivers teach the operating system to interact with each bit of hardware. Graphics cards, sound cards, networking cards, USB peripherals, and everything else you connect to your computer relies on drivers.
The operating system then uses these drivers to ensure correct operation of each device. The operating system performs several key functions: interface — provides a user interface so it is easy to interact with the computer. What is the first step in the boot process?
System software is the set of software programs that helps run the computer and coordinates instructions between application software and hardware devices. It consists of the operating system OS and utility programs.
This course introduces all aspects of modern operating systems. Under Windows specifications, check which edition and version of Windows your device is running.
The OS that Google uses to run its Android mobile smartphones and tablets is based on Linux distribution and other open source software. Modern operating systems extend the concepts of application preemption to device drivers and kernel code, so that the operating system has preemptive control over internal run-times as well.
The philosophy governing preemptive multitasking is that of ensuring that all programs are given regular time on the CPU. This implies that all programs must be limited in how much time they are allowed to spend on the CPU without being interrupted. To accomplish this, modern operating system kernels make use of a timed interrupt. A protected mode timer is set by the kernel which triggers a return to supervisor mode after the specified time has elapsed. See above sections on Interrupts and Dual Mode Operation.
On many single user operating systems cooperative multitasking is perfectly adequate, as home computers generally run a small number of well tested programs. The AmigaOS is an exception, having pre-emptive multitasking from its very first version. Access to data stored on disks is a central feature of all operating systems. The specific way in which files are stored on a disk is called a file system, and enables files to have names and attributes.
It also allows them to be stored in a hierarchy of directories or folders arranged in a directory tree. Early operating systems generally supported a single type of disk drive and only one kind of file system. Early file systems were limited in their capacity, speed, and in the kinds of file names and directory structures they could use. These limitations often reflected limitations in the operating systems they were designed for, making it very difficult for an operating system to support more than one file system.
While many simpler operating systems support a limited range of options for accessing storage systems, operating systems like UNIX and Linux support a technology known as a virtual file system or VFS. An operating system such as UNIX supports a wide array of storage devices, regardless of their design or file systems, allowing them to be accessed through a common application programming interface API.
This makes it unnecessary for programs to have any knowledge about the device they are accessing. A VFS allows the operating system to provide programs with access to an unlimited number of devices with an infinite variety of file systems installed on them, through the use of specific device drivers and file system drivers.
A connected storage device, such as a hard drive, is accessed through a device driver. The device driver understands the specific language of the drive and is able to translate that language into a standard language used by the operating system to access all disk drives.
On UNIX, this is the language of block devices. When the kernel has an appropriate device driver in place, it can then access the contents of the disk drive in raw format, which may contain one or more file systems. A file system driver is used to translate the commands used to access each specific file system into a standard set of commands that the operating system can use to talk to all file systems. They can create, delete, open, and close files, as well as gather various information about them, including access permissions, size, free space, and creation and modification dates.
Various differences between file systems make supporting all file systems difficult. Allowed characters in file names, case sensitivity, and the presence of various kinds of file attributes makes the implementation of a single interface for every file system a daunting task.
Operating systems tend to recommend using and so support natively file systems specifically designed for them; for example, NTFS in Windows and ext3 and ReiserFS in Linux. Support for file systems is highly varied among modern operating systems, although there are several common file systems which almost all operating systems include support and drivers for. Operating systems vary on file system support and on the disk formats they may be installed on.
It is possible to install Linux onto many types of file systems. Unlike other operating systems, Linux and UNIX allow any file system to be used regardless of the media it is stored in, whether it is a hard drive, a disc CD, DVD… , a USB flash drive, or even contained within a file located on another file system. A device driver is a specific type of computer software developed to allow interaction with hardware devices.
It is a specialized hardware-dependent computer program which is also operating system specific that enables another program, typically an operating system or applications software package or computer program running under the operating system kernel, to interact transparently with a hardware device, and usually provides the requisite interrupt handling necessary for any necessary asynchronous time-dependent hardware interfacing needs.
The key design goal of device drivers is abstraction. Every model of hardware even within the same class of device is different. Newer models also are released by manufacturers that provide more reliable or better performance and these newer models are often controlled differently.
Computers and their operating systems cannot be expected to know how to control every device, both now and in the future. To solve this problem, operating systems essentially dictate how every type of device should be controlled. The function of the device driver is then to translate these operating system mandated function calls into device specific calls. In theory a new device, which is controlled in a new manner, should function correctly if a suitable driver is available.
Under versions of Windows before Vista and versions of Linux before 2. More recent revisions of these operating systems incorporate kernel preemption, where the kernel interrupts the driver to give it tasks, and then separates itself from the process until it receives a response from the device driver, or gives it more tasks to do.
Currently most operating systems support a variety of networking protocols, hardware, and applications for using them. This means that computers running dissimilar operating systems can participate in a common network for sharing resources such as computing, files, printers, and scanners using either wired or wireless connections. Servers offer or host various services to other network computers and users.
Each port number is usually associated with a maximum of one running program, which is responsible for handling requests to that port. A daemon, being a user program, can in turn access the local hardware resources of that computer by passing requests to the operating system kernel. Specific protocols for specific tasks may also be supported such asNFS for file access.
A computer being secure depends on a number of technologies working properly. A modern operating system provides access to a number of resources, which are available to software running on the system, and to external devices like networks via the kernel.
The operating system must be capable of distinguishing between requests which should be allowed to be processed, and others which should not be processed. To establish identity there may be a process of authentication. Often a username must be quoted, and each username may have a password. Other methods of authentication, such as magnetic cards or biometric data, might be used instead. In some cases, especially connections from the network, resources may be accessed with no authentication at all such as reading files over a network share.
In addition to the allow or disallow model of security, a system with a high level of security also offers auditing options.
Internal security, or security from an already running program is only possible if all possibly harmful requests must be carried out through interrupts to the operating system kernel. If programs can directly access hardware and resources, they cannot be secured.
External security involves a request from outside the computer, such as a login at a connected console or some kind of network connection. Security of operating systems has long been a concern because of highly sensitive data held on computers, both of a commercial and military nature.
This became of vital importance to operating system makers, because the TCSEC was used to evaluate, classify and select trusted operating systems being considered for the processing, storage and retrieval of sensitive or classified information.
Network services include offerings such as file sharing, print services, email, web sites, and file transfer protocols FTP , most of which can have compromised security. Most modern operating systems include a software firewall, which is enabled by default. A software firewall can be configured to allow or deny network traffic to or from a service or application running on the operating system. Therefore, one can install and be running an insecure service, such as Telnet or FTP, and not have to be threatened by a security breach because the firewall would deny all traffic trying to connect to the service on that port.
An alternative strategy, and the only sandbox strategy available in systems that do not meet the Popek and Goldberg virtualization requirements, is where the operating system is not running user programs as native code, but instead either emulates a processor or provides a host for a p-code based system such as Java. Internal security is especially relevant for multi-user systems; it allows each user of the system to have private files that the other users cannot tamper with or read.
Internal security is also vital if auditing is to be of any use, since a program can potentially bypass the operating system, inclusive of bypassing auditing. A screenshot of the Bourne Again Shell command line. The current command prompt is at the bottom. Every computer that is to be operated by an individual requires a user interface. The user interface is usually referred to as a shell and is essential if human interaction is to be supported.
The user interface views the directory structure and requests services from the operating system that will acquire data from input hardware devices, such as a keyboard, mouse or credit card reader, and requests operating system services to display prompts, status messages and such on output hardware devices, such as a video monitor or printer. The two most common forms of a user interface have historically been the command-line interface, where computer commands are typed out line-by-line, and the graphical user interface, where a visual environment most commonly a WIMP is present.
Programs take the form of images on the screen, and the files, folders directories , and applications take the form of icons and symbols. A mouse is used to navigate the computer. Most of the modern computer systems support graphical user interfaces GUI , and often include them. While technically a graphical user interface is not an operating system service, incorporating support for one into the operating system kernel can allow the GUI to be more responsive by reducing the number of context switches required for the GUI to perform its output functions.
Other operating systems are modular, separating the graphics subsystem from the kernel and the Operating System. Linux and Mac OS X are also built this way. Modern releases of Microsoft Windows such as Windows Vista implement a graphics subsystem that is mostly in user-space; however the graphics drawing routines of versions betweenWindows NT 4. Windows 9x had very little distinction between the interface and the kernel.
Many computer operating systems allow the user to install or create any user interface they desire. A number of Windows shell replacements have been released for Microsoft Windows, which offer alternatives to the included Windows shell, but the shell itself cannot be separated from Windows. Graphical user interfaces evolve over time. A real-time operating system RTOS is an operating system intended for applications with fixed deadlines real-time computing.
Such applications include some small embedded systems, automobile engine controllers, industrial robots, spacecraft, industrial control, and some large-scale computing systems.
Some embedded systems use operating systems such as Palm OS, BSD, and Linux, although such operating systems do not support real-time computing. Operating system development is one of the most complicated activities in which a computing hobbyist may engage. How does the operating system help the computer start up? When you start your computer, it runs through a special process, called the boot process.
What are the main desktop and windows features? The desktop is the first interaction you have with the OS and the first image you see on your monitor once the system has booted up.
Windows are the rectangular panes on your screen that display applications running on your system. Common features of windows include toolbars or ribbons and scrollbars, and minimize, maximize, and restore buttons. How does the operating system help me keep my computer organized? The OS allows you to organize the contents of your computer in a hierarchical structure of directories that includes files, folders, and drives.
Windows Explorer helps you manage your files and folders by showing the location and contents of every drive, folder, and file on your computer. Creating folders is the key to organizing files, because folders keep related documents together. Following naming conventions and using proper file extensions are also important aspects of file management. What utility programs are included in system software, and what do they do?
Some utility programs are incorporated into the OS; others are sold as stand-alone off-the-shelf programs. Common Windows utilities include those that enable you to adjust your display, add or remove programs, compress files, defrag your hard drive, clean unnecessary files off your system, check for lost files and errors, restore your system to an earlier setting, back up your files, schedule automatic tasks, and check on programs that have quit running.
Chapter 5. EOC Summary. All rights reserved. Pearson Prentice Hall is an imprint of Pearson.
0コメント