* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Operating Systems
Plan 9 from Bell Labs wikipedia , lookup
Spring (operating system) wikipedia , lookup
Security-focused operating system wikipedia , lookup
Mobile operating system wikipedia , lookup
Burroughs MCP wikipedia , lookup
Process management (computing) wikipedia , lookup
Copland (operating system) wikipedia , lookup
Distributed operating system wikipedia , lookup
Introduction to Operating Systems 1 Overview •Definitions •Types of Operating Systems •Computer System Overview •Operating System Structures •Evolution of Operating Systems 2 Definition •An operating system (OS) is a software program that manages the hardware and software resources of a computer. •An Operating System is the basic minimum software that is needed for a computer to be operational -Examples of operating systems for personal computers include Microsoft Windows, Mac OS, Unix and Linux (e.g. Red Hat, Ubuntu) 3 • The lowest level of any operating system is its kernel. This is the first layer of software loaded into memory when a computer boots or starts up. • The kernel provides access to various common core services to all other system and application programs. • These services include, but are not limited to: disk access memory management task scheduling and access other hardware devices. 4 Definition contd… An Operating System (OS), is low-level software that enables a user and higherlevel application software to interact with a computer’s hardware and the data and other programs stored on the computer. An OS performs basic tasks, such as recognizing input from the keyboard, sending output to the display screen, keeping track of files and directories on the disk, and controlling peripheral devices such as printers. 5 What is an Operating System? • A basic computer consists of: One or more processors Main memory Disks Printers Various input/output devices. • Managing all these varied components requires a layer of software – the Operating System (OS). 6 The Three Elements of an OS a) User Interface – The part of the OS that you interface with. b) Kernel – The core of the OS. Interacts with the BIOS (at one end), and the UI (at the other end). c) File Management System – Organizes and manages files. 7 Computer Hardware Organization 8 Reasons for studying Operating Systems • To learn how computers work •To learn how to manage complexity through appropriate abstractions (hiding underlying details e.g. disk operation, networks) •To learn about system design e.g. performance VS simplicity •Because Operating systems are key components in many systems e.g. cell phones, home appliances etc •Combines concepts from many other areas of Computer Science: Architecture, Languages, Data Structures, Algorithms, etc. 9 Where does the OS fit in? 10 Goals of an Operating System a) Control/execute application programs. b) Make the computer system convenient to use. c) Ease the solving of user problems. d) Use the computer hardware in an efficient manner. 11 Dimensions of Operating Systems a) Multiuser – Two or more users work with the computer at the same time b) Multitasking – Two or more processes running at the same time. c) Multithreading – Two or more parts of the same process running at the same time. 12 Types of Operating Systems a) Real time OS b) Single user / single tasking OS c) Single user / multitasking OS d) Multi user / multitasking 13 a) Real-time operating system • Real-time operating system – Very fast small OS – Built into a device – Respond quickly to user input – MP3 players, Medical devices 14 b) Single user/Single tasking OS • Single user/Single tasking OS – One user works on the system – Performs one task at a time – MS-DOS and Palm OS – Take up little space on disk – Run on inexpensive computers 15 c) Single user/Multitasking OS • Single user/Multitasking OS – User performs many tasks at once – Most common form of OS – Windows XP and OS X – Require expensive computers – Tend to be complex 16 d) Multi user/Multitasking OS • Multi user/Multitasking OS – Many users connect to one computer – Each user has a unique session – Maintenance can be easy – Requires a powerful computer – E.g. UNIX, Linux, and VMS 17 Multi user/Multi tasking OS 18 Types of User Interfaces • User interface refers to the way a user interacts with a computer • Major types user interfaces are: a) Graphical User Interface (GUI) b) Command Line Interface (CLI) 19 a) Graphical user interface (GUI) – Most common interface E.g. Windows, OS X, Gnome, KDE – Uses a mouse to control objects – Uses a desktop metaphor – Shortcuts open programs or documents – Task switching – Dialog boxes allow directed input 20 Graphical User Interface 21 b) Command Line Interface –Older interface E.g. DOS, Linux, UNIX –User types commands at a prompt –User must remember all commands –Included in all GUIs 22 Command Line Interface 23 Operating System Functions • Control of Computer Hardware • • • • Provide a user interface Run programs File management – creation , storage etc Application Management 24 Services Provided by an OS • Facilities for program creation – editors, compilers, debuggers etc. • Program execution – loading in memory, I/O and file initialization. • Access to I/O and files – deals with the specifics of I/O and file formats. • System access – resolves conflicts for resource contention. – protection in access to resources and data. 25 Computer System Components 1. Hardware – provides basic computing resources (CPU, Memory, I/O devices, Communication). 2. Operating System – controls and coordinates use of the hardware among various application programs for various users. 3. System & Application Programs – ways in which the system resources are used to solve computing problems of the users (E.g. Word processors, Compilers, Web browsers, Database systems, Video games). 4. Users – (People, Machines, other computers). 26 Hierarchical view of computer system 27 Static View of System Components 28 Dynamic View of System Components 29 Layers of a Computer System End User Application Programs Utilities Operating-System Programmer OperatingSystem Designer Computer Hardware 30 Views of an Operating System • There are three classical views (in literature): 1. Resource Manager – manages and allocates resources. 2. Control program – controls the execution of user programs and operations of I/O devices. 3. Command Executer – Provides an environment for running user commands. • But one more modern view: the Operating System as a Virtual Machine. 31 1. Resource Manager • Resource Manager: – Manages and protects multiple computer resources: CPU, Processes, Internal/External memory, Tasks, Users, Communication channels, – Handles and allocates resources to multiple users or multiple programs running at the same time and space (e.g., processor time, memory, I/O devices). – Decides between conflicting requests for efficient and fair resource use (e.g., maximize throughput, minimize response time). 32 OS as a Resource Manager 33 2. Control Program • Control Program: – Manages all the components of a complex computer system in an integrated manner. – Controls the execution of user programs and I/O devices to prevent errors and improper use of computer resources. – Looks over and protects the computer: Monitor, Supervisor, Executive, Controller, Master, Coordinator …. 34 3. Command Executor • Command Executor: – Interfaces between the users and machine. – Supplies services/utilities to users. – Provides the users with a convenient CLI (Command Language Interface), also called a Shell (in UNIX & LINUX), for entering the user commands. 35 History of Operating Systems • An operating system (OS) is a software program that manages the hardware and software resources of a computer. • The OS performs basic tasks, such as controlling and allocating memory, prioritizing the processing of instructions, controlling input and output devices, facilitating networking, and managing files. 36 Structure of Operating System (Contd…): 3. System programs This layer consists of compilers, Assemblers, linker etc. 4. Application programs This is dependent on users need. Ex. Railway reservation system, Bank database management etc., 37 Evolution of OS • The evolution of operating systems went through seven major phases. • Six of them significantly changed the ways in which users accessed computers through the open shop, batch processing, multiprogramming, timesharing, personal computing, and distributed systems. • In the seventh phase the foundations of concurrent programming were developed and demonstrated in model operating systems. 38 Evolution of OS (contd..) Major Phases Technical Innovations Operating Systems Open Shop The idea of OS IBM 701 open shop (1954) Batch Processing Tape batching, First-in, first-out scheduling. BKS system (1961) Multiprogramming Processor multiplexing, Atlas supervisor (1961), Indivisible operations, Exec II system (1966) Demand paging, Input/output spooling, Priority scheduling, Remote job entry 39 Evolution of OS (contd..) Timesharing Simultaneous user interaction, On-line file systems Multics file system (1965), Unix (1974) Concurrent Programming Hierarchical systems, Extensible kernels, Parallel programming concepts, Secure parallel languages RC 4000 system (1969), 13 Venus system (1972), 14 Boss 2 system (1975). Personal Computing Distributed Systems Graphic user interfaces OS 6 (1972) Pilot system (1980) Remote servers WFS file server (1979) Unix United RPC (1982) 24 Amoeba system (1990) 40 a) User View of OS • The user's view of the computer varies according to the mode being used. • Most computer users sit in front of a PC, consisting of a monitor/keyboard/ mouse, and system unit. • Such a system is designed for one user to monopolize its resources. (single user mode) • The goal is to maximize the work (or play) that the user is performing. • In this case the operating system is designed mostly for ease of use with some attention paid to performance and none paid to resource utilization. 41 • In other cases, a user sits at a terminal connected to a mainframe or mini computer. Other users are accessing the same computer through other terminals. • These users share resources and may exchange information. (multi-user) • The OS in such cases is designed to maximize resource utilization to assure that all available CPU time, memory, and I/0 are used efficiently and that no individual user takes more than her fair share. 42 • Some computers have little or no user view. For example, embedded computers in home devices and automobiles may have numeric keypads and may turn indicator lights on or off to show status, but they and their operating systems are designed primarily to run without user intervention. 43 b) System View • From the computer's point of view, the OS is the program most intimately involved with the hardware. • In this context, we can view an operating system as a resource allocator • A computer system has many resources that may be required to solve a problem: CPU time, memory space, file-storage space, I/0 devices, and so on. 44 b) System View contd… • The operating system acts as the manager of these resources. • Facing numerous and possibly conflicting requests for resources, the operating system must decide how to allocate them to specific programs and users so that it can operate the computer system efficiently and fairly. • As we have seen, resource allocation is especially important where many users access the same mainframe or minicomputer. 45 TASKS 1) Explain the relationship between OS and Computer architecture 1) Write notes on History of Operating Systems 46