Operating Systems, Virtualization, Cloud Computing and Big Data

advertisement
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
Download
Study collections