Operating systems (Software)
The operating system is software that manages every part of a computer system—all hardware and all other software. To be specific, it controls every file, every device, every section of main memory, every nanosecond of processing time, and every network connection. It controls who can use the system and how. In short, it is the boss—without it, nothing can happen.
When a computer user sends a command by typing it from the keyboard or clicking with the mouse, the operating system must make sure that the command is executed. If it is not executed, the operating system must arrange for the user to receive a message, usually on the monitor, explaining
|Microcomputers||Linux, Macintosh OS, MS-DOS, Windows 98, Windows 2000|
|Minicomputers||Linux, OpenVMS Alpha, UNIX|
|Mainframe computers||IBM OS/390, IBM OS/400, UNIX|
|Workstations||HP-UX, Sun Solaris, UNIX|
|Networks||Novell NetWare, UNIX, Windows NT, Windows 2000|
|Handheld computers||Microsoft CE, Palm OS|
the error. This does not necessarily mean that the operating system executes the command or sends the error message, but it does control the parts of the system that do.
Every operating system, regardless of its size and complexity, can be represented by a pyramid showing how its five major functions (called managers) work together. The memory manager, the processor manager, the device manager, and the file manager form the pyramid's base; network operating systems add a network manager as well. The user interface —the part of the operating system that communicates with the user—is supported by the other four or five managers.
Responsibilities and Relationships
These virtual managers must do more than perform their individual tasks. They must also be able to work harmoniously with every other manager. For example, they must be able to monitor their resources continuously, enforce the policies that determine who gets what, when, and how much, allocate their resources when it is appropriate, and de-allocate their resources—reclaim them—when appropriate.
The memory manager is in charge of main memory, also known as random access memory (RAM) . It checks the validity of each request for memory space and, if it is a legal request, the memory manager allocates a portion that is not already in use. In a multi-user environment, the memory manager sets up a table to keep track of who is using which section of memory. Finally, when the time comes to reclaim the memory, the memory manager de-allocates the memory space. One of the manager's primary responsibilities is to preserve the part of main memory that is occupied by the operating system itself—it cannot allow any part of it to be altered accidentally or intentionally.
The processor manager decides how to allocate the central processing unit (CPU) and keep track of the status of each executable step of every program (called a process or task). For example, the processor manager monitors whether the CPU is executing a process or waiting for a READ or WRITE command to finish execution. Later, when the process is finished, or the maximum amount of time has expired, the processor manager reclaims the processor so it can be allocated again.
The device manager chooses the most efficient way to allocate all of the system's devices, including printers, disk drives, CD-ROMs (compact disc-read only memory), keyboard, monitor, and so forth. The device manager makes these decisions based on a scheduling policy chosen by the system's designers. The device manager allocates a device, starts its operation, and, finally, de-allocates it.
The file manager keeps track of every piece of software in the system, including application programs, data files, directories, etc. The file manager allocates the file by opening it and de-allocates it by closing it. It is based on predetermined access policies to enforce the correct security for each file so that files can be accessed only by individual or group users that have permission to do so. The file manager also controls the amount of flexibility each user is allowed with that file (such as read-only, read-and-write-only, or the authority to create and/or delete records).
Operating systems with networking capability have a fifth element called the network manager, which provides a convenient way for users to share resources. Network resources usually include both hardware (such as CPUs, memory areas, printers, disk drives, modems, and tape drives) and software (such as application programs and data files).
Most modern operating systems feature a menu-driven graphical user interface (GUI) , which is pronounced "gooey," with menus, icons, and task bars. The Macintosh was the first widely used computer with a GUI, which in turn was based on a desktop created by Xerox. Microsoft introduced Windows version 1.0 in 1985, but it was not a real operating system because it acted merely as an interface between the user and the real operating system. Instead, it was called an "environment" that ran only on computers with the MS-DOS operating system. Microsoft's Windows 95, Windows 98, and Windows 2000 are true operating systems.
Operating systems without GUIs (such as early versions of UNIX and Linux) are called command-driven systems. They accept commands that are typed into the system (menus are not available). Command-driven systems are cumbersome for some new users to learn. Therefore, since the late-1990s, most operating systems (including UNIX and Linux) have been converted from command-driven to menu-driven interfaces, which feature GUIs that allow users to click on menus to make the system run.
Adding GUIs was a popular move for anyone who had trouble working with brief or mysterious-looking command lines. For example, the UNIX command to list all subdirectories (but not files) found in the root directory looks cryptic (ls-l / | grep ' [.logicaland] d'). Today, users can achieve a similar result by choosing an option from a menu.
Linux is an operating system that has been widely adopted in commercial and academic markets around the world. Linux is unique among the most-used operating systems because it is an open-source program, which means the source code is freely available to anyone for improvement.
Programmers from around the world are encouraged to submit improvements to the programming code. If the new code is accepted as a universal improvement to the operating system, it is added to the next version, which is then made available to the computing world for further improvement. This development technique has resulted in a powerful, stable, inexpensive operating system, which is constantly being improved by a variety of people who may never meet in person.
Linux was created in Finland by 21-year-old Linus Torvalds who wanted to build a new operating system for the Intel 80386 microprocessor. Torvalds started with Minix, a miniature version of the well-known UNIX operating system, and rewrote certain parts to add more functionality. The first version of Linux, which was named for Torvalds and UNIX, had much of the basic functionality of the then-popular MS-DOS operating system with UNIX-like power and flexibility. It has been enhanced considerably in the years since.
Although there are similarities between the two systems, Linux is not UNIX. (UNIX is a legal trademark, registered with the federal government. Before a developer can use the term UNIX to describe an operating system, it must demonstrate that it can meet certain certification criteria.)
Policies and Design Considerations
One of the biggest differences among operating systems is the set of policies on which each one is based. These policies, in turn, drive design considerations, which dictate the inner workings of the system, including the following:
- Processor time—the amount of uninterrupted time the processor is allocated to a certain job.
- Memory space—the amount of memory area that a given job is allowed to monopolize at any time.
- Printers—the number of printers that one job is allowed to use.
- User access—the number of users who are allowed to log into the system.
- File access—the identity of the files that a given user can read, write, modify, or delete.
- System resources—the number of system resources that can be allocated to one job before it has to share them.
Before writing an operating system, these issues are examined by system designers who make choices that ideally will optimize the system's day-to-day operations. The goal is to minimize downtime, system crashes, wasted overhead, security breeches, overloaded printers, and other operational problems.
For example, if the designers want to create a simple operating system that would process each job in the order it arrives, without giving a higher priority to any of them, then the team might choose policies that would:
- Assign the processor to one job when it is received;
- Never interrupt processing once the job begins;
- Give it access to all files in the system, just in case they are needed later;
- Give the job all available disk space, printers, and network resources.
This would be a fair, unbiased system, but a very inefficient one. For example, if one big job was printing out thousands of pages for a large report, even if the printing required several days, then all other jobs would sit idle as they waited for it to finish. In the meantime, most of the available memory space, processor time, disk space, and other resources would also sit idle, waiting for the next job to begin.
Therefore, most modern operating systems feature complex formulas, which allow resources to be allocated wisely. Some systems allow multiple tasks, multiple jobs, multiple users, and even multiple processors, to work together so available resources can be shared without causing the system to crash routinely.
No single operating system can be considered the best for every situation because each one is based on policies that favor certain jobs or certain circumstances. That is why one operating system might be chosen to run an architect's computer and another might be preferred to operate a writer's computer.
see also Compatibility (Open Systems Design); Memory; Networks; Security.
Ann McIver McHoes
Flynn, Ida M., and Ann M. McHoes. Understanding Operating Systems, 3rd ed. Pacific Grove, CA: Brooks/Cole Publishing, 2001.
White, Ron. How Computers Work, 6th ed. Indianapolis, IN: Que, 2002.
A computer's operating system is one of the most important “parts” of the computer. Almost every type of computer—including mobile telephones, video game systems, E-book readers, and DVRs—needs an operating system in order to operate properly. When one turns on a computer, the operating system tells the computer what to do by controlling the system resources such as the processor, memory, disk space, etc. The operating system allows the user to work on the computer without having to know all the details about how the hardware works.
When choosing an operating system for a business, the primary considerations should be the hardware platform used, the number of users and attendant system security requirements, the ease of administration, the adaptability toward different uses, and the different applications that will be employed.
WHAT OPERATING SYSTEMS DO
One of the operating system's main tasks is to control the computer's resources—both the hardware and the software. The operating system allocates resources as necessary to ensure that each application receives the appropriate amount. In addition to resource allocation, operating systems provide a consistent application interface so that all applications use the hardware in the same way. This is particularly important if more than one type of computer uses the operating system or if the computer's hardware is likely to change. By having a consistent application program interface (API), software written on one computer can run on other types of computers. Developers face the challenge of keeping the operating system flexible enough to control hardware from the thousands of different computer manufacturers.
Operating systems must accomplish the following tasks:
- Processor management. The operating system needs to allocate enough of the processor's time to each process and application so that they can run as efficiently as possible. This is particularly important for multitasking. When the user has multiple applications and processes running, it is up to the operating system to ensure that they have enough resources to run properly.
- Memory storage and management. The operating system needs to ensure that each process has enough memory to execute the process, while also ensuring that one process does not use the memory allocated to another process. This must also be done in the most efficient manner. A computer has four general types of memory. In order of speed, they are: high-speed cache, main memory, secondary memory, and disk storage. The operating system must balance the needs of each process with the different types of memory available.
- Device management. Most computers have additional hardware, such as printers and scanners, connected to them. These devices require drivers, or special programs that translate the electrical signals sent from the operating system or application program to the hardware device. The operating system manages the input to and output from the computer. It often assigns high-priority blocks to drivers so that the hardware can be released and available for the next use as soon as possible.
- Application interface. Programmers use application program interfaces (APIs) to control the computer and operating system. As software developers write applications, they can insert these API functions in their programs. As the operating system encounters these API functions, it takes the desired action, so the programmer does not need to know the details of controlling the hardware.
- User interface. The user interface sits as a layer above the operating system. It is the part of the application through which the user interacts with the application. Some operating systems, such as Microsoft Windows and Apple Macintosh, use graphical user interfaces. Other operating systems, such as Unix, use shells.
TYPES OF OPERATING SYSTEMS
Most simple, single-function computers (such as in microwave ovens with digital keypads) do not require an operating system. In fact, trying to implement an operating system in these computers would be overkill. On the other hand, all personal desktop and laptop computers and servers do require an operating system. While there are hundreds of operating systems available, the most popular by far are the Microsoft Windows family of operating systems, the Macintosh operating system, and the Unix family of operating systems.
There are four general types of operating systems. Their use depends on the type of computer and the type of applications that will be run on those computers.
- Real-time operating systems (RTOS) are used to control machinery, scientific instruments, and industrial systems. In general, the user does not have much control over the functions performed by RTOS.
- Single-user, single-task operating systems allow one user to do one thing at a time. An example of a single-user, single-task operating system is the operating system used by personal digital assistants (PDAs), also known as handheld computers.
- Single-user, multi-tasking operating systems allow a single user to simultaneously run multiple applications on their computer. This is the type of operating system found on most personal desktop and laptop computers. Microsoft Windows, Mac OS, and Linux are three well-known examples of this type of system.
- Multi-user operating systems allow multiple users to simultaneously use the resources on a single computer. Unix is an example of a multi-user operating system.
AVAILABLE OPERATING SYSTEMS
The most popular and widely-known operating system is Windows, a family of operating systems introduced by the Microsoft Corporation in 1985. Windows employs a graphical user interface (GUI), which eliminates the need for the user to learn complex commands. With a GUI, the user instructs the operating system by using a mouse to point and click icons that are displayed on the screen. The first version of Windows, released in November 1985, was designed as a GUI add-on for MS-DOS (short for Microsoft Disk Operating System), Microsoft's original command-line operating system. In order to communicate with the computer, DOS users had to type commands or instructions at a command prompt, and then the command-line interpreter executed those commands. DOS has limited use with modern computer systems and applications because it does not support multiple users or multitasking. It is also not as “user friendly” as a GUI operating system. By the late-1990s, most command-line operating systems had been replaced by user-friendly systems using a GUI.
By the time Windows 3.1 was released in 1991, Windows had gained significantly in market share, and from the mid-1990s on, Microsoft dominated the operating-system market. Microsoft released Windows 95 in August 1995. It was so well marketed and in such high demand that people bought the operating system even if they did not own a home computer. With each new release, from Windows 98 to Windows 2000 to Windows XP to Windows Vista, Microsoft gained popularity. By 2004, Microsoft commanded around 90 percent of the operating-system market. The latest Windows release, Windows Vista, was introduced worldwide in January 2007, five years after the introduction of its predecessor, Windows XP—the longest time between releases of Windows. Vista is only slowly gaining in popularity, while Windows XP remains the world's dominant operating system, commanding 79 percent market share in September 2007 (compared to only 7 percent for Vista).
The second-most popular family of operating systems is the Mac OS. Macintosh is often credited with introducing the GUI-style operating system; Mac OS was not the first graphical user interface, but it was the
first successful one, largely because competitors were so expensive—the Xerox Alto, the first true GUI system, cost $32,000 to build while the Macintosh retailed for $2,500. Because of its relative affordability, it immediately became much more popular than other GUI computers. The first Mac OS, unnamed at the time but now known as “System 1,” was introduced in 1984. It had a desktop, windows, icons, a mouse, menus, and scrollbars.
Early versions of the Mac OS could only be used on Apple computers. In 1991, Apple introduced computers with PowerPC hardware; these computers could run either Windows or Mac OS. The latest version of the Mac OS, OS X, was first introduced in 2000. It can be used in computers with both PowerPC and Intel processors, giving it wider applicability and use. However, the Mac OS lags far behind Microsoft Windows. In 2007, it was the world's third-most popular operating system—after Windows XP and Windows Vista—but it commanded only slightly over 3 percent of the operating-system market.
UNIX is a multi-user, multitasking operating system, and was designed to be a small, flexible system used by computer programmers. UNIX is not considered to be very user-friendly for the average person due to its design. However, graphical user interfaces have been developed for UNIX to help alleviate the ease-of-use issue.
Linux is a UNIX variant that runs on several different hardware platforms. Linus Torvalds, a student at the University of Helsinki in Finland, initially created it as a hobby. The kernel, at the heart of all Linux systems, is developed and released under the General Public License (GNU), and its source code is freely available to everyone. There are now hundreds of companies, organizations, and individuals that have released their own versions of operating systems based on the Linux kernel.
Because of its functionality, adaptability, and robustness, Linux is able to compete against the Unix and Microsoft operating systems. IBM, Hewlett-Packard, and other computer giants have embraced Linux and support its ongoing development. More than a decade after its initial release, Linux is being adopted worldwide mainly as a server platform. More and more people are starting to use Linux as a home and office desktop operating system. The operating system can also be incorporated directly into microchips in a process called “embedding.” Many appliances and devices are now starting to use operating systems in this way.
SEE ALSO Computer-Integrated Manufacturing; Computer Networks; Computer Security; Data Processing and Data Management; Management Information Systems
Coustan, Dave, and Curt Franklin. How Operating Systems Work. How Stuff Works, Inc., 2005. Available from: http://computer.howstuffworks.com/operating-system.htm.
“IT Facts for OS.” Available from: http://www.itfacts.biz/category/os.
What is Linux? Linux Online. Available from: http://www.linux.org.
An operating system is the software program that allows all the parts of a computer system to function. It controls everything from accepting input from a mouse or a keyboard to sending files to a printer. Operating systems are also known as the platforms upon which various applications run. Microsoft Windows is one of the most popular operating systems, particularly for personal computers (PCs). On a PC equipped with Windows, only applications written for Windows will run. Similarly, machines using Unix, Linux, or other operating systems can only run programs designed for that system. Therefore, when selecting an operating system, it is important to consider what types of programs you wish to run to determine which systems best suits your needs.
DETERMING BUSINESS NEEDS
If you're simply purchasing a PC to compose word-processing documents, maintain financial spreadsheets and a customer database, run an email program, and surf the Internet, you may find yourself more concerned with the memory and processing speed of the machine than with your choice of operating system. The great majority of PCs come equipped with Microsoft Windows, and for individual users, investigating other options simply may not prove worthwhile. However, if you are looking at more sophisticated machines, like network servers, your operating system choice involves higher stakes. Not only are such machines more expensive, but the specialized operating systems which run them, like Unix and Windows NT, usually cost much more than their desktop equivalents.
COST VERSUS PERFORMANCE
One increasingly popular business operating system is Linux. Because Linux is a based on an open source code not owned by any corporate entity, Linux users are not subject to licensing fees. In fact, you can simply download Linux via the Internet for free; however, you may find yourself needing to hire technical expertise to help you get your Linux system up and running. Quite often, any costs associated with using Linux are related to either hiring such individuals or to purchasing the operating system from a Linux vendor, like Red Hat, which offers technical support, manuals, and related services for a fee. There are actually many different versions of Linux available, and not all share the same features. Still, the product's low cost makes it an attractive option for many small businesses. According to a May 2002 article in Business Week, "In the server-appliance business, mostly targeted at small-business and home-office users who want to easily network a few machines, Linux is quickly becoming the de facto operating system due to its low price—$0 per copy."
Along with cost is the issue of performance. If you are running an online business, the reliability of your operating system could very well determine your success. Online customers are easily frustrated when servers shut down, systems experience bottlenecks, and other problems arise. Completely avoiding these types of problems is impossible; rather, your goal should be to deal with these problems as effectively as possible. According to Mike Hogan in Entrepreneur, the low cost of using a Linux operating system allows small business owners to create "redundancy in different physical locations. Linux lets you deconstruct your work flow and spread its parts among servers worldwide. In this way, your site can more efficiently balance network loads and weather everything from a local power outage to a distributed denial of service attack." If this process sounds like a more complicated one than you are prepared to tackle, you can outsource the task to an application service provider (ASP) who will operate your site on its Linux servers. As of mid-2002, more than half of all Web sites used the Linux operating system.
Critics of Linux point out that the number of software programs written for the operating system are more limited than they are for more mainstream systems like Windows and Unix. They also point out that many businesses find it necessary to either have a Linux expert in-house or hire a consultant for technical support. However, leading software companies like Veritas, SAP, and IBM have unveiled Linux versions of their best-selling programs. In addition, technology giants like Oracle Corp. began making use of Linux for their corporate intranets. Equally important to the mainstream acceptance of Linux was Amazon.com's decision to begin powering its Web servers with Linux, reportedly saving $17 million.
If you decide to allow a Web hosting company to run your Web site on its servers, chances are you won't be involved in the details of managing the operating system. If, however, you plan to purchase and operate your own servers, you must choose an operating system will run those servers. The growing popularity of Linux does not necessary mean it's the best choice for every business. Research a variety of server and operating system options—many servers come with operating systems already installed—and compare the pros and cons of each to determine which package is best suited to your business.
"Before Red Hat Sees Blue Skies." Business Week, May 16, 2002. Available from http://www.businessweek.com.
Cavanah, Cassandra. "Pound for Pound." Entrepreneur, May 2000. Available from http://www.entrepreneur.com.
"Giant Steps for a Software Upstart." Business Week, May 16, 2002. Available from http://www.businessweek.com.
Hogan, Mike. "The Penguin's Revenge." Entreprenuer, July 2001. Available from http://www.entrepreneur.com.
Orzech, Dan. "Bidding on Linux." Inc.com, June 15, 2000. Available from http://www2.inc.com.
disk operating system
OS • abbr. ∎ (in calculating dates) Old Style. ∎ Comput. operating system. ∎ Ordinary Seaman. ∎ (in the UK) Ordnance Survey. ∎ (as a size of clothing) outsize. ∎ out of stock.
op·er·at·ing sys·tem • n. the software that supports a computer's basic functions, such as scheduling tasks, executing applications, and controlling peripherals.
Os, symbol for the element osmium.