Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Understanding Operating Systems: Role, Components & Common Systems, Slides of Computer Science

An introduction to operating systems, their role in managing hardware and software resources, and an overview of three common operating systems: unix, linux, and windows nt. Students will learn about the bootstrapping process, memory management, process management, device management, and file management.

Typology: Slides

2012/2013

Uploaded on 01/02/2013

shantu
shantu 🇮🇳

4.8

(5)

57 documents

1 / 45

Toggle sidebar

Related documents


Partial preview of the text

Download Understanding Operating Systems: Role, Components & Common Systems and more Slides Computer Science in PDF only on Docsity! 7.1 Operating Systems Docsity.com 7.2  Understand the role of the operating system.  Understand the process of bootstrapping to load the operating system into memory.  List the components of an operating system.  Discuss the role of the memory manager.  Discuss the role of the process manager.  Discuss the role of the device manager.  Discuss the role of the file manager in an operating system.  Understand the main features of three common operating systems: UNIX, Linux and Windows NT. Objectives After studying this chapter, the student should be able to: Docsity.com 7.5 7-1 INTRODUCTION An operating system is complex, so it is difficult to give a simple universal definition. Instead, here are some common definitions:  An operating system is an interface between the hardware of a computer and the user (programs or humans).  An operating system is a program (or a set of programs) that facilitates the execution of other programs.  An operating system acts as a general manager supervising the activity of each component in the computer system. Docsity.com 7.6 An operating system is an interface between the hardware of a computer and the user (programs or humans) that facilitates the execution of other programs and the access to hardware and software resources. i Two major design goals of an operating system are: ❑ Efficient use of hardware. ❑ Ease of use of resources. Docsity.com 7.7 Bootstrap process The operating system, based on the above definitions, provides supports for other programs. For example, it is responsible for loading other programs into memory for execution. However, the operating system itself is a program that needs to be loaded into the memory and be run. How is this dilemma solved? The solution is a two-stage process. A very small section of memory is made of ROM and holds a small program called the bootstrap program. When the computer is turned on, the CPU counter is set to the first instruction of this bootstrap program and executes the instructions in this program. When loading is done, the program counter is set to the first instruction of the operating system in RAM. Docsity.com 7.10 Time-sharing systems To use computer system resources efficiently, multiprogramming was introduced. The idea is to hold several jobs in memory at a time, and only assign a resource to a job that needs it on the condition that the resource is available. Multiprogramming brought the idea of time sharing: resources could be shared between different jobs, with each job being allocated a portion of time to use a resource. Because a computer is much faster than a human, time sharing is hidden from the user—each user has the impression that the whole system is serving them exclusively. Docsity.com 7.11 Personal systems When personal computers were introduced, there was a need for an operating system for this new type of computer. During this era, single-user operating systems such as DOS (Disk Operating System) were introduced. Parallel systems The need for more speed and efficiency led to the design of parallel systems: multiple CPUs on the same machine. Each CPU can be used to serve one program or a part of a program, which means that many tasks can be accomplished in parallel instead of serially. The operating systems required for this are more complex than those that support single CPUs. Docsity.com 7.12 Distributed systems Networking and internetworking, as we saw in Chapter 6, have created a new dimension in operating systems. A job that was previously done on one computer can now be shared between computers that may be thousands of miles apart. Distributed systems combine features of the previous generation with new duties such as controlling security. Real-time systems A real-time system is expected to do a task within a specific time constraint. They are used with real-time applications, which monitor, respond to or control external processes or environments. Docsity.com 7.15 User interface Each operating system has a user interface, a program that accepts requests from users (processes) and interprets them for the rest of the operating system. A user interface in some operating systems, such as UNIX, is called a shell. In others, it is called a window to denote that it is menu driven and has a GUI (graphical user interface) component. Docsity.com 7.16 Memory manager One of the responsibilities of a modern computer system is memory management. Although the memory size of computers has increased tremendously in recent years, so has the size of the programs and data to be processed. Memory allocation must be managed to prevent applications from running out of memory. Operating systems can be divided into two broad categories of memory management: monoprogramming and multiprogramming. Docsity.com 7.17 Monoprogramming In monoprogramming, most of the memory capacity is dedicated to a single program; only a small part is needed to hold the operating system. In this configuration, the whole program is in memory for execution. When the program finishes running, the program area is occupied by another program. Figure 7.4 Monoprogramming Docsity.com Memory a. CPU starts executing program 1 b. CPU starts executing program 2} Partitioning 7.20 Program A Page 1 Page 2 Program B Program C Operating system Frame 1 Frame 6 Memory Program A Program B Program C Frames | Demand paging A Serena) Physical memory Virtual memory Virtual memory 7.25 Seren 7.26 Process manager A second function of an operating system is process management, but before discussing this concept, we need to define some terms. Program, job, and process  A program is a non-active set of instructions stored on disk.  A program becomes a job from the moment it is selected for execution until it has finished running and becomes a program again.  A process is a program in execution. It is a program that has started but has not finished. Docsity.com 7.27 State diagrams The relationship between a program, a job and a process becomes clearer if we consider how a program becomes a job and how a job becomes a process. This can be illustrated with a state diagram that shows the different states of each of these entities. Docsity.com Process Runni go Scheduler Process scheduler 7.30 7.31 Queuing Our state diagram shows one job or process moving from one state to another. In reality, there are many jobs and many processes competing with each other for computer resources. To handle multiple processes and jobs, the process manager uses queues (waiting lists). A job control block or process control block is associated with each job or process. This is a block of memory that stores information about that job or process. The process manager stores the job or process control block in the queues instead of the job or process itself. Docsity.com Job Job queue > 0-00 Process Ready queue To memory Time slot exhausted I/O satisfied I/O queue Oe Oo To be run oO => = n a vo vo Zz Queues for process management 7.32 Seren) 7.35 Figure 7.17 Deadlock on a bridge Docsity.com Has requested Filel Has requested Has requested File2 Has requested a. Process A needs both File] and File2 Has requested 1 Assigned to Has requested Filel 1 Assigned lo Has requested File2 — Assigned Has lo requested b. Process A still needs both File] and File2 Has requested. Assigned to c. Process A still needs both File] and File2 (starving) Starvation 7.36 Serena 7.37 Figure 7.19 The dining philosophers problem Starvation is the opposite of deadlock. It can happen when the operating system puts too many resource restrictions on a process. i Docsity.com 7.40 7-4 A SURVEY OF OPERATING SYSTEMS In this section we introduce some popular operating systems and encourage you to study them further. We have chosen three operating systems that are familiar to most computer users: UNIX, Linux and Windows. Docsity.com 7.41 UNIX UNIX was originally developed in 1969 by Thomson and Ritchie of the Computer Science Research Group at Bell Laboratories. UNIX has gone through many versions since then. It has been a popular operating system among computer programmers and computer scientists. UNIX is a multiuser, multiprocessing, portable operating system. It is designed to facilitate programming, text processing and communication. i Docsity.com 7.42 Figure 7.20 Components of the UNIX operating system Docsity.com
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved