Guide to Operating Systems 4th edition Palmer & Walters Chapter 1 Operating System Theory Overview This chapter introduces the idea of an operating system, and describes its basic functionalities. A student should have a general idea of what an operating system is, and what role it fulfills by the end of this chapter. Objectives Explain basic operating system concepts Understand the history of operating system development Discuss how operating systems work Describe the types of operating systems Discuss single-tasking versus multitasking Differentiate between single-user and multiuser operating systems List and briefly describe current operating systems Key Terms Copy backup A backup that copies selected files to the selected medium without marking files as backed up application programming interface (API) Functions or programming features in an operating system that programmers can use for network links, links to messaging services, or interfaces to other systems. application software A word processor, spreadsheet, database, computer game, or other type of application that a user runs on a computer. Application software consists of computer code that is formatted so that the computer or its operating system can translate that code into a specific task, such as writing a document. basic input/output system (BIOS) Low-level program code that conducts basic hardware and software communications inside the computer. A computer’s BIOS basically resides between computer hardware and the higher level operating system, such as UNIX or Windows. batch processing A computing style frequently employed by large systems. A request for a series of processes is submitted to the computer; information is displayed or printed when the batch is complete. Batches might include processing all of the checks submitted to a bank for a day, or all of the purchases in a wholesale inventory system, for example. Compare to sequential processing. Beginner’s All-purpose Symbolic Instruction Code (BASIC) An English-like computer programming language originally designed as a teaching tool, but which evolved into a useful and relatively powerful development language. Guide to Operating Systems 4th edition Palmer & Walters blade enclosure A large box with slots for blade servers and the box provides cooling fans, electrical power, connection to a shared monitor and pointing device, and even network connectivity. The actual design depends on the manufacturer. blade server A server unit that looks like a card that fits into a blade enclosure. Blade servers are intended to save space. See blade enclosure. client/server systems A computer hardware and software design in which different portions of an application execute on different computers, or on different components of a single computer. Typically, client software supports user I/O, and server software conducts database searches, manages printer output, and the like. cloud computing A computing technology that provides a host of scalable Web-based applications and services over the Internet or a private network that are used by clients through Web browsers. code Instructions written in a computer programming language. command-line interface An interface that enables the user to display a command line from which to enter commands, such as through the Command Prompt window in Windows operating systems and the terminal window in Linux and Mac OS X. complementary metal oxide semiconductor (CMOS) memory A type of NVRAM that uses a low-power technology and when employed to store the BIOS in a computer, it is powered by a small battery. See non-volatile random access memory (NVRAM). cooperative multitasking A computer hardware and software design in which the operating system temporarily hands off control to an application and waits for the application to return control to the operating system. Compare to preemptive multitasking. desktop operating system A computer operating system that typically is installed on a PC type of computer, usually used by one person at a time, that may or may not be connected to a network. device driver Computer software designed to provide the operating system and application software access to specific computer hardware. distribution An issuance of UNIX or Linux that is based on a standard kernel, but that also has customizations added by a particular private or commercial development group. graphical user interface (GUI) An interface between the user and an operating system, which presents information in an intuitive graphical format that employs multiple colors, figures, icons, windows, toolbars, and other features. A GUI is usually deployed with a pointing device, such as a mouse, to make the user more productive. hardware The physical devices in a computer that you can touch (if you have the cover off), such as the CPU, circuit boards (cards), disk drives, monitor, and modem. input/output (I/O) Input is information taken in by a computer device to handle or process, such as characters typed at a keyboard. Output is information sent out by a computer device after that information is handled or processed, such as displaying the characters typed at the keyboard on the monitor. kernel An essential set of programs and computer code built into a computer operating system to control processor, disk, memory, and other functions central to the basic operation of a computer. The kernel communicates with the BIOS, device drivers, and the API to perform these functions. It also interfaces with the resource managers. Microsoft Disk Operating System (MS-DOS) The first widely distributed operating system for microcomputers, created by Tim Patterson and a team, including Bill Gates, at Microsoft. This is generic computer code used to control many basic computer hardware and software functions. MS-DOS is sometimes referred to as DOS. Guide to Operating Systems 4th edition Palmer & Walters multitasking A technique that allows a computer to run two or more programs at the same time. multithreading Running several program processes or parts (threads) at the same time. multiuser system A computer hardware and software system designed to service multiple users who access the computer’s hardware and software applications simultaneously. nonvolatile random access memory (NVRAM) Computer memory that does not lose its contents when the power is turned off. One way to ensure non-volatile memory is by connecting the memory to a battery. The BIOS in a computer is typically stored in an NVRAM chip, such as a CMOS chip. See complementary metal oxide semiconductor (CMOS). operating system (OS) Computer software code that interfaces with user application software and the computer’s BIOS to allow the applications to interact with the computer hardware. power-on self test (POST) Tests, such as memory and hardware component tests, that are run by the BIOS when a computer first starts and that must complete before the operating system is loaded. See basic input/out system (BIOS). preemptive multitasking A computer hardware and software design for multitasking of applications in which the operating system retains control of the computer at all times. See cooperative multitasking for comparison. rack-mounted server CPU boxes mounted in racks that can hold multiple servers, each with its own power cord and network connection—and that often share one monitor and pointing device. read-only memory (ROM) Memory that contains information that is not erased when the power is removed from the memory hardware. real-time system An operating system that interacts directly with the user and responds in real time with required information. resource managers Programs that manage computer memory and CPU use. sequential processing A computer processing style in which each operation is submitted, acted upon, and the results displayed before the next process is started. Compare to batch processing. server operating system A computer operating system usually found on more powerful PC-based computers than those used for desktop operating systems, which is connected to a network, and that can act in many roles to enable multiple users to access information, such as e-mail, files, and software. shell An interface to enable humans to interact with an operating system kernel. The shell enables the user to execute commands. See kernel. single-tasking A computer hardware and software design that can manage only a single task at a time. single-user system A computer hardware and software system that enables only one user to access its resources at a particular time. supercomputer A computer that has extreme processing power and speed to handle complex computations that are beyond the reach of other computers. task switching A hybrid between single-tasking and multitasking that permits the user or application software to switch among multiple single-tasking operations. time-sharing system A central computer system, such as a mainframe, that is used by multiple users and applications simultaneously.