Operating System 1 2 Objectives Objective The purpose of this course is to provide an understanding of operating systems to students so they will be able to understand the terminology surrounding and describing operating systems. Students will become familiar with the kinds of abstractions provided by general purpose operating systems that facilitate the development of user applications. Also they will become familiar with the typical internal policies and mechanisms implemented by operating systems and how they impact system performance. 3 Description Description This course is an introduction to the theory and practice behind modern operating systems. Topics will include what an operating system does, system calls and interfaces, processes, concurrent programming, resource scheduling and management, virtual memory, deadlocks and security. 4 Course Outline 5 6 Course Administration Text & Reference Books: Operating System Concepts Eighth Edition Abraham Silberschatz, the Peter Gaivin, Greg Gagne Modern Operating System Third Edition ANDREW S. TANENBAUM Abraham Silberschatz, the Peter Gaivin, Greg Gagne, Applied Operating System Concepts (practical concept of the operating system)., John Wiley & Sons, Inc.2000 (Beijing: Higher Education Press .2001,5) 7 Class Policies Marks Distribution Marks Head Total Frequency Total Exempted Marks /Frequency Total Marks /Head Quiz 3 0 5 15 Assignment 3 0 5 15 Final Paper 1 0 30+10(Viva) 40 Mid Term Paper 1 0 25+5(Viva) 30 Total Marks 100 8 Class Rules • No usage of cell phones and cells should be on silent mode. • Discipline during the lecture • Be on time • Attendance ( No more absentees than 3) 9 Let’s Start 10 Basic components of a computer system: place of OS • A computer system can be divided into four components – Hardware – provides basic computing resources • CPU, memory, I/O devices – Operating system • Controls and coordinates use of hardware among various applications and users – Application programs –solve the problems of the users: use system resources • Word processors, compilers, web browsers, database systems, video games – Users • People, machines, other computers 11 Purpose of a Computer System • Computer systems consist of software and hardware that are combined to provide a tool to solve specific problems in an efficient manner • Execute programs 1 2 Computer System Hardware Integer Unit Control Unit Keyboard Mouse CD Floating Point Unit Cache Processor System Bus HD Mem Bus RAM/ROM Printer Monitor 1 3 Operating System • OS is the one program running all times on the computer. • Kernel: running all the time; having most of the functionality • Everything else: either a system program or an application program The kernel is the essential center of a computer operating system (OS). It is the core that provides basic services for all other parts of the OS. It is the main layer between the OS and hardware, and it helps with process and memory management, file systems, device control and networking. system programs + you can install other applications kernel (Some application programs) OS CD System programs: programs that are associated with the operating system 14 What is OS? An operating system (OS) is a collection of software that manages computer hardware resources and provides common services for computer programs. The operating system is a vital component of the system software in a computer system. 15 What OS Do? An Operating System (OS) is an interface between a computer user and computer hardware. An operating system is a software which performs all the basic tasks like file management, memory management, process management, handling input and output, and controlling peripheral devices such as disk drives and printers. Some popular Operating Systems include Linux Operating System, Windows Operating System, VMS, OS/400, AIX, z/OS, etc. Following are some of important functions of an operating System. • Memory Management • Processor Management • Device Management • File Management • Security • Control over system performance • Job accounting • Error detecting aids • Coordination between other software and users 16 Applications of OS Following are some of the important activities that an Operating System performs − •Security − By means of password and similar other techniques, it prevents unauthorized access to programs and data. •Control over system performance − Recording delays between request for a service and response from the system. •Job accounting − Keeping track of time and resources used by various jobs and users. •Error detecting aids − Production of dumps, traces, error messages, and other debugging and error detecting aids. •Coordination between other softwares and users − Coordination and assignment of compilers, interpreters, assemblers and other software to the various users of the computer systems. 17 What is Open Source Operating System? • • • • Open source refers to the computer software or applications where the owners or copyright holders allow the users or third party to see, use and provide the right to modify the source code of the product. An Open-source Operating System is the Operating System in which source code is visible publically and editable. The generally known Operating Systems like Microsoft’s Windows, Apple’s iOS and Mac OS, are closed Operating system. Closed Operating Systems are built with numerous codes and complex programming and that is called source code. This source code is kept secret by the respective companies (owners) and inaccessible to third parties. By doing so, they ensure the safety and secure the Operating System and computer from any threats. In the case of an Open Source Operating system, everyone can access and edit the source code. 18 Pros and Cons of Open Source Operating Systems: Pros: Cost-efficient – Most of the Open Source OS is free. And some of them are available at a very cheap rate than the commercial closed products. • Reliable and efficient – Most of them are monitored by thousands of eyes since the source code is public. So if there is any vulnerability or bugs, they are fixed by the best developers around the world • Flexibility- The great advantage is you can customize it as per your need. And there is creative freedom. Cons: • • • • Security risk – Though the bugs are identified, there is a risk of attacks as the source code is available to the attackers. Complicated – It is not user-friendly as the closed ones. You need to have the minimum technical knowledge to use this software No support – If you meet with the problem, then there is no customer support to help you out. 19 Some Free and Open Source OS • • • • • • • • Ubuntu-Linux-based OS Linux Lite-Linux-based OS Fedora-Linux-based OS Linux Mint-Linux-based OS Solus-Linux-based OS Xubuntu-Unix-based OS Chrome OS-Chromium and Linux React OS(No Linux and Unix involved) 20 Computer Startup • • Bootstrap program is loaded at power-up or reboot – Typically stored in ROM or EPROM, – Initializes all aspects of the system – Locate and Load operating system kernel and starts execution Kernel runs and make the system ready for running applications – Kernel is always ready to run (always in memory) 21 Computer system operation: I/O and device interaction • • • I/O devices and the CPU can execute concurrently Each device controller has a local buffer – Data movement (I/O) between device and local buffer – Data movement between memory and local buffer (by CPU) Device controller informs CPU that it has finished its current operation or it has something by causing an interrupt 22 Computer System Organization • Computer-system operation – One or more CPUs, device controllers connect through common bus providing access to shared memory – Concurrent execution of CPUs and devices competing for memory cycles Network cable Network adapter Bus 23 Storage Structure • • Main memory – CPU can access directly Secondary storage – extension of main memory that provides large nonvolatile storage capacity – Magnetic disks • platters • The disk controller determines the interaction between the device and the computer Main Memory CPU Disk Controller Spinning Disk secondary storage 24 Storage Hierarchy • Storage systems organized in hierarchy – Speed, Cost, Volatility 25