Evolution of Device Ecosystems and Connectivity Technologies

 
Device Ecosystem
 
Marion Sudvarg, Chris Gill, James Orr
CSE 522S – Advanced Operating Systems
Washington University in St. Louis
St. Louis, MO 63130
 
1
 
The Device Ecosystem
 
Devices are becoming more connected
 
CSE 522S – Advanced Operating Systems
 
2
 
The distinction between “computers” and “peripheral devices” is
increasingly blurry
 
“In the multi-device ecosystem, a variety of devices interact with one
another as an ecology, and their interactions are shaped by how
individuals use the devices in a variety of contexts en route to
completing their information and entertainment goals.”
Designing Multi-Device Experiences
, Michal Levin, O’Reilly, 2014
 
Today’s Discussion
 
Device ecosystems are changing the way we
interact with devices
 
They are launching new philosophies of user
interaction and user experience (UI/UX) design
 
Also leading to new technologies, and new ways
to leverage existing technologies, in:
Device communication
Virtualization
Distributed and cloud infrastructure
 
CSE 522S – Advanced Operating Systems
 
3
 
A (Brief) History
 
CSE 522S – Advanced Operating Systems
 
4
UNIX
1969
Berkeley Software
Distribution (BSD)
1978
MINIX
1987
Linux
1991
Android
2008
NeXTSTEP
1989
OS X
(now macOS)
2001
iOS
2007
Original multi-user
OS developed by
Denis Ritchie and
Ken Thompson
(and others at Bell
Labs)
Unix derivatives
developed by UC
Berkeley
Developed by NeXT Computer
(founded by Steve Jobs when he
was forced out of Apple), based
on Mach kernel and BSD
Unix/NeXTSTEP-
based successor to
classic Mac OS
iPhone/iPad OS
based on macOS
Teaching OS
developed by Andrew
Tanenbaum, Unix-
based microkernel
Developed by Linus
Torvalds when frustrated
with Minix, monolithic
kernel, used GNU OS for
userspace interaction and
applications
Developed by a consortium
(including Google) as a
modified (and now
extension to) the Linux
kernel. Robert Love is a
major contributor!
 
Newer Modes of Connectivity
 
Computer to Computer
 
Ethernet
: wired computer
networking
802.11
: WiFi standard, works
seamlessly with Ethernet
Bluetooth
: Short-range (10m),
low-power (2.5mW)
communication used for
wireless audio, smartphone
communication,
keyboards/mice, etc.
NFC 
(near field
communication): Low-speed,
short distance (a few inches),
e.g. contactless payment
 
Computer to Peripheral
 
Parallel: older communication
port, largely used by legacy
printers
USB: Serial communication
interface supporting speeds up
to 20 Gbps
USB-C: A unified connection
type supporting high-speed
USB communication,
DisplayPort, and power delivery
on a single cable
PCIe: A high-speed internal bus
for peripheral devices (e.g.
GPUs, accelerators) designed to
replace ISA, AGP, and PCI
 
CSE 522S – Advanced Operating Systems
 
5
 
Protocol Stacks
 
Typically used to refer to the
network stack
Key idea: device communication
has multiple layers
Allows separate abstractions for:
Application communication protocol
OS sockets protocol
Device drivers
Hardware
Other stacks can be considered
For example, Raspberry Pi 3 B+
supplies Ethernet over USB:
USB driver talks to
Ethernet driver
Drivers must allow seamless
integration with Linux networking
subsystem
 
 
 
CSE 522S – Advanced Operating Systems
 
6
 
Protocol Stack of the OSI Model
Source:
https://en.wikipedia.org/wiki/Protocol_stack
 
Multiple Modes of Operation
 
In a device ecosystem:
Execution, functionality, work, and user interaction are divided among
multiple communicating devices
These devices have distinct, yet shared roles
Applications must provide a seamless communication and interaction
interface
The OS must allow a unified set of communication protocols
Drivers must enable these protocols across a wide range of hardware
Example:
Your MacBook and iPhone can both connect to AirPods over Bluetooth
Must provide similar, intuitive controls
Controls still differ based on laptop/mobile interfaces
Use similar drivers to enable unified Bluetooth communication
AirPods must be able to seamlessly switch between devices
A device can be both a host or a peripheral!
A smartphone has an OS installed
Can act as a peripheral when connected by USB to laptop
You can use USB to connect peripherals (e.g. an external hard drive) to
some smartphones
 
