Chapter 13 Operating Systems: An Overview The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition, Irv Englander John Wiley and Sons 2003 Wilson Wong, Bentley College Linda Senne, Bentley College Bare Bones Computer System Does not load instructions into main memory No user interface except for I/O routines provided with executing program Is idle when waiting for user input No facility to store, retrieve, or manipulate files No ability to control peripheral devices Can run only one program at a time Chapter 13 Operating Systems: An Overview 13-2 Integrated Computer Environment Chapter 13 Operating Systems: An Overview 13-3 Operating System – Basic Services Programs that accept commands and requests from a user and a user’s program Manages, loads, and executes programs Manages hardware resources of the computer Act as an interface between the user and the system Chapter 13 Operating Systems: An Overview 13-4 Operating System – Additional Services Provides interfaces for the user and the user’s programs File support services I/O support services Means of starting the computer Bootstrapping or booting the computer Initial Program Load (IPL) Handles all interrupt processing Network services Provides tools and services for concurrent processing Chapter 13 Operating Systems: An Overview 13-5 Additional Services Required by Concurrent Processing Allocates resources such as memory, CPU time, and I/O devices to programs Protects users and programs from each other and provides for inter-program communication Provides feedback to the system administrators to permit performance optimization of the computer system Chapter 13 Operating Systems: An Overview 13-6 OS Parts Memory Resident Always loaded in memory Commonly called the kernel Contains essential services required by other parts of the operating system and applications. Typically responsible for managing memory management, processes and tasks, and secondary storage Memory Non-resident Applications Infrequently used programs, software tools, and commands Bootstrap program Diskless workstations or thin clients Programs, including the OS, are located on another computer on the network Chapter 13 Operating Systems: An Overview 13-7 Simplified Diagram of Operating System Services Chapter 13 Operating Systems: An Overview 13-8 OS Degree of Activity Interactive Also known as conversational systems Batch processing User submits programs or jobs for processing Little to no user interaction Event driven Interrupts or service requests Chapter 13 Operating Systems: An Overview 13-9 Hardware and the OS A hardware platform may support a variety of operating systems An operating system may work on a variety of platforms A standard operating system that works on different hardware Provides program and file portability Enables user efficiency through recognizable interface Is implemented through a systems programming language like C or C++ as opposed to assembly language Chapter 13 Operating Systems: An Overview 13-10 Single Job Processing Only one program is loaded into memory and executed Example: MS-DOS Memory resident components Command interface shell I/O routines, including BIOS File management system User program in control Chapter 13 Operating Systems: An Overview 13-11 OS Regains Control When program is finished control is transferred back to the command interpreter If the user’s program requests I/O The user wishes to stop the program execution via a keyboard interrupt System malfunctions Chapter 13 Operating Systems: An Overview 13-12 Single Job Processing Disadvantages Lack of security Programs can overwrite the resident OS Programs can write directly to I/O devices System provides minimum memory management and no scheduling CPU is often idle awaiting the completion of I/O operations Chapter 13 Operating Systems: An Overview 13-13 Chapter 13 Operating Systems: An Overview 13-14 Concurrent Operations Multitasking (multiprogramming) vs. multiprocessing which implies multiple CPUs Concurrent processing vs. simultaneous processing Chapter 13 Operating Systems: An Overview 13-15 Achieving Multitasking While one program is waiting for I/O to take place, another program is using the CPU to execute instructions. Time-slicing. The CPU may be switched rapidly back and forth between different programs Dispatching is the process of selecting which program to run at any given instant Chapter 13 Operating Systems: An Overview 13-16 Sharing the CPU during I/O Breaks I/O represents a large percentage of a typical program’s execution Chapter 13 Operating Systems: An Overview 13-17 Time-sharing the CPU Time slicing Chapter 13 Operating Systems: An Overview 13-18 Services and Facilities Command processor File management system I/O control system Process control management and interprocess communication Memory management Scheduling system Secondary storage management System protection management Network management, communication support, and communication interfaces System Administration Chapter 13 Operating Systems: An Overview 13-19 User Interface and Command Execution Services Types of user interfaces CLI - Command Line Interface GUI - Graphical User Interface Menu environment Shell User interface and command processor that interacts with the kernel UNIX: C, Bourne and Korn shells Command Languages IBM Mainframes – JCL MS Windows – BAT files, Windows Scripting Host UNIX – shell scripts Chapter 13 Operating Systems: An Overview 13-20 File Management File - logical unit of storage Basic file management system provides Directory structures for each I/O device Tools to copy and move files Information about each file in the system and the tools to access that information Security mechanisms to protects files and control access Additional file management features Backup, emergency retrieval and recovery File compression Transparent network file access auditing Chapter 13 Operating Systems: An Overview 13-21 I/O Services and Process Control Management I/O services Startup configuration Device drives that implement interrupts and provide other techniques for handling I/O Plug and play: hot swapping, hot plugging Process control management A process is an executing program A thread is an individually executable part of a process Interprocess messaging services Example: a pipe in UNIX or DOS that is a temporary software connection between two programs or commands Chapter 13 Operating Systems: An Overview 13-22 Memory Management Keeps track of memory Identifies programs loaded into memory Amount of space each program uses Available remaining space Prevents programs from reading and writing memory outside of their allocated space Maintains queues of waiting programs Allocates memory to programs that are next to be loaded Deallocates a program’s memory space upon program completion Chapter 13 Operating Systems: An Overview 13-23 Scheduling High-level scheduling Placed in queue based on level of priority and eventually executed Dispatching Actual selection of processes that will be executed at any given time Preemptive – uses clock interrupts Non-preemptive – program voluntarily gives up control Context switching Transfer control to the process that is being dispatched Nonpreemptive: program voluntarily gives up control Preemptive: uses clock interrupt for multitasking Processing requirements CPU vs. I/O bound Chapter 13 Operating Systems: An Overview 13-24 Secondary Storage and Security Secondary storage management Optimizes completion of I/O tasks for efficient disk usage Combination of hardware and software Security and protection services Protect OS from users Protect users from other users Prevent unauthorized entry to system Prevent unauthorized system use by authorized users Chapter 13 Operating Systems: An Overview 13-25 Network and Communication Services TCP-IP protocol suite Locate and connect to other computers Access files, I/O devices, and programs from remote systems Support distributed processing Network Applications Email, remote login, Web services, streaming multimedia, voice over IP telephony, VPN Interface between communication software and OS I/O control system that provides network access Chapter 13 Operating Systems: An Overview 13-26 System Administration Support System configuration and setting group configuration policies Adding and deleting users Modifying user privileges System security Files systems management Chapter 13 Operating Systems: An Overview Network administration Backups Software installations and upgrades OS installations (system generation), patches, and upgrades System tuning and optimization 13-27 Monolithic Kernel Drawback: stability and integrity Examples: UNIX Windows NT Chapter 13 Operating Systems: An Overview 13-28 Hierarchical Requests pass through intermediate layers Examples Multics Data General Chapter 13 Operating Systems: An Overview 13-29 Microkernel Minimum essential functionality Client-server system on same system Clients request services from microkernel which passes message onto appropriate server Chapter 13 Operating Systems: An Overview 13-30 Mach OS Kernel Microkernel implementation Includes Message passing Interrupt processing Virtual memory management Scheduling Basic set of I/O drivers Macintosh OS X, IBM AIX on RS/6000 Chapter 13 Operating Systems: An Overview 13-31 Types of Operating Systems Single user, single tasking Single user, multitasking Multi-user, multitasking Distributed systems Processing power distributed among computers in a cluster or network Network servers Real-time systems Embedded systems Chapter 13 Operating Systems: An Overview 13-32 Bootstrapping Execution begins with bootstrap loader (mini-loader, IPL) stored in ROM Looks for OS program in a fixed location Loads OS into RAM Transfers control to starting location of OS Loader program in OS used to load and execute user programs Chapter 13 Operating Systems: An Overview 13-33 Bootstrapping Cold vs. warm boot (does not retest the system) Chapter 13 Operating Systems: An Overview 13-34 Copyright 2003 John Wiley & Sons All rights reserved. Reproduction or translation of this work beyond that permitted in Section 117 of the 1976 United States Copyright Act without express permission of the copyright owner is unlawful. Request for further information should be addressed to the permissions Department, John Wiley & Songs, Inc. The purchaser may make back-up copies for his/her own use only and not for distribution or resale. The Publisher assumes no responsibility for errors, omissions, or damages caused by the use of these programs or from the use of the information contained herein.” Chapter 13 Operating Systems: An Overview 13-35