Introduction
In the swiftly changing world of technology, mobile operating systems are advancing towards a more distributed, interconnected, and intelligent framework. This evolution demands the creation of operating systems and hardware architectures that are not only secure but also exhibit peak performance and user-friendly simplicity. OpenHarmony stands at the forefront of this revolution as a cutting-edge OS. It enables developers to craft secure, interconnected mobile ecosystems through a synergistic approach of hardware-OS co-design. This tutorial offers a comprehensive look into the development of futuristic mobile operating systems and architectural designs, using OpenHarmony as the pivotal platform.
In this tutorial, our main goal is to facilitate a practical learning journey. We’ll embark on a detailed exploration of the OpenHarmony operating system, delving into its core principles and structural design. The tutorial will encompass several key areas: firstly, constructing system security prototypes within the OpenHarmony framework, with an emphasis on integrating Trusted Execution Environments (TEE) like RISC-V Penglai. Secondly, we’ll focus on utilizing OpenHarmony’s distributed hardware abstraction capabilities to efficiently connect multiple OpenHarmony devices. Lastly, we will show how OpenHarmony enables top-tier research works like VSync (ASPLOS’21 Distinguished Paper) and Penglai (OSDI’21).
The tutorial will cover the following key topics:
- Understanding the evolving landscape of mobile OSes and their security requirements.
- Familiarizing yourself with the features and architecture of OpenHarmony.
- Step-by-step guidance on building system security prototypes (TEE, application authority) based on OpenHarmony.
- Step-by-step guidance on building an interconnected system using the distributed capability based on OpenHarmony (e.g., distributed TEE).
- Step-by-step guidance on verification and optimization for synchronization primitives based on OpenHarmoy with VSync/LibVSync.
- Demonstrating how OpenHarmony and related systems facilitate novel ideas and reliable experimentation for researchers and system designers.
This tutorial is designed for researchers, system designers, and developers interested in exploring and harnessing the potential of OpenHarmony to create next-generation mobile OS solutions.
Join us (!!!) In this tutorial to unlock new opportunities and pave the way for secure, interconnected and efficient mobile systems using OpenHarmony.
Organizers
Assistant Professor, IPADS Lab, Shanghai Jiao Tong University. Research interests include OS and architecture.
1st-year master's student, IPADS Lab, Shanghai Jiao Tong University, with a primary research focus on operating systems. I am dedicated to the academic research and development of the open-source project OpenHarmony.
4th year Ph.D student, IPADS Lab, Shanghai Jiao Tong University. Research direction is system architecture and security, published papers in OSDI, ASPLOS, ISCA, HPCA. Maintainer of Penglai RISC-V TEE (open-sourced).
Full Professor, IPADS Lab, Shanghai Jiao Tong University. Research interests include operating systems, computer architecture.
Associate professor at School of Software, IPADS Lab, Shanghai Jiao Tong University. Research interests include AIGC (LLM) systems, OS, system virtualization, and system security. Leader of PowerInfer framework (open-sourced).
3rd-year Ph.D student, IPADS Lab, Shanghai Jiao Tong University. Advisor: Haibo Chen, Yubin Xia, and Dong Du. Research areas are serverless computing and cloud-native systems.
Behrens is research engineer at HW Dresden Research Center, currently leading the System Software Concurrency team. Before joining HW in 2019, Diogo was software engineer with focus on stream data processing. He holds a PhD from TU Dresden, Germany.
Agenda
Date: Saturday, April 27th, Afternoon
Location: Hilton La Jolla Torrey Pines, San Diego, California (with ASPLOS’24)
Prerequisite
- Prior knowledge of operating systems and basic programming concepts would be beneficial.
- Please bring a laptop, that can allow you do some experiments :)
- Please install some necessary apps in your laptop:
- VNC client: we need to connect up to 2 VNC servers, realVNC is recommended
- 7z: we use 7z to decompress pre-compiled images. Download in official website is enough
- DevEco Studio IDE: If you want to experience the entire process of compiling an OpenHarmony application, please refer to the slides for Exercise 1 and install DevEco Studio before the tutorial
- Devices: we will provide simulator for OpenHarmony, and cloud servers that you can connect for most experiments. We will also bring some dev-boards that allow you to try the OS on real devices.
Contents and Timeline
The planed topics and timeline are the following:
Time | Topic | Speaker | Slides | Code |
---|---|---|---|---|
1:40pm | Part 1: Introduction to OpenHarmony (20min) | Yubin Xia | slides | |
2:00pm | Exercise 1: How to build OpenHarmony & Toolchains for OpenHarmony (20min) |
All | slides | code |
2:20pm | Part 2: Distributed functionality of OpenHarmony (20min) | Dong Du | slides | |
2:50pm | Coffee Break (20min~30min) | \ | \ | \ |
3:20pm | Exercise 2: Distributed Capability of OpenHarmony (20min) | Jing Zhang & Qingyuan Liu |
slides | code |
3:40pm | Part 3 & Exercise3: Concurrency Research based on OpenHarmony (40min) | Diogo Behrens | slides | code |
4:20pm | Part 4 & Exercise: Security Research based on OpenHarmony (40min) | Erhu Feng | slides | code1 code2 |
4:55pm | Research Opportunities & Outlook (Conclusion & Remark ) | Yubin Xia | ||
5:00pm | Q/A | All |
Credits
We thank the following people/organizations for their huge supports for the 1st OpenHarmony Research Tutorial (in no particular order).
- OpenHarmony TSC.
- Jiageng Yu (于佳耕, ISCAS) and Yang Tai (邰阳, ISCAS) help on the OpenHarmony Simulator (based on their PolyOS project) that is used for demos/experiments.
- Ming Fu gives suggestions on the content of this tutorial.
- Yutao Liu gives suggestions on the content of this tutorial.
- Guo Liu (刘果)
- and Others