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

Module1

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
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
We take content rights seriously. If you suspect this is your content, claim it here.
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