1 / 40

OS - Chapter # 1 (1) (3)

operating system

SheRax
Download Presentation

OS - Chapter # 1 (1) (3)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction & Background Chapter # 1 Operating Systems

  2. Disclaimer The material in the course slides has been taken from different sources. Most of the material has been taken from the book slides of Operating Systems Concepts by Silberschatz. There is editing at a lot of places and inclusion of new material from course professor. However, professor does not exhibit or claim any copyright over these slides material

  3. Chapter 1 - Outline • Introduction to operating system • Application software • System software • Machine language • Microprogramming • Physical devices • History of Operating Systems • Types of Operating Systems • Introduction to Unix, MS-DOS and Windows

  4. Operating System Definition • Operating Systems • OS is a control program which manages computer resources and allocate these resources among competing tasks • OS control and coordinates use of hardware among applications for users • OS is the interface between the hardware and software environment • OS is a program that acts as an intermediary between the user and computer hardware

  5. Operating System Goals • Execute user programs and make solving user problems easier • Make the computer system convenient to use • Use the computer hardware in an efficient manner

  6. Computer System Overview • From hardware and software point of view, a computer system can be divided into six parts • Application programs • Compliers, editors, interpreters • Operating system • Machine language • Microprogramming • Physical devices

  7. Computer System Overview

  8. Computer System Overview • Application Programs • They are used to solve user’s problems • AP have specific processing’s capabilities required for user’s applications • Examples: • Word processor (Microsoft Word, Abi Word) • Spread sheet (Microsoft Excel) • Presentation tools (MS PowerPoint, KPresenter) • Inventory control system • Library management system

  9. Computer System Overview • System Programs • They are used to manage operations of computer and to control its resources • Oriented to the needs of hardware and facilitate the development and running of applications • Examples: • Compilers (C Language Compiler) • Editors (DOS Editor) • Shell (C Shell) • Interpreter (VB Interpreter)

  10. Computer System Overview • Operating Systems • OS is an integrated set of programs used to manage the computer resources and its overall operations • Provide a layer of services which manage the resources of the hardware and permit the user to drive the system • Provide special hardware services in absence of hardware facility using special software routines

  11. Computer System Overview • Operating System performs • Resource Management • CPU management • Memory management • File System management • I/O management • Resource Sharing • Among Users • Among CPUs • Interfacing between hardware and users

  12. Computer System Overview • Machine Language • Machine language programs are written in binary language • Machine language has 50-300 instructions • Used for moving data around the machine • Only language understandable by hardware • Every programming language code has to be converted into machine language

  13. Computer System Overview • Micro Programs • They are normally permanently located in chips to perform some basic tasks • Example is micro program located in ROM • An interpreter, fetching the machine language instruction such as ADD, JUMP, MOVE and carrying them out as a series of little steps • To carry out an ADD instruction following steps are performed • The micro-program determines where the number to be added are located • Fetch them • Add them • Store them in proper location

  14. Computer System Overview • Physical Devices • These are basically hardware components used in a computer • At the lowest level they have to actually perform the user’s tasks • Example: • Processor • Motherboard • Memory • Keyboard • Mouse

  15. 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

  16. Evolution of Operating Systems • In early systems the programs were entered by using a set of switches to define memory address value • The program was started by setting the program counter to the first instruction word and pressing a start button • The execution was progressed by displaying light on console • The first step towards improvement was to reduce human involvement in this process

  17. Evolution of Operating Systems • Offline input devices like cards or paper tape reader were introduced later • A program loader was established in Computer memory to read program from input device and setup it in memory • New input/output technologies were applied to assist in improving system performance

  18. Evolution of Operating Systems • Around 1960, a new computer called Atlas was developed with the requirements of an operating system in mind • Batch processing was applied to submit jobs in batches to the computer • Multiprogramming was introduced to run several programs at the same time • The processor should be kept busy for most of the time by switching its attention from one program to another

  19. Evolution of Operating Systems • Fist time sharing system (support multiple interactive users) was developed at MIT • Mini Computer took place having multi-user OS • Spooling (Simultaneous Peripheral Operation On-line) technique was introduced • it is used to absorb surplus processor time by performing I/O transfers for other jobs

  20. Types of Operating Systems • With the passage of time operating systems are divided into different categories. They can be categories as follows • Single User OS • Distributed OS • Network OS • Multiprocessor OS • Real-time OS • Embedded OS

  21. Single User Operating Systems • These types of OS were commonly used with computer systems referred as Personal Computers in 1980s, 1990s and early 2000s • Cheaper OS • Easy to use • May run several different types of operating systems (Windows, MacOS, UNIX, Linux) • Supports multiple applications • not dedicated for one type of application • Have centralized resources • Supports multimedia (images, text, graphics and audio/video) • Example: • Windows 98,ME • Linux

  22. Network Operating Systems • Network Operating Systems are used to connect more than one computer • User can login to a remote computer, to share its resources • Network OS does not follow any transparency (e.g. location, migration) • Every operation has to be explicitly specified by the user • User knows where his job is processing • Examples: • Windows NT • Sun Solaris

  23. Distributed Operating Systems • Distribute computation among several physical processors • Follows the transparencies • Requires networking infrastructure • Local area networks (LAN) or Wide area networks (WAN) • May be either client-server or peer-to-peer systems • Main features of Distributed System • Resource sharing • Computation speed up • Reliability • Communication

  24. Distributed Operating Systems • Two types of Distributed OS • Tightly coupled DOS • Multiprocessor system • Processor share memory • Communication takes place through memory • Loosely coupled DOS • Single processor system • Clusters of workstations • Do not communicate via memory • Communicate via high speed buses, telephone lines • Examples: • Windows 2000 • Linux • Unix

  25. Multiprocessor Operating Systems • These are actually distributed operating systems which run on machines having more than one processor • Communication is done via shared memory through message passing, pipes etc.

  26. Real-time Operating Systems • These OS run on Real-time systems • Very fast operating system • Normally designed for a set of specific applications • A real-time system is any information processing system which has to respond to externally generated input stimuli within a finite and specified period • the correctness depends not only on the logical result but also the time it was delivered • failure to respond is as bad as the wrong response • In a real time system emphasis is on timely execution of tasks than speed of execution • Often used as a control device in a dedicated application such as controlling scientific experiments, medical imaging systems, industrial control systems, and some display systems • Real-Time systems may be either hard or soft real-time

  27. Real-time Operating Systems • Hard real-time system • systems where it is absolutely imperative that responses occur within the required deadline • E.g. Flight control systems • Secondary storage limited or absent, data stored in short term memory, or read-only memory (ROM) • Soft real-time system • systems where deadlines are important but which will still function correctly if deadlines are occasionally missed • E.g. Data acquisition system • Limited utility in industrial control of robotics • Useful in applications (multimedia, virtual reality) requiring advanced operating-system features

  28. Embedded Operating Systems • These operating systems are dedicated for devices • These are normally built-in with devices • Example: • Mobile set OS • PDA OS ( personal digital assistant, a handheld device that combines computing, telephone/fax, Internet and networking features.) • Issues: • Limited memory • Slow processors • Small display screens

  29. Computing Environments - Traditional • Stand-alone general purpose machines • But blurred as most systems interconnect with others (i.e. the Internet) • Portals provide web access to internal systems • Network computers (thin clients) are like Web terminals • Mobile computers interconnect via wireless networks • Networking becoming ubiquitous – even home systems use firewalls to protect home computers from Internet attacks

  30. Computing Environments - Mobile • Handheld smartphones, tablets, etc • What is the functional difference between them and a “traditional” laptop? • Extra feature – more OS features (GPS, gyroscope) • Allows new types of apps like augmented reality • Use IEEE 802.11 wireless, or cellular data networks for connectivity • Leaders are Apple iOSand Google Android

  31. Computing Environments – Distributed • Distributed • Collection of separate, possibly heterogeneous, systems networked together • Network is a communications path, TCP/IP most common • Local Area Network (LAN) • Wide Area Network (WAN) • Metropolitan Area Network (MAN) • Personal Area Network (PAN) • Network Operating System provides features between systems across network • Communication scheme allows systems to exchange messages • Illusion of a single system

  32. Computing Environments – Client-Server • Client-Server Computing • Dumb terminals supplanted by smart PCs • Many systems now servers, responding to requests generated by clients • Compute-server system provides an interface to client to request services (i.e., database) • File-server system provides interface for clients to store and retrieve files

  33. Computing Environments – Peer-to-Peer • Another model of distributed system • P2P does not distinguish clients and servers • Instead all nodes are considered peers • May each act as client, server or both • Node must join P2P network • Registers its service with central lookup service on network, or • Broadcast request for service and respond to requests for service via discovery protocol • Examples includeNapsterandGnutella, Voice over IP (VoIP) such as Skype

  34. Computing Environments - Virtualization • It treats hardware and the operating system kernel as though they were all hardware • A virtual machine provides an interface identical to the underlying bare hardware • The operating system creates the illusion of multiple processes, each executing on its own processor with its own (virtual) memory • The resources of the physical computer are shared to create the virtual machines • CPU scheduling can create the appearance that users have their own processor • Spooling and a file system can provide virtual card readers and virtual line printers

  35. Computing Environments - Virtualization • Allows operating systems to run applications within other OSes • Vast and growing industry • Emulation used when source CPU type different from target type (i.e. PowerPC to Intel x86) • Generally slowest method • When computer language not compiled to native code – Interpretation • Virtualization – OS natively compiled for CPU, running guestOSes also natively compiled • Consider VMware running WinXP guests, each running applications, all on native WinXPhost OS • VMM provides virtualization services

  36. Computing Environments - Virtualization • Use cases involve laptops and desktops running multiple OSes for exploration or compatibility • Apple laptop running Mac OS X host, Windows as a guest • Developing apps for multiple OSes without having multiple systems • QA testing applications without having multiple systems • Executing and managing compute environments within data centers • VMM can run natively, in which case they are also the host • There is no general purpose host then (VMware ESX and Citrix XenServer)

  37. Computing Environments - Virtualization

  38. Computing Environments – Cloud Computing • Delivers computing, storage, even apps as a service across a network • Logical extension of virtualization as based on virtualization • Amazon EC2 has thousands of servers, millions of VMs, PBs of storage available across the Internet, pay based on usage • Deployment Types • Public cloud – available via Internet to anyone willing to pay • Private cloud – run by a company for the company’s own use • Hybrid cloud – includes both public and private cloud components • Service Types • Software as a Service (SaaS) – one or more applications available via the Internet (i.e. word processor) • Platform as a Service (PaaS) – software stack ready for application use via the Internet (i.e a database server) • Infrastructure as a Service (IaaS) – servers or storage available over Internet (i.e. storage available for backup use)

  39. Computing Environments – Cloud Computing • Cloud compute environments composed of traditional OSes, plus VMMs, plus cloud management tools • Internet connectivity requires security like firewalls • Load balancers spread traffic across multiple applications

  40. Computing Environments – Real-Time Embedded Systems • Real-time embedded systems most prevalent form of computers • Vary considerable, special purpose, limited purpose OS, real-time OS • Use expanding • Many other special computing environments as well • Some have OSes, some perform tasks without an OS • Real-time OS has well-defined fixed time constraints • Processing must be done within constraint • Correct operation only if constraints met

More Related