CSE 522S – Advanced Operating Systems
 
7
 
The Internet of Things
 
More and more devices are connected to the
internet! (or private networks)
Smart homes
Smart cities!
Wireless sensor networks
IoT devices must have onboard
communication (often over WiFi)
Often communicate with cloud services that
collect data and coordinate the devices
Learn more in CSE 521S
 
CSE 522S – Advanced Operating Systems
 
8
 
Image Source:
https://pixabay.com/vectors/smart-home-house-technology-2005993/
 
Cloud Computing
 
Clouds enable large-scale management of virtual machines across
distributed hosts
Connectivity is network based, and may span multiple racks, data
centers, even geographic locations
Cloud providers might supply different types of platforms or VMs
(compute, storage, databases, graphics/FPGA accelerators, etc.)
Might also provide distributed container environments (Docker,
Kubernetes, etc.)
Clouds are meant to be fault-tolerant and load-balanced
Employ sophisticated backup systems
Enable VMs to be replicated or migrate across hosts
VM migration techniques:
Suspend VM, migrate memory and register state
Live migration: copy memory while VM is running, mark un-copied pages as dirty,
move VM register state and copy dirty pages at end
Another option: copy dirty pages as-needed (e.g., with page fault)
Live migration should be no more noticeable than a VM context switch
Learn more in CSE 427S
 
CSE 522S – Advanced Operating Systems
 
9
 
Supercomputer Clusters
 
Enable large-scale systems to work on a single
(parallelizable) problem
Typically multiple hosts
One host often has multiple multi-core processors (and
sometimes accelerators)
Connected by high-speed network topologies
InfiniBand
Torus Fusion (Tofu)
Ethernet (10GbE, 40GbE, 100GbE)
Specialized kernels allow hosts to coordinate as if a single
machine
Hardware and drivers enable Remote Direct Memory Access
Learn more in CSE 566S
 
CSE 522S – Advanced Operating Systems
 
10
 
Distributed Embedded Systems
 
Embedded systems must often coordinate in a distributed manner
Example: avionics
Several onboard flight computers
Microcontrollers read sensors and control actuators
System must have ground telemetry capabilities
Safety-critical real-time requirements
Systems must communicate and respect 
functional
 data and
information, as well as 
parafunctional
 timing requirements and
criticality information
Middleware
 provides appropriate semantics and wrappers over lower-
level 
OS stack
:
Functional and Parafunctional specifications
Threading and event handling
Application-level socket communication protocols
Socket subsystem
TCP/IP stack
Physical driver(s) for network hardware
Learn more in CSE 520S and CSE 532S
 
CSE 522S – Advanced Operating Systems
 
11
 
Distributed Software
 
Software execution can also be distributed among
internet-connected personal computers!
Folding@home:
Protein folding simulations run across home computers of
volunteers who install the software
Former Wash U Prof. Greg Bowman!
SETI@home:
Similar concept to Folding@home
Analyzes radio signals for signs of alien intelligence
BitTorrent: Enables decentralized peer-to-peer file sharing
Blockchain:
Enables a peer-to-peer network to manage a distributed ledger
The driving technology behind many cryptocurrencies (e.g.
Blockchain)
 
CSE 522S – Advanced Operating Systems
 
12
 
Remaining Logistics
 
Thursday, 4/13: Exam Review
Monday, 4/17: Studios due at 11:59 PM
Tuesday, 4/18: Second Exam
Covers all material after first exam
Thursday, 4/20: Open project time
Tuesday, 4/25: Project Presentations
Thursday, 4/27: Project Presentations
Project code and reports due Monday, 5/1
at 11:59pm
 
CSE 522S – Advanced Operating Systems
 
13
 
Final Thoughts
 
Thanks for a great semester!
 
We know this class has been challenging and a
lot of work
 
