0% found this document useful (0 votes)
7 views

Module1

Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Module1

Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 28

Computing Environments

• Traditional
• Mobile
• Client Server
• Peer-to-Peer
• Cloud computing
• Real-time Embedded
Traditional

• Stand-alone general-purpose machines


• But blurred as most systems interconnect with others (i.e.,
the Internet)
• Current trend – providing more ways to access the computing
environment.
• 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
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 iOS and Google
Android (Mobile OS)
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
Distributed Systems
• 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
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 include Napster and
Gnutella, Voice over IP (VoIP)
such as Skype
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
guest OSes also natively compiled
• Consider VMware running WinXP guests, each running
applications, all on native WinXP host OS
• VMM (virtual machine Manager) provides virtualization services
Virtualization (cont.)
• 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
• Quality assurance 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)
Computing Environments -
Virtualization
Cloud Computing
• Delivers computing, storage, even apps as a
service across a network
• Logical extension of virtualization because it
uses virtualization as the base for it
functionality.
• Amazon EC2 has thousands of servers, millions
of virtual machines, petabytes of storage available
across the Internet, pay based on usage
Cloud Computing (Cont.)
• Many 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
• 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)
Cloud Computing (cont.)

• Cloud computing environments composed of traditional


OSes, plus VMMs, plus cloud management tools
• Internet connectivity requires security like firewalls
• Load balancers spread traffic across multiple applications
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
Free and Open-Source Operating Systems

• Operating systems made available in source-code format


rather than just binary closed-source and
proprietary
• Counter to the copy protection and Digital Rights
Management (DRM) movement
• Started by Free Software Foundation (FSF),
which has “copyleft” GNU Public License (GPL)
• Free software and open-source software are two different ideas championed by different groups of
people
• https://www.gnu.org/philosophy/open-source-misses-the-point.en.html

• Examples include GNU/Linux and BSD UNIX


(including core of Mac OS X), and many more
• Can use VMM like VMware Player (Free on Windows),
Virtualbox (open source and free on many platforms -
http://www.virtualbox.com)
• Use to run guest operating systems for exploration
PC Motherboard
Operating System Structure
• General-purpose OS is very large program
• Various ways to structure ones
• Simple structure – MS-DOS
• More complex – UNIX
• Layered – an abstraction
• Microkernel – Mach
Monolithic Structure – Original UNIX

• UNIX – limited by hardware functionality, the


original UNIX operating system had limited
structuring.
• The UNIX OS consists of two separable parts
• Systems programs
• The kernel
• Consists of everything below the system-call interface and
above the physical hardware
• Provides the file system, CPU scheduling, memory
management, and other operating-system functions; a large
number of functions for one level
Traditional UNIX System Structure
Beyond simple but not fully layered
Linux System Structure
Monolithic plus modular design
Layered Approach
• The operating system is
divided into a number of
layers (levels), each built
on top of lower layers.
The bottom layer (layer 0),
is the hardware; the
highest (layer N) is the
user interface.
• With modularity, layers
are selected such that
each uses functions
(operations) and services
of only lower-level layers
Microkernels
• Moves as much from the kernel into user space
• Mach is an example of microkernel
• Mac OS X kernel (Darwin) partly based on Mach
• Communication takes place between user modules
using message passing
• Benefits:
• Easier to extend a microkernel
• Easier to port the operating system to new architectures
• More reliable (less code is running in kernel mode)
• More secure
• Detriments:
• Performance overhead of user space to kernel space
communication
Microkernel System Structure
Modules
• Many modern operating systems implement
loadable kernel modules (LKMs)
• Uses object-oriented approach
• Each core component is separate
• Each talks to the others over known interfaces
• Each is loadable as needed within the kernel
• Overall, similar to layers but with more flexible
• Linux, Solaris, etc.
Hybrid Systems
• Most modern operating systems are not one pure
model
• Hybrid combines multiple approaches to address
performance, security, usability needs
• Linux and Solaris kernels in kernel address space, so
monolithic, plus modular for dynamic loading of functionality
• Windows mostly monolithic, plus microkernel for different
subsystem personalities
• Apple Mac OS X hybrid, layered, Aqua UI plus Cocoa
programming environment
• Below is kernel consisting of Mach microkernel and BSD Unix
parts, plus I/O kit and dynamically loadable modules (called
kernel extensions)
macOS and iOS Structure
Darwin
Android
• Developed by Open Handset Alliance (mostly Google)
• Open Source
• Similar stack to iOS
• Based on Linux kernel but modified
• Provides process, memory, device-driver management
• Adds power management
• Runtime environment includes core set of libraries and
Dalvik virtual machine
• Apps developed in Java plus Android API
• Java class files compiled to Java bytecode then translated to
executable thnn runs in Dalvik VM
• Libraries include frameworks for web browser (webkit),
database (SQLite), multimedia, smaller libc
Android Architecture

You might also like