Operating Systems, Virtualization, Cloud Computing and Big Data CS 1 Introduction to Computers and Computer Technology Rick Graziani Spring 2016 Software Rick Graziani graziani@cabrillo.edu 2 Software • • • Application software: Programs for performing a specific task – Word processing, spreadsheets, gaming, web page design, graphic design System software: – Operating software: Software that controls the overall operation of the computer • (more next) – Utility software: Software that extends or customizes the capabilities of the operating system • Formatting • compress/decompress data • network communications Distinction between Application and System software can be vague. – Anti-trust and unfair business practice lawsuits against Microsoft have been filed over the years. Rick Graziani graziani@cabrillo.edu 3 Operating System Software • Operating System (OS) – Software that controls the overall operation of a computer Rick Graziani graziani@cabrillo.edu 4 What is an operating system (OS)? Operating System Software Software which manages the overall operation of the computer system including: • hardware (CPU, RAM, I/O) • security • system interface • application interface Rick Graziani graziani@cabrillo.edu 5 The User’s View Rick Graziani graziani@cabrillo.edu 6 Rick Graziani graziani@cabrillo.edu 7 What “is” an operating system? Software files (programs) which are stored on the hard disk • kernel with the internal programs • external programs Supporting Data Files Rick Graziani graziani@cabrillo.edu 8 The kernel The operating system software file (program) which is copied into RAM, usually from the hard disk drive, during the boot-up. The kernel remains in RAM while the computer is on and is in charge of the overall operations. The kernel contains the “internal programs” for the most often used operations like copying files. • kmem (Linux) • command.exe (Microsoft) • Hybrid XNU (Mac OSX) Rick Graziani graziani@cabrillo.edu 9 Kernel • Kernel – The internal part of the operating system. – Those software components that perform the basic functions required by the computer. • File management • Memory management (RAM) • Security Rick Graziani graziani@cabrillo.edu 10 The functions of an operating system 1. Manages and Interacts with Computer Hardware 2. Provides and Manages System Security 3. Provides the System Interface 4. Provides the Interface for Application Software Rick Graziani graziani@cabrillo.edu 11 1. Manages and Interacts with Computer Hardware • Manages the CPU - What software programs the CPU works on and when • Manages RAM - What is stored in RAM and where it is stored - Virtual memory - OS will send message when RAM is full Rick Graziani graziani@cabrillo.edu 12 1. Manages and Interacts with Computer Hardware (continued) • • • Provides the interface for storage devices and manages how data is stored on those devices virtual memory Flash drive Rick Graziani graziani@cabrillo.edu 13 1. Manages and Interacts with Computer Hardware (continued) • Provides the Interface for Input and Output Devices – keyboard, mouse, printer, – device drivers = software programs which allow the hardware device to be used by the operating system and by application software Rick Graziani graziani@cabrillo.edu 14 Not in Notes Servers and Clients Client Server • • • 21 A host – Client, Server, or both. – Software determines the role. Servers provide information and services to clients – e-mail or web pages Clients request information from the server. Not in Notes Server Computers • • • • 22 Servers have software installed that enable them to provide information (email or web pages), to other hosts on the network. Each service requires separate server software. Example, a host requires web server software in order to provide web services to the network. A single computer can run multiple types of server software. Not in Notes Client Computers • • • 23 Clients are computers that have software installed that enable them to request and display the information obtained from the server. A single computer can also run multiple types of client software. There must be client software for every service required. Examples of Server Operating Systems • MAC OS X Server • Windows Server • Linux Server Rick Graziani graziani@cabrillo.edu 24 Advantages/Disadvantages of Server Operating Systems Advantages • Central location for the installation and administration of all software and data • More cost effective - less expensive than multiple computers (PCs, Macs) Disadvantages • Single source of failure • Loss of individual user control of their own software, data, and peripherals Rick Graziani graziani@cabrillo.edu 25 2. Provides and Manages System Security Single-user Operating Systems • minimal security • user has full authority (usually, physical access) Server Operating Systems • login and password capability (also in single-user OS) • protection of user’s data stored on the server’s central hard disk drives • protection and security for software programs Rick Graziani graziani@cabrillo.edu 28 3. Provides the System Interface System Interface or shell = the interface between the user and the computer Command Line Interface (CLI) • Linux, UNIX, DOS, older OS’s Graphical User Interface (GUI) Rick Graziani graziani@cabrillo.edu 29 Command Line Interface DOS, UNIX, others Rick Graziani graziani@cabrillo.edu 30 DOS plus Windows 3.1 Rick Graziani graziani@cabrillo.edu 31 Windows 95 Rick Graziani graziani@cabrillo.edu 32 Windows XP Rick Graziani graziani@cabrillo.edu 33 Macintosh Rick Graziani graziani@cabrillo.edu 34 Mac OS X Rick Graziani graziani@cabrillo.edu 35 Linux Rick Graziani graziani@cabrillo.edu 36 Microsoft Windows 10 Rick Graziani graziani@cabrillo.edu 37 4. Provides the Interface for Application Software • Operating systems are software • Operating systems are designed and developed for a specific CPU or “family of CPUs” Rick Graziani graziani@cabrillo.edu 38 4. Provides the Interface for Application Software (continued) Application software is developed for an operating system Android device • Google Android OS • Android Apps iPhone device • Apple ios • iPhone Apps Rick Graziani graziani@cabrillo.edu 39 Virtualization, Cloud Computing and Big Data Virtualization • Virtualization - Various techniques and methods of creating a virtual (rather than actual) version of something, such as: – Computer hardware platform – Operating System (OS) – Virtual Machine or VM – Storage device – Network resources Rick Graziani graziani@cabrillo.edu 50 Virtual Computers File/Storage Server Email Server DHCP Server DNS Server Application Server Web Server Virtual Machines Rick Graziani graziani@cabrillo.edu 51 Virtual Machine • • • Software that supports multiple operating systems on a single computer. Each operating system is it’s own “virtual machine” with it’s own: – Operating system – RAM – Storage Shared CPU Rick Graziani graziani@cabrillo.edu 52 VM • A computer can run: – Multiple operating systems simultaneously including the software applications Rick Graziani graziani@cabrillo.edu 53 Virtual Machines • Instead of being stored on the local computer, the VMs may be stored on a remote server. Virtual Machine Server Rick Graziani graziani@cabrillo.edu 54 • • • A hypervisor is a piece of computer software, firmware or hardware that creates and runs virtual machines. (aka virtual machine manager or virtual machine monitor Host machine: The computer that runs the and has one or more virtual machines. Each virtual machine is called a guest machine. Rick Graziani graziani@cabrillo.edu 55 Rick Graziani graziani@cabrillo.edu 56 Zero Clients The Cloud Zero Client (thin clients) just: 1.Connect to the network 2.Begins a networking protocol to communicate with the VM server 3.Displays the server's output: – Operating system, applications and data Basically the full OS and applications are run in “the cloud” Rick Graziani graziani@cabrillo.edu 57 Zero Clients – No computer needed Rick Graziani graziani@cabrillo.edu 58 Zero Clients – No computer needed Rick Graziani graziani@cabrillo.edu 59 Zero Clients – No computer needed USB Network (Ethernet) Microphone Speakers Etc. Monitor Rick Graziani graziani@cabrillo.edu 60 Centralization of hardware and software Fewer client “computers” means: •Less cost – fewer “computers” •Do not have to constantly upgrade computers or buy new computers •Easier installation of software and upgrading current software •Better utilization of resources •Easier management of client computers •Access “the cloud” from any device on the network. Rick Graziani graziani@cabrillo.edu 61 Centralization – Looks familiar…. • Rick Graziani graziani@cabrillo.edu The mainframe computer has now become the “cloud”. 62 Cloud Computing • Cloud computing – Ability to run a program on many connected • • computers at the same time. The popularity of the term is from the ability host application services so that the client can access from a remote location. Also known as distributed computing over a network Rick Graziani graziani@cabrillo.edu 63 Where is the cloud…. In the Data Center • A data center is a specialized facility used to house computer systems and associated components, such as telecommunications and storage systems. Rick Graziani graziani@cabrillo.edu 64 A Walk Through of Google’s Data Center Rick Graziani graziani@cabrillo.edu 65 Cloud Computing Cloud computing is offline computing in which large groups of remote servers are networked to allow the centralized data storage, and online access to computer services or resources. https://www.youtube.com/watch?v=J9LK6EtxzgM Rick Graziani graziani@cabrillo.edu 66 Cloud Computing – Outsourced Flexibility • Outsourcing “some” IT (Information Technology) services to a third • party allows for flexibility and growth. Example: WebAdvisor in the cloud? Rick Graziani graziani@cabrillo.edu 67 60 seconds on the Internet (2012) Rick Graziani graziani@cabrillo.edu 68 60 seconds on the Internet (2012) Rick Graziani graziani@cabrillo.edu 69 Big data (2012) • We are inundated with data and information. Rick Graziani graziani@cabrillo.edu 70 Big Data • Big data - The collection of data sets so large and complex that it • • becomes difficult to process using traditional database management tools or traditional data processing applications. Challenges: How to capture, organize, store, search, share, transfer, analyze, and visualize. How to use larger data sets of information, analyze the information and use it to "spot business trends, determine quality of research, prevent diseases, link legal citations, combat and prevent crime, and make informed decisions. Rick Graziani graziani@cabrillo.edu 71 Big Data (2012) Rick Graziani graziani@cabrillo.edu 72 Big Data Rick Graziani graziani@cabrillo.edu 73 Example Rick Graziani graziani@cabrillo.edu 74 Analyzing Data – RapidMiner Rick Graziani graziani@cabrillo.edu 75 Rick Graziani graziani@cabrillo.edu 76 Meta Data • Metadata is data that describes other data. • A metadata record is a file of information which captures the basic • • characteristics of a data or information resource. Metadata is traditionally in the card catalogs of libraries. Metadata describes how and when and by whom a particular set of data was collected, and how the data is formatted. Rick Graziani graziani@cabrillo.edu 77 Big Data Jobs • May 2013 • “Even though the job market is still difficult for some industries, tech is booming. Gartner estimates that nearly 4.4 million IT jobs globally, including 2 million technology jobs in the U.S., will be created to support big data by 2015.” Rick Graziani graziani@cabrillo.edu 78 Big Data Books… Rick Graziani graziani@cabrillo.edu 79 Operating Systems, Virtualization, Cloud Computing and Big Data CS 1 Introduction to Computers and Computer Technology Rick Graziani