We think it has given you the opportunity to
explore and learn many operating system
principles in greater depth
 
Hopefully this prepares you to be successful in
future work or research endeavors!
 
CSE 522S – Advanced Operating Systems
 
14
Slide Note
Embed
Share

Device ecosystems are reshaping user interactions and experiences, introducing new technologies like device communication, virtualization, and cloud infrastructure. The history of Unix derivatives, iOS development, and connectivity modes such as Ethernet, WiFi, Bluetooth, NFC, and USB are highlighted in the context of multi-device experiences. The interconnectedness of devices and the evolution of connectivity technologies are driving innovation and user experience design in the advanced operating systems domain.

  • Device ecosystems
  • Connectivity technologies
  • User experience
  • Advanced operating systems

Uploaded on Sep 20, 2024 | 1 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. Device Ecosystem Marion Sudvarg, Chris Gill, James Orr CSE 522S Advanced Operating Systems Washington University in St. Louis St. Louis, MO 63130 1

  2. The Device Ecosystem Devices are becoming more connected The distinction between computers and peripheral devices is increasingly blurry In the multi-device ecosystem, a variety of devices interact with one another as an ecology, and their interactions are shaped by how individuals use the devices in a variety of contexts en route to completing their information and entertainment goals. Designing Multi-Device Experiences, Michal Levin, O Reilly, 2014 CSE 522S Advanced Operating Systems 2

  3. Todays Discussion Device ecosystems are changing the way we interact with devices They are launching new philosophies of user interaction and user experience (UI/UX) design Also leading to new technologies, and new ways to leverage existing technologies, in: Device communication Virtualization Distributed and cloud infrastructure CSE 522S Advanced Operating Systems 3

  4. A (Brief) History Unix derivatives developed by UC Berkeley Unix/NeXTSTEP- based successor to classic Mac OS iPhone/iPad OS based on macOS Developed by NeXT Computer (founded by Steve Jobs when he was forced out of Apple), based on Mach kernel and BSD Berkeley Software Distribution (BSD) 1978 OS X NeXTSTEP 1989 iOS 2007 (now macOS) 2001 UNIX 1969 MINIX 1987 Linux 1991 Android 2008 Original multi-user OS developed by Denis Ritchie and Ken Thompson (and others at Bell Labs) Developed by Linus Torvalds when frustrated with Minix, monolithic kernel, used GNU OS for userspace interaction and applications Developed by a consortium (including Google) as a modified (and now extension to) the Linux kernel. Robert Love is a major contributor! Teaching OS developed by Andrew Tanenbaum, Unix- based microkernel CSE 522S Advanced Operating Systems 4

  5. Newer Modes of Connectivity Computer to Computer Computer to Peripheral Ethernet: wired computer networking 802.11: WiFi standard, works seamlessly with Ethernet Bluetooth: Short-range (10m), low-power (2.5mW) communication used for wireless audio, smartphone communication, keyboards/mice, etc. NFC (near field communication): Low-speed, short distance (a few inches), e.g. contactless payment Parallel: older communication port, largely used by legacy printers USB: Serial communication interface supporting speeds up to 20 Gbps USB-C: A unified connection type supporting high-speed USB communication, DisplayPort, and power delivery on a single cable PCIe: A high-speed internal bus for peripheral devices (e.g. GPUs, accelerators) designed to replace ISA, AGP, and PCI CSE 522S Advanced Operating Systems 5

  6. Protocol Stacks Typically used to refer to the network stack Key idea: device communication has multiple layers Allows separate abstractions for: Application communication protocol OS sockets protocol Device drivers Hardware Other stacks can be considered For example, Raspberry Pi 3 B+ supplies Ethernet over USB: USB driver talks to Ethernet driver Drivers must allow seamless integration with Linux networking subsystem Protocol Stack of the OSI Model Source: https://en.wikipedia.org/wiki/Protocol_stack CSE 522S Advanced Operating Systems 6

  7. Multiple Modes of Operation In a device ecosystem: Execution, functionality, work, and user interaction are divided among multiple communicating devices These devices have distinct, yet shared roles Applications must provide a seamless communication and interaction interface The OS must allow a unified set of communication protocols Drivers must enable these protocols across a wide range of hardware Example: Your MacBook and iPhone can both connect to AirPods over Bluetooth Must provide similar, intuitive controls Controls still differ based on laptop/mobile interfaces Use similar drivers to enable unified Bluetooth communication AirPods must be able to seamlessly switch between devices A device can be both a host or a peripheral! A smartphone has an OS installed Can act as a peripheral when connected by USB to laptop You can use USB to connect peripherals (e.g. an external hard drive) to some smartphones CSE 522S Advanced Operating Systems 7

  8. The Internet of Things Image Source: https://pixabay.com/vectors/smart-home-house-technology-2005993/ More and more devices are connected to the internet! (or private networks) Smart homes Smart cities! Wireless sensor networks IoT devices must have onboard communication (often over WiFi) Often communicate with cloud services that collect data and coordinate the devices Learn more in CSE 521S CSE 522S Advanced Operating Systems 8

  9. Cloud Computing Clouds enable large-scale management of virtual machines across distributed hosts Connectivity is network based, and may span multiple racks, data centers, even geographic locations Cloud providers might supply different types of platforms or VMs (compute, storage, databases, graphics/FPGA accelerators, etc.) Might also provide distributed container environments (Docker, Kubernetes, etc.) Clouds are meant to be fault-tolerant and load-balanced Employ sophisticated backup systems Enable VMs to be replicated or migrate across hosts VM migration techniques: Suspend VM, migrate memory and register state Live migration: copy memory while VM is running, mark un-copied pages as dirty, move VM register state and copy dirty pages at end Another option: copy dirty pages as-needed (e.g., with page fault) Live migration should be no more noticeable than a VM context switch Learn more in CSE 427S CSE 522S Advanced Operating Systems 9

  10. Supercomputer Clusters Enable large-scale systems to work on a single (parallelizable) problem Typically multiple hosts One host often has multiple multi-core processors (and sometimes accelerators) Connected by high-speed network topologies InfiniBand Torus Fusion (Tofu) Ethernet (10GbE, 40GbE, 100GbE) Specialized kernels allow hosts to coordinate as if a single machine Hardware and drivers enable Remote Direct Memory Access Learn more in CSE 566S CSE 522S Advanced Operating Systems 10

  11. Distributed Embedded Systems Embedded systems must often coordinate in a distributed manner Example: avionics Several onboard flight computers Microcontrollers read sensors and control actuators System must have ground telemetry capabilities Safety-critical real-time requirements Systems must communicate and respect functional data and information, as well as parafunctional timing requirements and criticality information Middleware provides appropriate semantics and wrappers over lower- level OS stack: Functional and Parafunctional specifications Threading and event handling Application-level socket communication protocols Socket subsystem TCP/IP stack Physical driver(s) for network hardware Learn more in CSE 520S and CSE 532S CSE 522S Advanced Operating Systems 11

  12. Distributed Software Software execution can also be distributed among internet-connected personal computers! Folding@home: Protein folding simulations run across home computers of volunteers who install the software Former Wash U Prof. Greg Bowman! SETI@home: Similar concept to Folding@home Analyzes radio signals for signs of alien intelligence BitTorrent: Enables decentralized peer-to-peer file sharing Blockchain: Enables a peer-to-peer network to manage a distributed ledger The driving technology behind many cryptocurrencies (e.g. Blockchain) CSE 522S Advanced Operating Systems 12

  13. Remaining Logistics Thursday, 4/13: Exam Review Monday, 4/17: Studios due at 11:59 PM Tuesday, 4/18: Second Exam Covers all material after first exam Thursday, 4/20: Open project time Tuesday, 4/25: Project Presentations Thursday, 4/27: Project Presentations Project code and reports due Monday, 5/1 at 11:59pm CSE 522S Advanced Operating Systems 13

  14. Final Thoughts Thanks for a great semester! We know this class has been challenging and a lot of work We think it has given you the opportunity to explore and learn many operating system principles in greater depth Hopefully this prepares you to be successful in future work or research endeavors! CSE 522S Advanced Operating Systems 14

More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#