CS 630: Advanced Operating Systems for Embedded Systems, Pervasive Computing and Internet of Things

Units: 2-0-3-0-9

Pre-requisites: CS330 (Operating Systems), or equivalent undergraduate operation systems course. Strong hands-on knowledge of OS and a desire to get involved in large programming projects with significant research components are essential.

Estimated Enrollment: 45

Short Description: The course teaches operating systems for embedded systems, mobile computers and a diversity of devices with network connectivity (internet of things). A significant component of the course are the hands-on lab assignments that will be done by the students using a state-of-the-art and open source operating system, namely Tizen (already in use in some of the Samsung smartphones: http://www.tizenphones.com/).

The goal of the course is to provide a platform for students to understand and develop hands-on knowledge of advanced operating systems. The course will be primarily taught by researchers from Samsung Research India. Tizen is an open source OS from Samsung. The course has a significant project component. A list of projects will be provided to the students. There are multiple tracks in the course, including, Multimedia, Network and Connectivity+Bluetooth, Web framework, Graphics etc.. Students will take a project in one of these tracks. Experts in each track will also come to guide the students from time to time.

The course is meant for those who are seriously interested in advanced OS and have strong hands-on grasp of operating systems at the level of CS330 or equivalent.

Topics: (Given on the next page)

References:

1.http://developer.tizen.org. Tizen design.

2.Linux Kernel Development, Robert Love, 3rd edition, Addison-Wesley.

3.Operating System Concepts, Silberschatz, Galvin, Gagne. 9th Edition, Wiley.

4.Linux Device Drivers, Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman, 3rd Edition, O’Reilly.

 
 

S.No.

 

Lecture Topic

Lecture Contents

Duration

(hrs)

 
 
 

 

 

 

1

 

 

 

 

 

Introduction to OS for

Embedded Systems &

Architecture

 

 

- Requirements for OS for Embedded systems

- Introduction to Tizen Platform

- Tizen Release history and features

- Open Source projects within Tizen

- Features of Tizen Platform

- Tizen Architecture Overview

- Introduction to Device Profiles

 

 

 

2

 

 

 

 
 
 
 
 
 
 

2

 

 

- Overview of Tizen Native and Web Framework

- Introduction to Tizen Roadmap / Tizen 3.0

- Overview of Tizen IoT Micro and IoT Nano Profile

- Introduction to IoT Framework (IoTivity)

 

2

 

 

 

 

3

 

 

 

Linux Kernel Frameworks &

Infrastructure

 

- Kernel Frameworks Overview

- Kernel (Tizen) Boot-up sequence

- systemd architecture

- Multimedia Framework (v4L2, LinuxDVB) Overview

 

2

 

 

 
 
 
 
 

 

4

 

 

 

 

 

 

 

- Kernel Graphics (DRM) Overview

- Power Management

- Kernel DBUS

- Memory Management System (DMA Buff, CMA, IOMMU)

 

2

 

 

 
 
 
 
 

 

5

 

 

 

Multimedia Framework

Architecture

 

- Services offered by Multimedia FW

- Multimedia FW Design Principle

- API Overview

- Multimedia Framework Plug-in Architecture

 

2

 

 

 
 
 
 
 

 

6

 

 

 

 

 

 

 

- Introduction to Gstreamer

- Introduction to Audio Framework & Policies

- Introduction to Screen Mirroring Technologies

- Introduction to Streaming technologies

 

2

 

 

 
 
 
 
 

 

7

 

 

 

Network Framework

 

 

- Services offered by Tizen Network Framework

- Introduction to Key components

- Core API Introduction

- Network Framework Architecture Introduction

 

2

 

 

 
 
 
 
 

 

8

 

 

 

 

 

 

 

- Component architecture : Connection Manager

- Component architecture : WPA supplicant

- Component architecture : WFD Manager

- Component architecture : P2P Framework

 

2

 

 

 
 
 
 
 

 

 

 

9

 

 

 

 

 

 

Bluetooth Framework

 

 

 

- Bluetooth Technology Overview

- Tizen Bluetooth Architecture Introduction

- Core API introduction

- Bluetooth Framework Component overview

- Bluetooth Service overview

- BlueZ architecture insights

- Bluetooth LE overview

 

 

 

2

 

 

 

 
 
 
 
 
 
 

 

 

10

 

 

 

 

 

Graphics and UI Frameworks

 

 

 

- UX Design guidelines & considerations for devices

- Direct and Retained Rendering concept

- Introduction to Tizen EFL (2D UI FW) libraries

- Understanding EFL Widget Library (elementary)

- Understanding Canvas Library (evas)

- Understanding EFL Infrastructure libraries

 

 

2

 

 

 

 
 
 
 
 
 

 

11

 

 

 

 

- Graphics backend display servers (X11 and Wayland)

- Window Manager / Window Composition overview

- Input device management

 

2

 

 
 
 

 

12

 

 

Application Development

 

- Types of Applications

- Introduction to Tizen (TV) SDK

- Web Application Development (W3C/HTML5)

 

2

 

 
 
 

 

13

 

 

 

 

- Native Application Development Concepts

- Tizen Native Application Framework

- Native application life cycle & Design Principles

 

2

 

 
 
 

 

14

 

 

 

Web Framework

 

 

-Introduction to Tizen Web Framework

- Web Runtime Overview

- Introduction to Web APIs and Device APIs

- Web Engines : Webkit/Webkit2/Webkit2-EFL

 

2

 

 

 
 
 
 
 

 

 

 

15

 

 

 

 

 

Introduction to IoT

 

 

- What is IoT?

- IoT Open source architecture (OIC)

- OIC Architecture & Design principles

- IoT Devices and deployment models

- IoTivity : An Open source IoT stack - Overview

- IoTivity stack architecture

- Resource model and Abstraction

 

 

 

2