820 likes | 946 Views
Guide to Operating Systems, 4 th ed. Chapter 1: Operating System Theory. About the Presentations. The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning of each presentation.
E N D
Guide to Operating Systems, 4th ed. Chapter 1: Operating System Theory
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning of each presentation. You may customize the presentations to fit your class needs. Some figures from the chapters are included. A complete set of images from the book can be found on the Instructor Resources disc.
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 Objectives Guide to Operating Systems, 4th ed. 3
An Introduction to Operating Systems An operating system (OS) is a set of basic programming instructions to computer hardware, forming a layer of programming code on which most other functions of the computer are built. The kernel is the programming code that is the core of the operating system. Code is a general term that refers to instructions written in a computer programming language. Computer hardware consists of physical devices such as the central processing unit (CPU), circuit boards, the monitor and keyboard, and disk drives. Guide to Operating Systems, 4th ed.
An Introduction to Operating Systems Two types of operating systems will be covered in this book: Desktop operating system – installed on a personal computer (PC) type of computer that is used by one person at a time, and that may or may not be connected to a network. The hardware for a desktop computer can be in several forms: A full desktop computer consisting of separate components for the monitor , CPU box, keyboard, and mouse; A portable or laptop unit that combines the monitor, CPU box, keyboard and pointing device in an all-in-one device that is easy to carry; A combination such as the iMac computer in which the monitor and CPU are in one unit with a separate keyboard and mouse. Guide to Operating Systems, 4th ed.
An Introduction to Operating Systems Two types of operating systems will be covered in this book: Server operating system – installed on a more powerful computer that is connected to a network, and can act in many roles to enable multiple users to access information such as e-mail, files, and software. The server hardware can take different forms, including: Traditional server hardware Rack-mounted server hardware Blade servers. Guide to Operating Systems, 4th ed.
An Introduction to Operating Systems Traditional server – often used by small or medium businesses Usually consists of a monitor, CPU box, keyboard, and mouse Rack-mounted server – CPU boxes mounted in racks that can hold multiple servers All servers often share one monitor and pointing device One rack can hold up to about 40 servers. Blade servers – looks like a card that fits into a blade enclosure A blade enclosure is a large box with slots for blade servers Medium and large organizations use blade servers to help conserve space and to consolidate server management One blade enclosure can house over 120 blade servers. Guide to Operating Systems, 4th ed.
An Introduction to Operating Systems Modern desktop and server operating systems are designed to enable network communications so that the operating systems can communicate with one another over a network cable, through wireless communications, and through the Internet. Network communications enable sharing files, sharing printers, and sending e-mail. Guide to Operating Systems, 4th ed.
An Introduction to Operating Systems A basic task of an OS is to take care of input/output (I/O) functions, which let other programs communicate with the computer hardware. The I/O functions take requests from the software the user runs (the application software), and translate them into low-level requests that the hardware can understand and carry out. An operating system serves as an interface between application software and hardware. Guide to Operating Systems, 4th ed.
An Introduction to Operating Systems Some examples of I/O tasks: Handle input from the keyboard, mouse, and other input devices Handle output to the monitor and printer Handle remote communications using a modem Manage network communications, such as for a local network and the Internet Control input/output for devices such as network interface card Control information storage and retrieval using various types of disk Enable multimedia use for voice and video composition or reproduction, such as recording video from a camera or playing music Guide to Operating Systems, 4th ed.
An Introduction to Operating Systems General tasks for all operating systems Guide to Operating Systems, 4th ed.
A Short History of Operating Systems Initially, computers were used as large automated calculators for mathematical and statistical problems. Computers were extremely large, often taking up entire rooms. Legitimate use of today’s digital computers can be traced back 100 years or more, but there were no practical designs used by significant numbers of people until the late 1950’s. Scientists programmed these computers to perform precise tasks, the exact tasks for which they were built. Guide to Operating Systems, 4th ed.
A Short History of Operating Systems Operating systems were rudimentary, often not able to do more than read punch cards or tape and write output to teletype machines. A tape or deck of cards was loaded, a button was pushed on the machine to indicate the input was ready and the machine started to read the tape and perform the operations requested. If all went well, the work was done and the output was generated. This output would be sent to the teletype. Guide to Operating Systems, 4th ed.
A Short History of Operating Systems Prior to operating systems: Any program that the computer ran had to include all logic to control the computer. Because this logic was complex, and not all scientists were computer scientists, the operating system was a tool that allowed non-computer scientists to use computers. This reduced programming work and increased efficiency. Guide to Operating Systems, 4th ed.
A Short History of Operating Systems There was, however, not that much to “operate” on. Mainly the punched card and punch tape readers for input and the teletype for output. There was also not that much to operate with. Memory capacity was very limited and the processing speed o the computer was slow by our standards. The art in operating systems design, therefore, largely was to keep them very small and efficient. Guide to Operating Systems, 4th ed.
A Short History of Operating Systems It did not take long before computer applications evolved to actually do something useful for a broader audience. Computers of the late 60’s and early 70’s may be crude by today’s standards but they were quite capable and handled extremely complex tasks. These computers contributed to the development of space travel, submarine-based ballistic missiles, and the global financial community. All on much less than 1MB of memory. This period also saw the beginning of a global, computer-based communications system called the Internet. Guide to Operating Systems, 4th ed.
A Short History of Operating Systems Applications became logically more complex, requiring larger programs and large amounts of data. With more useful applications being developed, the wait to “run” programs became longer. Input/output devices were created, and computer memory capacity and speed increased. The display terminal – a teletype machine with a keyboard that did not print on paper, but projected letters on a screen. The magnetic tape drive – used to store and retrieve data and programs on tape, could store more and was less operator intensive than paper tape. With more devices to manage, operating systems became more complex and extensive. Guide to Operating Systems, 4th ed.
A Short History of Operating Systems The next evolution was the ability to share computer resources among various programs. If a computer was very fast and could quickly switch among various programs, you could do several tasks seemingly all at once, and serve many people simultaneously. Digital Equipment Corporation’s (DEC) PDP series computers ran the DEC operating system. PDP-8 computers were general-purpose machines that at one time were the top selling computers. The PDP series could also run Multics, which was the basis for the development of the first version of UNIX, a multiuser, multitasking operating system. The original UNIX was developed at AT&T Bell Labs in 1969 by Kenneth Thompson and Dennis Ritchie as an improvement on Multics. Guide to Operating Systems, 4th ed.
A Short History of Operating Systems Later, DEC VAX computers used Virtual Memory System (VMS), a powerful, multitasking, multiuser operating system that was strong on networking. IBM mainframes made a series of operating systems popular. Programming computers at this time was still a very complicated process best left to the scientists. Guide to Operating Systems, 4th ed.
A Short History of Operating Systems In the mid-1960’s, a simple programming language was developed at Dartmouth College BASIC – Beginner’s All-purpose Symbolic Instruction Code BASIC allowed “nonprogrammers” to start exploring what could be done with computers In 1975, Bill Gates wrote a compiler (software that turns computer code written by people into code that is understood by computers) for BASIC Sold it to a company called Micro Instrumentation Telemetry Systems (MITS) Became the first company to produce a desktop computer that was widely accepted , and could conduct useful work at the hands of any knowledgeable programmer. Guide to Operating Systems, 4th ed.
A Short History of Operating Systems Bill Gates started a new company called Microsoft Adapted popular mainframe and minicomputer programming languages, such as FORTRAN and COBOL, so they could be used in desktop computers. The microcomputer was introduced in the mid-1970s. These machines typically had many of the old restrictions, including slow speed and little memory. Many microcomputers came with a small operating system and Read-Only Memory (ROM) that did no more than provide an elementary screen, keyboard, printer, and disk input and output. Guide to Operating Systems, 4th ed.
A Short History of Operating Systems Bill Gates put together a team at Microsoft to adapt a fledging version of a new microcomputer operating system called 86-DOS to run on a prototype of a new microcomputer being developed by IBM, called the personal computer (PC). 86-DOS evolved in 1980 into the Microsoft Disk Operating System (MS-DOS). MS-DOS was designed as a command-line interface, which means that users type in commands instead of using the graphical user interface (GUI) point-and-click method that is common today. MS-DOS became a runaway success and was the first widely distributed operating system for microcomputers that had to be loaded from disk or tape. Guide to Operating Systems, 4th ed.
A Short History of Operating Systems MS-DOS provided the basic operating system functions and was amazingly similar to what was used before on larger computers. It supported basic functions, such as keyboard, disk and printer I/O – and communications. More and more support functions were added, including support for hard disks. Guide to Operating Systems, 4th ed.
A Short History of Operating Systems In 1984, the Apple Macintosh was introduced with a GUI and mouse pointing device, which allowed users to interact with the OS on a graphical screen, using the mouse to point at or click icons or to select items from menus to accomplish tasks. Microsoft chose to wait on the development of a GUI. The MAC seemed light years ahead of the IBM PC. Its operating system came with a standard GUI while MS-DOS was still based on entering text commands The MAC OS managed computer memory closely for the software. Because the MAC OS managed all computer memory for the application programs, you could start several programs sequentially and switch among them. Guide to Operating Systems, 4th ed.
A Short History of Operating Systems MAC OS was also years ahead in I/O functions. In MS-DOS, a program had to provide its own drivers for I/O devices; MS-DOS provided only the most rudimentary interface. On MAC OS, many I/O functions were part of the operating system. In 1985, Microsoft released Windows, which provided a GUI and many of the same functions as MAC OS. The first Windows was really an operating “environment” running on top of MS-DOS, made to look like a single operating system. Today’s Windows is no longer based on DOS and is a full-fledged operating system. Although Apple was six years ahead of Microsoft in offering a friendly GUI-based OS, Apple ultimately fell well behind Microsoft in sales because it chose not to license the MAC OS to outside hardware vendors. Guide to Operating Systems, 4th ed.
A Short History of Operating Systems Today, both Windows and MAC OS X are very similar in what they can do and how they can do it. They have a wealth of features and drivers that make the original DOS look elementary. Their principle functions are unchanged, however: to provide an interface between the application programs and hardware, and to provide a user interface for basic functions, such as file and disk management. Guide to Operating Systems, 4th ed.
Understanding How Operating Systems Work Elements that enable an operating system to work with a computer include: The kernel Resource managers Device drivers Application software BIOS Guide to Operating Systems, 4th ed.
The Kernel The kernel consists of the essential program code of the operating system Jobs performed by the kernel can include: Managing interactions with the CPU Starting, managing, and scheduling programs that handle I/O activities, including device and networking activities Handling basic computer security Managing use of the computer’s memory (RAM) Managing priority levels assigned to programs and computer processes Guide to Operating Systems, 4th ed.
The Kernel In Windows, the name of the kernel file is ntoskrnl.exe. In MAC OS Z the kernel is called XNU. The actual kernel name in Linux depends on the distribution and release of Linux. A distribution is 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. Red Hat Enterprise LINUX has customizations that are useful for organizations and businesses, and this distribution is sold through the Red Hat company. Guide to Operating Systems, 4th ed.
The Kernel GNU LINUX is a distribution built on a LINUX kernel, but with added tools from the GNU Project and the free software foundation. GNU LINUX is free. Fedora Linux is sponsored by Red Hat to serve as a development vehicle for testing customizations that may or may not be incorporated in Red Hat Enterprise LINUX. Fedora LINUX is offered free as a way to encourage the public to test new features prior to incorporating them in Red Hat Enterprise LINUX. Guide to Operating Systems, 4th ed.
Resource Managers One of the functions of the operating system is to manage memory and central processor use. The operating system uses specialized programs called resource managers to help ensure memory is used properly and there are no memory conflicts. The operating system manages how programs access the processing capabilities of the CPU. Example: if there is one CPU and ten programs that want to access the CPU, the OS will give each program a time slice on the CPU Each program does a little working during its time slice and then hands the CPU access over to the next program Guide to Operating Systems, 4th ed.
Device Drivers and the Operating System The operating system communicates and works directly with many devices, including the monitor, keyboard, disk drives, mouse, network adaptor, speakers, etc. Some operating system programs exchange information with specific hardware (chips) inside the computer that control these devices. The code (instructions) for this information exchange is typically referred to as a device driver. Guide to Operating Systems, 4th ed.
Device Drivers and the Operating System A device driver translates computer code to display text on a screen, or translates movements of a mouse into action. A separate device driver is usually present for each I/O device. Operating systems have a standardized way of communicating with a certain type of device driver. The device driver contains the actual code (instructions) to communicate with the chips on the device. Guide to Operating Systems, 4th ed.
Device Drivers and the Operating System If another piece of hardware is introduced into the computer, the operating system code does not have to change. All that needs to be done to enable the computer to communicate with the new device is to load a new device driver onto the operating system. Guide to Operating Systems, 4th ed.
Device Drivers and the Operating System Device drivers interface the operating system with various hardware devices Guide to Operating Systems, 4th ed.
Device Drivers and the Operating System Examples of hardware that might require a device driver: Fixed internal hard disk drives Mouse and trackball devices Printers and scanners Tape drives, flash drives, and other removable media Digital cameras and video hardware Many others listed on page 14 Guide to Operating Systems, 4th ed.
The Role of the Application Software In addition to communicating with computer hardware, the OS communicates with the application software running on the computer. Application software is any program a user might choose to run on a computer. Examples: word processor, spreadsheet, database, and a computer game If an application program accesses a piece of hardware, it send a request to the OS to execute the job. An operating system manages the communication among the applications, the user, and the computer Guide to Operating Systems, 4th ed.
The Role of the Application Software Application programs communicate with hardware through the OS Guide to Operating Systems, 4th ed.
The Role of the Application Software An application program can submit an I/O request to the OS, and the OS handles the details. In early OSs, programmers designed code to directly access hardware to improve overall application performance. This practice can make hardware response fast, but had serious drawbacks: Memory is often required for directly managing the hardware. If a memory block is programmed for use that conflicts with the same memory block used by other hardware or the OS, the hardware devices involved may become unstable or the OS may crash. Guide to Operating Systems, 4th ed.
The Role of the Application Software Incompatibility with other software that also needs to use the hardware or that uses the same memory block can cause the software applications to hang or “crash”. Direct access to hardware devices makes a system more vulnerable to malicious software (malware) or an attacker. Guide to Operating Systems, 4th ed.
The Role of the BIOS BIOS – basic input/output system A low-level program code that: Initiates and enables communications with hardware devices Performs tests at startup, such as memory and hardware component tests: power-on self test (POST) Conducts basic hardware and software communications inside the computer Starts a full-fledged operating system that interfaces with the user Guide to Operating Systems, 4th ed.
The Role of the BIOS Every PC has a BIOS, which is stored in a nonvolatile random access memory (NVRAM) NVRAM is a memory chip that does not lose its contents when the computer is turned off. In early PCs, the BIOS was stored in a read-only memory (ROM) chip. Information can only be burned into a ROM once. An NVRAM chip can be updated. Updates can be applied to the BIOS. Guide to Operating Systems, 4th ed.
The Role of the BIOS The type of NVRAM chip used to store the BIOS is called a complementary metal oxide semiconductor (CMOS) memory chip. A CMOS chip uses a low-power technology, and when used to store the BIOS it is powered by a small battery. When a PC is turned on: The machine wakes up via the CMOS chip and runs a startup program inside the BIOS. This program initializes the screen and keyboard, tests hardware (CPU and memory), initializes the hard disk and other drives (DVD/CD-ROM drives). Loads the main operating system Guide to Operating Systems, 4th ed.
The Role of the BIOS Sample BIOS setup screen Guide to Operating Systems, 4th ed.
Understanding How Operating Systems Work General operating system design Guide to Operating Systems, 4th ed.
Understanding How Operating Systems Work Application Software A User-written program. Application Programming Interface – software designed to communicate with the application software and the user. It translates requests from an application into code that the OS kernel can understand and pass on to the hardware device drivers, and translates data from the kernel and device drivers so the application can use it. Provides an interface to the BIOS. An application program may request to create a specific display of characters on the monitor, and the API translates the request from the application to the kernel. Guide to Operating Systems, 4th ed.
Understanding How Operating Systems Work BIOS provides the basic I/O functions to communicate with system devices. Operating System Kernel The core of the OS that coordinates OS functions (control of memory. CPU access, and storage). Communicates with the BIOS, device drivers, and the API to perform these functions. Interfaces with the resource managers. Resource Managers programs that manage computer memory and computer processor use. Guide to Operating Systems, 4th ed.
Understanding How Operating Systems Work Device Drivers programs that take requests from the API via the kernel and translate them into commands to manipulate specific hardware devices (disks, tape drives, keyboards, monitors, and printers). Optional drivers for other functions and devices, such as sound. Computer Hardware disks, storage, CPU, mouse, keyboard, monitor, printer, etc. Guide to Operating Systems, 4th ed.
Understanding How Operating Systems Work All OSs incorporate the basic I/O functions. The OSs we are accustomed to (MAC OS X, Microsoft Windows, UNIX/Linux) include many additional functions. Logic to handle files Set the time and date Manage memory Guide to Operating Systems, 4th ed.
Understanding How Operating Systems Work Some elements that most OSs have in common are: Provide an interface between the computer hardware and application programs Act as an intermediary between the use and applications Provide a user interface into computer hardware and application programs Manage memory and central processor use Manage peripheral devices, such as printers, monitors, keyboard, etc. Guide to Operating Systems, 4th ed.