Operating System 2 Overview OPERATING SYSTEM OBJECTIVES AND FUNCTIONS An OS is a program that controls the execution of application programs and acts as an interface between applications and the computer hardware. Objectives: Convenience Efficiency Ability to evolve Briefly, the OS typically provides services in the following areas: Program development Program execution Access to I/O devices Controlled access to files System access Error detection and response Accounting THE EVOLUTION OF OPERATING SYSTEMS Serial Processing Simple Batch Systems Multiprogrammed Batch Systems Time-Sharing Systems Serial Processing With the earliest computers, from the late 1940s to the mid-1950s, the programmer interacted directly with the computer hardware; there was no OS.These computers were run from a console consisting of display lights, toggle switches, some form of input device, and a printer. Programs in machine code were loaded via the input device (e.g., a card reader). If an error halted the program, the error condition was indicated by the lights. If the program proceeded to a normal completion, the output appeared on the printer. Simple Batch Systems Multiprogrammed batch system Time sharing single user was inefficient, a large group of users together were not. the "state" of each user and their programs would have to be kept in the machine, and then switched between quickly. Ex: NEW — to name and begin writing a program OLD — to retrieve a previously named program LIST — to display the current program SAVE — to save the current program RUN — to execute the current program Five major theoretical advances 1. Processes A program in execution • An instance of a program running on a computer • The entity that can be assigned to and executed on a processor • A unit of activity characterized by a single sequential thread of execution, a current state, and an associated set of system resources • • Three major lines of computer system development created problems in timing and synchronization that contributed to the development of the concept of the process:multiprogramming batch operation, time sharing, and real-time transaction systems problems: Improper synchronization, Failed mutual exclusion, Nondeterminate program operation, Deadlocks Five major theoretical advances 2. Memory management • Process isolation • Automatic allocation and management • Support of modular programming • Support of modular programming • Long-term storage Cont.. 3. Information protection and security • • • • Availability Confidentiality Data integrity Authenticity 4. Scheduling and resource management\ • • • Fairness Differential responsiveness Efficiency 5. System structure MICROSOFT WINDOWS OVERVIEW TRADITIONAL UNIX SYSTEMS Modern Unix & Linux System calls: The system call is the means by which a process requests a specific kernel service. There are several hundred system calls, which can be roughly grouped into six categories: filesystem, process, scheduling, interprocess communication, socket (networking), and miscellaneous.Table 2.7 defines a few examples in each category. System calls: The system call is the means by which a process requests a specific kernel service. There are several hundred system calls, which can be roughly grouped into six categories: filesystem, process, scheduling, interprocess communication, socket (networking), and miscellaneous.Table 2.7 defines a few examples in each category. Selesai....