module-1-operating-systems-fundamentals.pdf
Document Details
Uploaded by JoyousLiberty
Davao del Norte State College
Tags
Full Transcript
lOMoARcPSD|38660734 Module 1 - Operating Systems Fundamentals Intro to Computing (Davao del Norte State College) Scan to open on Studocu Studocu is not sponsored or endorsed by any college or university D...
lOMoARcPSD|38660734 Module 1 - Operating Systems Fundamentals Intro to Computing (Davao del Norte State College) Scan to open on Studocu Studocu is not sponsored or endorsed by any college or university Downloaded by Micko James Amolo ([email protected]) lOMoARcPSD|38660734 Module No. and Title : Module 1: Operating Systems Fundamentals Lesson No. and Title : Lesson 1: An Introduction to Operating Systems Lesson 2: A Short History of Operating System Lesson 3: Understanding How Operating Systems Work Lesson 4: Types of Operating Systems Lesson 5: Single Tasking Versus Multitasking Lesson 6: Single-User Versus Multiuser Operating Systems Lesson 7: Current Operating Systems Learning Outcomes: In this chapter you will learn about: 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 Time Frame: Introduction: Hello my dear students! Welcome to this chapter which covers operating system were a software that starts the basic functions of a computer, displays documents on the computer’s monitor, accesses the Internet, and runs applications— it transforms the computer into a powerful tool. There are many kinds of operating systems, but only a few have captured a wide audience. Server operating systems like Windows Server 2016 and UNIX run on network servers, and client operating systems like Windows 10, Mac OS X, and Ubuntu Linux run on desktop computers. Some operating systems are very specialized and rarely seen, such as those that run the electronics in a car. Others are ubiquitous, such as Android and iOS, which run mobile devices. Keep Fighting! And Enjoy Learning! Abstraction: 1|Page Downloaded by Micko James Amolo ([email protected]) lOMoARcPSD|38660734 LESSON 1: An Introduction to Operating Systems Before we discuss how an operating system works, let’s review the basic functions of any computer. A computer’s functions and features can be broken down into the three basic tasks all computers perform: input, processing, and output. Information is input to a computer from a device such as a keyboard or from a storage device such as a hard drive; the central processing unit (CPU) processes the information, and then output is usually created. The following example illustrates the process: Input—A user running a word-processing program types the letter A on the keyboard, which results in sending a code to the computer representing the letter A. Processing—The computer’s CPU determines what letter was typed by looking up the keyboard code in a table. Output—The CPU sends instructions to the graphics cards to display the letter A, which is then sent to the computer monitor. The three functions described above involve some type of computer hardware, but the hardware is controlled and coordinated by the operating system. Without an operating system, every application you use would have to know the details of how to work with each of the hardware devices. Without the operating system to coordinate things, only one application could run at a time. So, you couldn’t open a Web browser while working on a Word document, for example. The operating system can be seen as the go-between for the applications you run and the computer hardware. In a nutshell, an operating system (OS) is a specialized computer program that provides the following features: User interface—The user interface provides a method for users to interact with the computer, usually with a keyboard and mouse or touch screen. A user clicks, touches, or types; the computer processes the input and provides some type of output. File system—The file system is the method by which an OS stores and organizes files and manages access to files on a storage device, such as a hard drive. Processes and services—A process is a program that’s loaded into memory and run by the CPU. It can be an application a user interacts with, such as a word-processing program or a Web browser, or a program with no user interface that communicates with and provides services to other processes. This type of process is usually called a service in Windows and a daemon in Linux, and is said to run in the background because there’s no user interface. 2|Page Downloaded by Micko James Amolo ([email protected]) lOMoARcPSD|38660734 Kernel—The kernel is the heart of the OS and runs with the highest priority. It schedules processes to run, making sure high-priority processes are taken care of first; manages memory to ensure that two applications don’t attempt to use the same memory space; and makes sure I/O devices are accessed by only one process at a time, in addition to other tasks. Each of the above OS components are discussed in more detail throughout this book. For now, let’s look more closely at various types of OSs. A. Desktop Versus Server Operating System A computer program is a series of instructions executed by the computer’s CPU. A computer program can be large and complex, like an operating system, or it can be small and fairly simple, such as a basic app running on a mobile device. What’s special about an operating system program compared to an app is that the operating system is loaded when the computer is turned on and remains running until you turn the computer off. Its job is to make the computer useful so you can run apps, access the Internet, and communicate with other computers. While there are many types of OSs, and they are designed for different purposes, this book focuses on desktop or client OSs, and server OSs. A desktop operating system, or client operating system, is typically installed on a personal computer (PC) that is used by one person at a time, and is almost always connected to a network, either wired or wirelessly. The hardware used with a client OS can be in several forms, such as: 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 A fourth category, often referred to as a 2-in-1, consists of a large tablet computer such as the iPad Pro or Microsoft Surface, along with a detachable keyboard A server operating system is usually installed on a more powerful computer that typically has a wired connection 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 also take different forms, including traditional server hardware, rack-mounted server hardware, and blade servers. The traditional server, often used by small or medium-sized businesses, consists of a monitor, CPU box, keyboard, and mouse. Rack-mounted servers are CPU boxes mounted in racks that can hold multiple servers. Each rack-mounted 3|Page Downloaded by Micko James Amolo ([email protected]) lOMoARcPSD|38660734 server typically has its own power cord and network connection—but these servers often share one monitor and pointing device. Depending on the height of the rack and the height of the servers, one rack can hold a few servers or several dozen. Blade servers conserve even more space than rack-mounted servers; each blade server typically looks like a card that fits into a blade enclosure. The blade enclosure is a large box with a backplane that contains slots for blade servers; the box provides cooling fans, electrical power, connection to a shared monitor and pointing device, and even network connectivity, depending on the blade enclosure. A single blade enclosure can house over 100 blade servers. Medium-sized and large organizations use rack-mounted and blade servers to help conserve space and to consolidate server management. 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. B. Input and Output One of the most basic tasks of an operating system 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. In general, an operating system serves as an interface between application software and hardware, as shown in Figure 1-1. Operating systems perform the following I/O tasks: Handle input from the keyboard, mouse, and other input devices Handle output to the monitor and printer Manage network communications, such as for a local network and the Internet Control input/output for devices such as network interface cards Control information storage and retrieval using various types of storage media such as hard drives, flash drives, and DVDs Enable multimedia use for voice and video composition or reproduction, such as recording video from a camera or playing music through speakers 4|Page Downloaded by Micko James Amolo ([email protected]) lOMoARcPSD|38660734 Figure 1-1 General tasks for all operating systems LESSON 2: A Short History of Operating Systems 5|Page Downloaded by Micko James Amolo ([email protected]) lOMoARcPSD|38660734 6|Page Downloaded by Micko James Amolo ([email protected]) lOMoARcPSD|38660734 Table 1-1 Operating system releases from 1968 to 1999 7|Page Downloaded by Micko James Amolo ([email protected]) lOMoARcPSD|38660734 LESSON 3: Understanding How Operating Systems Work Many elements go into enabling an operating system to work with the computer on which it is loaded. These include: The kernel Resource managers Device drivers Application software BIOS In the next sections you learn about each of these elements. The sections are followed by a summary to help you put the information together. A. The Kernel The kernel consists of the essential program code of the operating system. To help illustrate this concept, you might draw a parallel to a general contractor on a job site. The general contractor is there to schedule all the specific tasks that must be completed to finish the job and to ensure that all the subcontractors have the necessary resources and tools to do their jobs in a timely manner. Tasks are scheduled, resources are allocated, and then tasks are terminated and resources released so they can be used for other tasks. Scheduling computer processes and managing resources, such as memory and processing time, are key tasks of the OS kernel. The 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 In Windows systems, the name of the kernel file is ntoskrnl.exe. In Mac OS X, the kernel is called XNU. The actual kernel name in Linux depends on the distribution and release of Linux. You can determine information about the kernel by using the uname -sr command in Linux (see Hands-On Project 1-5 to learn how to execute the uname command). B. Resource Managers 8|Page Downloaded by Micko James Amolo ([email protected]) lOMoARcPSD|38660734 One of the functions of the operating system is to manage RAM and central processor use. For example, programs and devices require access to memory. If two devices or programs use the same memory space at the same time, they will not function properly, and they might cause the computer and operating system to hang. Even the computer’s CPU contains memory that must be properly managed to avoid problems. The operating system uses specialized programs called resource managers to help ensure that memory is used properly and there are no memory conflicts. The operating system also manages how programs access the processing capabilities of the CPU. Even if a computer has two or more CPUs, it is still important that one program not dominate the processing time on any one CPU. If one program were able to take over all of the time on a CPU, the computer might appear to hang and the work by other programs would come to a halt, possibly crashing the computer. When multiple programs and processes are running, the operating system manages the amount of time each is given by the CPU. For example, if there is one CPU and 10 programs that want to access it, the operating system will give each program a time slice on the CPU—as determined by the priority the CPU gives a particular program or process. Each program or process does a little work during its time slice, and then the kernel gives the next program or process CPU access for its time slice. Often programs associated with operating system tasks have a higher priority than user programs, because operating system programs are necessary for the smooth functioning of the computer. C. 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, sound card, and so on. 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. A device driver translates computer code to display text on a screen, or translates movements of a mouse into action, for example. A separate device driver is usually present for each I/O device, as shown in Figure 1-2. In general, 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. This way, if another piece of hardware is introduced into the computer, the operating system code does not have to change. To enable the computer to communicate with the new device, you simply need to load a new device driver onto the operating system. 9|Page Downloaded by Micko James Amolo ([email protected]) lOMoARcPSD|38660734 Figure 1-2 Device drivers provide communication between the OS and hardware devices For example, high-capacity removable hard drives that connect through a Universal Serial Bus (USB) were introduced after some earlier operating systems were written. Thus, earlier versions of operating systems did not natively support USB-based removable hard drives. However, because removable hard drives are similar to other types of disk drives, early versions of operating systems could be adapted to use removable hard drives by loading a few simple drivers for the operating system. You may encounter device drivers that interface with your operating system for other devices, including: Fixed internal hard disk drives (HDDs) and solid state drives (SSDs) Computer monitors Keyboards Mouse and trackball devices Remote communications modems Printers and scanners Tape drives, flash drives, hard drives, and other removable media Digital cameras and video hardware MP3 players or other audio hardware DVD/CD-ROM drives Gaming interfaces PDA (personal digital assistant) interfaces Wired and wireless network interfaces USB interfaces D. The Role of Application Software 10 | P a g e Downloaded by Micko James Amolo ([email protected]) lOMoARcPSD|38660734 In addition to communicating with computer hardware, the operating system communicates with the application software running on the computer, as shown in Figure 1-3. Application software is a fairly vague term; it can mean a word processor, spreadsheet, database, computer game, or many other types of applications. Basically, application software is any program a user might choose to run on the computer. If an application program accesses a piece of hardware, it sends a request to the operating system to execute the job. For example, the application program may have to access the keyboard to see if a user has pressed a key, or might need to access the monitor to show the user a message. This makes the application programmer’s job easier because she does not have to know exactly how to manipulate the chips in the computer to communicate with the keyboard, monitor, or printer. She only has to know how to communicate with the operating system. Figure 1-3 Application programs communicate with hardware through the operating system 11 | P a g e Downloaded by Micko James Amolo ([email protected]) lOMoARcPSD|38660734 In its most basic form, an operating system manages the communication among the application programs, the user, and the computer. This level of management allows application programmers to concentrate on applications that will run on any hardware, as long as the operating system can control them. In other words, an application program can submit a general request to the operating system, such as “write this information to disk,” and the operating system handles the details. The application programmer doesn’t have to worry about how to queue data, update the disk directory, or physically copy data from memory to the disk drive. In early operating systems, programmers designed code to directly access hardware and improve overall application performance. This practice can make hardware response fast, but there are serious drawbacks. A significant drawback is that memory is often required for directly managing the hardware. If a memory block is programmed for use those conflicts with the same (or a part of the same) memory block used by other hardware or the operating system, the hardware devices involved may become unstable or the operating system may crash. Another drawback is incompatibility with other software that also needs to use the hardware or that uses the same memory block, which can cause the software applications to hang or crash. A third drawback is that direct access to hardware devices makes a system more vulnerable to malicious software (malware) or an attacker. Such access, for example, can allow malware to damage a disk or extensively damage disk files. E. The Role of the BIOS An essential step in starting a computer is to load the basic input/output system, or BIOS. The BIOS is low-level program code that: Resides on a chip on the computer’s motherboard Initiates and enables communications with hardware devices Performs tests at startup, such as memory and hardware component tests, which as a group are called the 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 Every PC has a BIOS, which is stored in a flash memory chip. Flash memory, which you are familiar with from using thumb drives, does not lose its memory contents when the computer is turned off. In early PCs, the BIOS was stored in a read-only memory (ROM) chip, but the only way you could update the BIOS was to replace the chips, a major inconvenience to say the least. When a computer is built, the BIOS is configured with a default set of parameters. The BIOS configuration stores information about the amount of RAM, the storage devices, and other I/O devices on the computer. The BIOS configuration is stored in a memory chip called complementary metal oxide semiconductor 12 | P a g e Downloaded by Micko James Amolo ([email protected]) lOMoARcPSD|38660734 (CMOS). A CMOS chip uses a low-power memory technology that is powered by a small battery. Users can make changes to the BIOS configuration by accessing the BIOS setup screen before the computer boots. Figure 1-4 shows a sample BIOS setup screen on a computer. Whenever you turn on your PC, the machine wakes up and begins executing the startup program inside the BIOS. This program initializes the screen and keyboard, tests computer hardware, such as the CPU and memory, initializes the hard disk and other devices, and then loads the main operating system —Windows 10 or Linux, for example—that provides more advanced functionality for application programs. Figure 1-5 illustrates the main operating system components, including the relationship of an operating system to the BIOS. Figure 1-4 Sample BIOS setup screen 13 | P a g e Downloaded by Micko James Amolo ([email protected]) lOMoARcPSD|38660734 Figure 1-5 General operating system design F. A Summary of Operating System Elements The elements in Figure 1-5 include the following, from the application down: Application software, such as a spreadsheet or a word processor. Application programming interface. An application programming interface (API) is software designed to communicate with the application software and the user. The API is program code that is like a specialized “hook” into the operating system. It translates requests from an application into code that the operating system 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. This is the part of the operating system that is most visible to users. For example, a word- processing application may request to create a specific display of characters on the monitor, and the API translates the request from the application to the kernel. Another example is the use of messaging APIs, which enable an e-mail program to send a message through the operating system to a computer network or the Internet. BIOS, which provides the basic I/O functions to communicate with system devices, such as the monitor, the keyboard, and disks. It usually loads other operating system components on startup. 14 | P a g e Downloaded by Micko James Amolo ([email protected]) lOMoARcPSD|38660734 Operating system kernel, the core of the operating system that coordinates operating system functions, such as control of memory, CPU access, and storage. The kernel communicates with the BIOS, device drivers, and the API to perform these functions. It also interfaces with the resource managers. Device drivers, programs that take requests from the API via the kernel and translate them into commands to manipulate specific hardware devices, such as disks, keyboards, monitors, and printers. Resource managers, programs that manage computer memory and central processor use. Optional drivers, for other functions and devices, such as sound. Computer hardware, such as storage devices, CPU, mouse, keyboard, monitor, and printer. Although all operating systems incorporate the basic I/O functions, the operating systems you are accustomed to, such as Mac OS X, Microsoft Windows, or UNIX/Linux, include many additional functions. These functions include network services such as those included with the TCP/IP protocol, file systems, and the ability to work with multimedia files like audio and video files. LESSON 4: Types of Operating Systems One way to look at computer and operating systems is to consider them in terms of one or more of the following characteristics: Time sharing Real-time Multiuser A. Time Sharing A time-sharing system is a central computer system that is used by multiple users and applications simultaneously. Mainframe computers typically fall into this category. These computers are used to conduct massive calculations or manipulate huge amounts of data. Mainframe computers, such as IBM System z mainframes, are used at scientific institutions, banks, and insurance companies. They are built to quickly perform tasks, such as keeping track of thousands of checking account balances. Most of their work is done in batches, using batch processing—such as clearing two million checks and updating their associated bank accounts—instead of single, sequential repetitive tasks. When the batch process is finished—all checks have been posted, for example—the statements can be printed. Contrast this approach 15 | P a g e Downloaded by Micko James Amolo ([email protected]) lOMoARcPSD|38660734 to that of smaller computers, such as PCs, that are interactive and use sequential processing, where each process request is completed and the data returned before the next process is started. Besides batch processing, many clerks, customer representatives, and ATM machines often use a mainframe to do daily transactions. They all share the resources, or processor time, of the large machine, which is why such machines are called time-sharing systems. B. Real-Time Systems A real-time operating system (RTOS) receives and processes inputs and produces the required outputs in a specified amount of time. It is more important for the response time of an RTOS to be consistent than fast, although RTOSs are also built for speed. For example, an RTOS might be used in an industrial plant to control machinery. Inputs to the computer controlling the machinery dictate how the machines respond; the responses must be consistent and predictable, or the entire process may be thrown off. Examples of RTOSs include VxWorks from Wind River Systems, QNX, and Windows CE. These OSs are typically used in embedded systems, which means the computer has a dedicated function within a larger system such as a piece of machinery. Examples of embedded systems include the computer that runs all the systems of a modern automobile or the computers that run the robots on an automated assembly line. C. Multiuser Systems A multiuser system supports multiple users who access the hardware and software of the computer and operating system. Both time-sharing and real-time systems can be multiuser systems. To review, time sharing is a method for enabling multiple users to share in using CPU resources, such as through terminals or computers with terminal software. A terminal consists of a keyboard and monitor without a CPU. For example, a time-sharing mainframe was originally accessed by running cables from terminals to a specialized communications box connected to the mainframe, creating a multiuser system, as shown in Figure 1-6. In time sharing, users may experience delays as the processor and operating system handle all of the processing requests and processing time becomes available. Today, multiple users typically access mainframes through a computer network. Servers, such as a Linux server or Windows Server 2016, can provide computer access to multiple users over a network, as shown in Figure 1-7. In this environment, multiple users can do many different things on the multiuser computer at the same time. Access to resources is designed to be instantaneous by all users. 16 | P a g e Downloaded by Micko James Amolo ([email protected]) lOMoARcPSD|38660734 Most modern OSs run both on personal computers and servers and are considered multiuser operating systems. Even though Windows 10, for example, doesn’t typically have multiple monitors and keyboards attached to it with several users running applications, these OSs can support multiple user connections through a network. Figure 1-6 Time-sharing mainframe with terminals Figure 1-7 Using a network to access a Windows server In a departure from mainframes and time sharing, one of the newer approaches to multiuser operations is the use of client/server systems. On a multiuser mainframe, all of the work is typically done on the big machine, including running programs, storing data, and accessing data. In the client/server model, only some of the work is done on the central servers. In a client/server system, the servers may hold all the data and files, and may even perform some of the database functions or calculations required, but much of the work, such as running programs, is 17 | P a g e Downloaded by Micko James Amolo ([email protected]) lOMoARcPSD|38660734 performed on the client side—on the computer at the user’s desk. If you have used PC-class computers in a networked environment, chances are you have used the client/ server model, at least to some degree. In fact, accessing the Internet with a Web browser is a client/server activity. The Web browser runs on the user’s client computer, and it requests Web pages from a Web server. Operating system differences are beginning to narrow, but the applications that run on them help differentiate how the computer is used and classified. Client/server computing was not possible until the PC was introduced. After all, it requires a computer at the user’s desk, which was not available until the introduction of the PC. Client/server computing coupled with the Internet opened the way to an even more efficient and powerful computing model called cloud computing. Cloud computing involves providing a host of scalable Web-based applications and services over the Internet or a private network that are used by clients through Web browsers or specialized apps. The servers and resources available through the apps are depicted as available in a cloud because there are many resources, but they appear to be available from one unified resource (see Figure 1-8). You might compare this technology to using telephone services. There are many telephone companies and telephone technologies (such as land lines, satellite phones, and cell phones), but to the user they appear as one giant resource. In cloud computing, the user experiences programs and data as if they are installed on the user’s computer, but in truth a small portion is on the local computer and all other resources are on servers and other devices in the cloud. Microsoft describes three types of cloud models: Private cloud—In which computing resources are kept within an organization and used exclusively by that organization Hosted private cloud—In which resources are made available through a third-party outsourcer, but are only accessible to users within a specific organization Public cloud—In which a variety of resources are available to any organization through a third party and each organization subscribes only to specific resources, which may be shared by other organizations 18 | P a g e Downloaded by Micko James Amolo ([email protected]) lOMoARcPSD|38660734 Figure 1-8 Cloud computing Common cloud service providers include Amazon Web Services (AWS), Microsoft Azure, and Dropbox. AWS and Microsoft Azure are full-service cloud computing companies that can offer customers anything from cloud storage to an entire network of servers and services. Dropbox, as you may know, is a cloud storage company that provides seamless access to files through the Internet. LESSON 5: Single Tasking Versus Multitasking A few aspects of operating systems deserve a closer look. As pointed out earlier, today’s PC operating systems go way beyond basic I/O. In practice, almost every resource in the computer, such as the memory and the microprocessor (CPU), is managed by the operating system. This is both good and bad; it results in a lot more consistency and a lot of added functionality. However, application programs can no longer directly access hardware in creative ways as they could before, particularly under MS-DOS and in early Windows systems. A good example is the chip used to produce sound. This chip includes an electronic timer that can be accessed by external programs. Many older MS-DOS programs used this chip as a timer to halt program execution for a specified period of 19 | P a g e Downloaded by Micko James Amolo ([email protected]) lOMoARcPSD|38660734 time. This was done by manipulating the internal workings of the chip directly from the application program, without the intervention of MS-DOS. Some earlier versions of Windows, such as Windows 3.x, 95, 98, and ME, enable programs to directly access hardware, whereas all Windows OSs built on the Windows NT foundation— which includes Windows NT, Windows 2000, and all versions of Windows since Windows XP—do not. A disadvantage of systems such as Windows 95/98, which enable programs to directly access hardware, is that these operating systems are more prone to unexpected hangs, system instability, or crashes when a problem occurs in software as it is accessing the hardware. One of the major reasons for giving the operating system so much control over resources is to facilitate multitasking, a technique that allows a computer to run two or more programs at the same time. Multitasking is typically achieved by splitting processor time between applications and switching so rapidly that the user is not aware of any discontinuity. There are two general types of multitasking. The first method is known as cooperative multitasking. In this method, the operating system hands over control to a program, sits back, and waits for the program to hand control back to the operating system. The assumption here is that the program will do some work, and then give control back to the operating system. If for some reason the program does not hand control back to the operating system, the program will hog the CPU until its operations are complete, while all other programs on the computer are on hold. If the program does not release control—for example, because it is stuck in an endless loop —the operating system may never regain control. As a result, no other programs can run until the computer is restarted—an undesirable scenario. This could also be a problem if some of the programs on the computer are time sensitive. If a program must collect data every second, or regularly update a clock, a cooperative multitasking environment may cause trouble. You will find this behavior in older operating systems such as early Windows versions. If you print a word-processing file and try to play Solitaire at the same time, you will find that you cannot play a card until the print job is finished. Figure 1-9 shows the basic concept of cooperative multitasking. 20 | P a g e Downloaded by Micko James Amolo ([email protected]) lOMoARcPSD|38660734 Figure 1-9 Cooperative multitasking basics A better method is the second alternative, preemptive multitasking, illustrated in Figure 1-10. Modern operating systems developed since the early 2000s use preemptive multitasking. These systems include all Windows OSs since Windows XP, along with Mac OS X and all Linux/ UNIX variations. In preemptive multitasking, the operating system is in control of the computer at all times. It lets programs execute a little bit of code at a time, but immediately after the code executes, it forces the program to relinquish control of the CPU back to the operating system. It then takes the next program and repeats the same process. Because the operating system is in charge, it has a lot of control over how much of the computer’s resources are allocated to each program. As a result, the computer must use more of its processor power and memory to support the operating system, but the behavior of programs and the computer as a whole are a little more predictable. Playing Solitaire while printing a word-processing file within a preemptive multitasking system is not a problem—both processes get enough CPU time to do their jobs—and the user is often unaware that the system has been rapidly switching between tasks. Figure 1-10 Preemptive multitasking basics Some older operating systems, such as MS-DOS, were single-tasking operating systems. A single-tasking operating system executes one program at a time (see Figure 1-11). To do something else, one program must be stopped and a new program must be loaded and executed. Because multiple programs are not trying to use the same resources, single-tasking operating systems are a lot simpler. These systems, however, are considered older technology, and as new operating systems are released, they are seldom single-tasking. New single-tasking operating systems are found only in computers with very limited processor capacity, such as older personal digital assistants (PDAs), which have long since been replaced by smartphones and tablets that sport their own multitasking OSs. 21 | P a g e Downloaded by Micko James Amolo ([email protected]) lOMoARcPSD|38660734 Figure 1-11 Single-tasking operating system A special note must be made of a hybrid system called a task-switching operating system. This system offers many of the device management functions of the multitasking operating system, and it can load multiple application programs at once. It will actively execute only one of these programs, however. If the user wants to use another application, she can ask the operating system to switch to that task. When the switch is made, the operating system gives control to the newly selected task. Obviously, many of the problems associated with switching among various applications and their use of various devices do not have to be addressed, making this a less complicated type of operating system than a true multitasking system. This system is also considered an older technology that isn’t used in any of the new PC operating systems. Many earlier versions of Mac OS are task switching, as are some of the operating systems found on much older PCs, such as the Atari ST series, which focused on the home computer market. You can see the concept of task switching in Figure 1-12. Figure 1-12 Task switching LESSON 6: Single-User Versus Multiuser Operating Systems Some operating systems, in addition to being able to run multiple programs at the same time with multitasking technology, allow multiple users to use an 22 | P a g e Downloaded by Micko James Amolo ([email protected]) lOMoARcPSD|38660734 application simultaneously. These systems are known as multiuser operating systems. By definition, a multiuser system is almost a multitasking system. Most multiuser systems use preemptive, multitasking technology. The desktop operating systems covered in this book initially were designed as single-user systems (only one user at a time), with the exception of UNIX and Linux, which have always been multiuser operating systems by design. From the start, all Windows server systems, from Windows NT onward, were designed as full-featured multiuser systems. Mac OS X Server is also a full-featured multiuser system. The desktop versions of operating systems, such as Windows 10 and Mac OS X, are also multiuser systems, but they do not have the full multiuser capacity of the server systems. All of these desktop systems are intended to handle only 10 to 20 simultaneous users before they bog down under the load. A server system is designed to handle hundreds of users at once. While modern OSs are multitasking as well as multiuser, Windows 98 was a good example of an operating system that was multitasking but not multiuser. Windows 98 could handily run a word-processing program while running a Web browser and an e-mail client for a single user, but it wasn’t designed to run applications for multiple users simultaneously. Table 1-3 compares single-user and multiuser operating systems. Table 1-3 Comparing single-user and multiuser operating systems LESSON 7: Current Operating Systems The operating systems surveyed in this book are the most common in today’s computing environments, and they fall into several families: Windows 7, 8.1, and 10 Windows Server 2008, 2012, and 2016 The different distributions of UNIX/Linux operating systems, focusing particularly on Fedora, which is used as a leading-edge development environment for the popular Red Hat Enterprise Linux (new features in Red Hat Enterprise Linux come from Fedora) Apple Macintosh Mac OS X (version 10.11 El Capitan) 23 | P a g e Downloaded by Micko James Amolo ([email protected]) lOMoARcPSD|38660734 At the time of this writing, three popular desktop operating systems were used most frequently in corporate America—Windows 7, 8.1, and 10. These three operating systems offer a stable work environment that is appealing for office use. Further, Microsoft continually issues updates for Windows systems that increase their security and performance. It is also possible to find some corporate users hanging on to older versions of Windows and even MS-DOS, but they have become rare. The most popular Microsoft server operating systems are Windows Server 2008/R2 and Windows Server 2012/R2. Support for Windows Server 2003 has ended and most companies have upgraded or are upgrading to a newer version of Windows Server. Windows Server 2016 will be released about the time this book publishes, and features and screenshots will be based on preview release 4. The multiuser UNIX operating system has been popular among industrial- strength users for many years. It is especially appealing to members of the scientific and research communities for its power to perform complex tasks and maintain large databases. There are many flavors of UNIX, but the two main design standards are the Berkeley Software Distribution (BSD) standard and the System V Release 4 (SVR4) standard. This book focuses on SVR4 UNIX. Linux is a UNIX look-alike system that is popular as a server operating system in business, education, and government and is rapidly replacing UNIX. Linux operating system distributions are particularly popular for servers and are gaining ground on the desktop, in part because they take advantage of a huge open source software community. Open source software is typically developed by hundreds or thousands of volunteers, relies on peer review, contains code in the public domain, and is typically distributed for free. The Mac OS X operating system for Apple Macintosh computers is popular in the educational and graphics sectors, particularly for video editing and desktop publishing. Its use in the corporate world is often for these applications, and it is also very popular among home users. Corporate users sometimes regard Mac OS X as difficult to set up for networking in a medium-sized to large organization with complex networks, although Apple has addressed many of these concerns. Mac OS X is popular with home users because the desktop is intuitive and home network setup is user friendly. Also, some home users are already familiar with Mac OS X from using it at school. Application: (ANSWER THIS) I. Write the correct letter on the space provided. _____ 1. The BIOS configuration is stored in a memory chip called CMOS. What is CMOS? a. Complementary Metal Oxygen Semiconductor b. Complementary Metal Oxide Semiconductor c. Complete Metal Oxide Semiconductor 24 | P a g e Downloaded by Micko James Amolo ([email protected]) lOMoARcPSD|38660734 d. Complete Metal Oxides Semiconductor _____ 2. The core of the operating system that coordinates operating system functions, such as control of memory, CPU access, and storage a. Operating system kernel b. Application software c. Device drivers d. BIOS _____ 3. The CPU sends instructions to the graphics cards to display the letter A, which is then sent to the computer monitor. a. Input b. Output c. Process d. Storage _____ 4. Supports multiple users who access the hardware and software of the computer and operating system a. Time-sharing system b. Real-time c. Multiuser d. None of the above _____ 5. It is the method by which an OS stores and organizes files and manages access to files on a storage device, such as a hard drive. a. Kernel b. Processes and services c. File system d. User interface _____ 6. It helps ensure that memory is used properly and there are no memory conflicts. a. Resource Managers b. Device Drivers c. Operating System d. Device Manager _____ 7. It is a technique that allows a computer to run two or more programs at the same time a. Multi users tasking b. Multitasking c. Single tasking d. Task-switching _____ 8. A user running a word-processing program types the letter A on the keyboard, which results in sending a code to the computer representing the letter A. a. input b. process c. store 25 | P a g e Downloaded by Micko James Amolo ([email protected]) lOMoARcPSD|38660734 d. output _____ 9. It is any program a user might choose to run on the computer. a. Kernel c. Application software e. Operating System g. Task Manager _____ 10. Contains the actual code (instructions) to communicate with the chips on the device. a. BOIS c. Application Software e. Kernel g. Device driver _____ 11. Storage devices, CPU, mouse, keyboard, monitor, and printer are consider as what? a. Device drivers c. Resource managers e. Computer hardware g. BIOS _____ 12. It is usually installed on a more powerful computer that typically has a wired connection to a network, and can act in many roles to enable multiple users to access information, such as e-mail, files, and software. a. Operating system c. Server operating system e. Computer system g. Online system _____ 13. What type of cloud which computing resources are kept within an organization and used exclusively by that organization? a. Private cloud c. Hosted private cloud e. Public cloud g. iCloud _____ 14. Provides the basic I/O functions to communicate with system devices, such as the monitor, the keyboard, and disks. It usually loads other operating system components on startup a. BOIS c. Application Software d. Kernel e. Device driver _____ 15. It is a type of operating system which it’s a central computer system that is used by multiple users and applications simultaneously a. Time-sharing system c. Real-time 26 | P a g e Downloaded by Micko James Amolo ([email protected]) lOMoARcPSD|38660734 e. Multiuser g. Multiple time II. Give at least 5 version of Windows (OS), Windows Server (OS), Linux (OS), & Mac (OS). Write the answer on the space provided. WINDOWS WINDOWS (OS) LINUX (OS) MAC (OS) SERVER (OS) References: Greg Tomsho (2017). Guide to Operating Systems, 5th edition., Cengage Learning ISBN: 978-1-305-10764-9 Congratulations! You did a great job for this lesson! You can now proceed to the next lesson. 27 | P a g e Downloaded by Micko James Amolo ([email protected])