Evolution of Device Ecosystems and Connectivity Technologies
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.
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
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 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
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
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
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
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
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 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
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