COSC80 - Lecture 1 PDF
Document Details
Uploaded by Deleted User
College of Engineering and Information Technology
Marc Elvin Cerezo
Tags
Related
Summary
This lecture introduces operating systems, explaining their functions, components, and types. It also covers resource management, process management, and storage structure within operating systems. Key figures and definitions demonstrate the concepts.
Full Transcript
Introduction to Operating Systems College of Engineering and Marc Elvin Cerezo Information Technology Instructor/Professor Learning Outcomes After the completion of the chapter, students will be able to: 1.Identify the fun...
Introduction to Operating Systems College of Engineering and Marc Elvin Cerezo Information Technology Instructor/Professor Learning Outcomes After the completion of the chapter, students will be able to: 1.Identify the functions, and components of OS 2.Recall the history of OS 3.Differentiate the different types of OS College of Engineering and Information Technology What is an Operating System? An Operating System is a program that controls the execution of application programs and acts as an interface between the user of a computer and the computer hardware. It is a software that manages a computer’s hardware; Operating System is the one program running at all times on the computer (usually called kernel), with all else being application programs; Kernel is the most important part of the operating system. It is the primary interface between the hardware and the processes of a computer. College of Engineering and Information Technology Components of a computer system A computer system can be divided roughly into four components: Hardware – the central processing unit (CPU), the memory, and the I/O devices provides the basic computing resources for the system; Application Programs – word processors, compilers, web browsers define the ways in which these resources are used to solve users’ computing problems; Operating System – controls the hardware and coordinates its use among the various application programs for the various users; Users – users of a computer system. College of Engineering and Information Technology Components of a computer system Figure 1. Abstract view of the components of a computer system College of Engineering and Source: Silberschatz Information et al. (2018). Operating System Concepts 10th Edition. John Wiley & Sons Inc. Technology Computer System Organization Typically, operating systems have a device driver for each device controller. This device driver understands the device controller and provides the rest of the operating Figure 2. A typical PC Computer system with a uniform System interface to the device. College of Engineering and Source: Silberschatz Information et al. (2018). Operating System Concepts 10th Edition. John Wiley & Sons Inc. Technology Storage Structure General-purpose computers run most of their programs from rewritable memory, called main memory (also called RAM or Random-Access Memory). Main Memory is a flexible and volatile type of storage device. Main Memory commonly is implemented in a semiconductor technology called DRAM (Dynamic Random-Access Memory). All forms of memory provide an array of bytes. Each byte has its own address. load instruction moves a byte or word from main memory to an internal register within the CPU; store instruction moves the content of a register to main memory. College of Engineering and Information Technology Storage Structure Figure 3. Storage-device hierarchy College of Engineering and Source: Silberschatz Information et al. (2018). Operating System Concepts 10th Edition. John Wiley & Sons Inc. Technology Resource Management in OS An Operating system is a resource manager. The system’s CPU, memory space, file-storage space, and I/O devices are among the resources that the operating system must manage. 1. Process Management 2. Memory Management 3. File-System Management 4. Mass-Storage Management 5. Cache Management 6. I/O System Management College of Engineering and Information Technology Process Management A process is a program in execution. A program such as compiler is a process; A word-processing program being run by an individual user on a PC is a process; A process needs certain resources – it includes CPU time, memory, files, and I/O devices–to accomplish its task. These resources are typically allocated to the process while it is running. In addition to the physical and logical resources that a process obtains when it is created, various initialization data (input) may be passed along. College of Engineering and Information Technology Process Management A program is a passive entity, like the contents of a file stored on disk, whereas a process is an active entity. The execution of such a process must be sequential. The CPU executes one instruction of the process after another, until the process completes. Further, at any time, one instruction at most is executed on behalf of the process. Although two processes may be associated with the same program, they are nevertheless considered two separate execution sequences. College of Engineering and Information Technology Process Management A process is the unit of work in a system. A system consists of collection of processes, some of which are operating-system processes and the rest of which are user processes. The operating system is responsible for the following activities in connection with process management: 1. Creating and deleting both user and system processes; 2. Scheduling processes and threads on the CPUs; 3. Suspending and resuming processes; 4. Providing mechanisms for process synchronization; 5. Providing mechanisms for process communication; College of Engineering and Information Technology Memory Management Main Memory is central to the operation of a modern computer system. Main Memory is a repository of quickly accessible data shared by the CPU and I/O devices. The Main Memory is generally the only large storage device that the CPU is able to address and access directly. For example, for the CPU to process data from disk, those data must first be transferred to main memory by CPU-generated I/O calls. These instructions must be in memory for the CPU to execute them. College of Engineering and Information Technology Memory Management To improve both the utilization of the CPU and the speed of the computer’s response to its users, general-purpose computers must keep several programs in memory, creating a need for memory management. The operating system is responsible for the following activities in connection with memory management: 1. Keeping track of which parts of memory are currently being used and which process is using them; 2. Allocating and de-allocating memory space as needed; and 3. Deciding which processes and data to move into and out of memory. College of Engineering and Information Technology File-System Management File Management is one of the most visible components of an operating system. Physical media such as secondary storage is the most common, but tertiary storage is also possible. A file is a collection of related information defined by its creator. Commonly, files represent programs (both source and object forms) and data. Data files may be numeric, alphabetic, alphanumeric or binary. Files may be free-form like text files or formatted rigidly such as mp4 file format. College of Engineering and Information Technology File-System Management The operating system is responsible for the following activities in connection with file management: 1. Creating and Deleting Files; 2. Creating and Deleting directories to organize files; 3. Supporting primitive for manipulating files and directories; 4. Mapping files onto mass storage; and 5. Backing up files on stable (non-volatile) storage media. College of Engineering and Information Technology Mass-Storage Management Most modern computer systems use HDDs and NVM devices as the principal on-line storage media for both programs and data. Most programs – including compilers, web browsers, word processors, and games – are stored on these devices until loaded into memory. Since secondary storage is used frequently and extensively, it must be used efficiently. The entire speed of operation of a computer may hinge on the speeds of the secondary storage sub-system and the algorithms that manipulate that sub-system. College of Engineering and Information Technology Mass-Storage Management The operating system is responsible for the following activities in connection with secondary storage management: 1. Mounting and un-mounting; 2. Free-space management; 3. Storage allocation; 4. Disk scheduling; 5. Partitioning; and 6. Protection. College of Engineering and Information Technology Cache Management Caching is an important principle of computer systems. In caching, information is normally kept in some storage system (such as main memory). As it is used, it is copied into a faster storage system – the cache – on a temporary basis. Because caches have limited size, cache management is an important design problem. Careful selection of the cache size and of a replacement policy can result in greatly increased performance. College of Engineering and Information Technology Cache Management Figure 4. Characteristics of various types of storage College of Engineering and Source: Silberschatz Information et al. (2018). Operating System Concepts 10th Edition. John Wiley & Sons Inc. Technology I/O System Management One of the purposes of an operating system is to hide the peculiarities of specific hardware devices from the user. For example, in UNIX, the peculiarities of I/O devices are hidden from the bulk of the operating system itself by the I/O subsystem. The I/O subsystem consists of several components: 1. A memory-management component that includes buffering, caching, and spooling; 2. A general device-driver interface; and 3. Drivers for specific hardware devices. College of Engineering and Information Technology Types of Operating Systems Batch Operating System – this type of operating system does not interact with the computer directly. An operator is present which takes similar jobs having the same requirement and groups them into batches. Figure 5. Batch Operating Systems College of Engineering and Source: geeksforgeeks (n.d.). Types of Operating Systems. retrieved from https://www.geeksforgeeks.org/types-of-operating-systems/ Information Technology Types of Operating Systems Multiprogramming Operating Systems can be illustrated as more than one program is present in the main memory and any of them can be kept in execution. As a result, various jobs may share CPU time. Figure 6. Multiprogramming Operating Systems College of Engineering and Source: geeksforgeeks (n.d.). Types of Operating Systems. retrieved from https://www.geeksforgeeks.org/types-of-operating-systems/ Information Technology Types of Operating Systems Multiprocessing Operating System is a types of operating system in which more than one CPU is used for the execution of resources. Figure 6. Multiprocessing Operating Systems College of Engineering and Source: geeksforgeeks (n.d.). Types of Operating Systems. retrieved from https://www.geeksforgeeks.org/types-of-operating-systems/ Information Technology Types of Operating Systems Multitasking Operating System is simply a multiprogramming operating system with having facility of a Round- Robin Scheduling Algorithm. It can run multiple programs simultaneously. Figure 7. Multitasking Operating Systems College of Engineering and Source: geeksforgeeks (n.d.). Types of Operating Systems. retrieved from https://www.geeksforgeeks.org/types-of-operating-systems/ Information Technology Types of Operating Systems Time-Sharing Operating Systems – each task is given some time to execute so that all the tasks work smoothly. Each user gets the time of the CPU as they use a single system. The task can be from a single user or different users. Figure 8. Time-Sharing Operating Systems College of Engineering and Source: geeksforgeeks (n.d.). Types of Operating Systems. retrieved from https://www.geeksforgeeks.org/types-of-operating-systems/ Information Technology Types of Operating Systems Distributed Operating System – it use many central processors to serve multiple real-time applications and users. Independent systems process their own memory unit and CPU. Figure 9. Distributed Operating System College of Engineering and Source: geeksforgeeks (n.d.). Types of Operating Systems. retrieved from https://www.geeksforgeeks.org/types-of-operating-systems/ Information Technology Types of Operating Systems Network Operating System – These systems run on a server and provide the capability to manage data, users, groups, security, applications, and other networking functions. These types of operating systems allow shared access to files, printers, security, applications, and other networking functions over a Figure 10. Network Operating small private network. System College of Engineering and Source: geeksforgeeks (n.d.). Types of Operating Systems. retrieved from https://www.geeksforgeeks.org/types-of-operating-systems/ Information Technology Types of Operating Systems Real-Time Operating System – These types of Oss serve real- time systems. Real-time systems are used when there are time requirements that are very strict like missile systems, air traffic control systems, robots, etc. Figure 11. Real-Time Operating System College of Engineering and Source: geeksforgeeks (n.d.). Types of Operating Systems. retrieved from https://www.geeksforgeeks.org/types-of-operating-systems/ Information Technology