15
COS: A Configurable OS for Embedde SoC Systems 28 January 2015 by, Prateek Anand

COS: A Configurable OS for Embedded SoC Systems

Embed Size (px)

Citation preview

Page 1: COS: A Configurable OS for Embedded SoC Systems

COS: A Configurable OS for EmbeddedSoC Systems

28 January 2015

by, Prateek Anand

Page 2: COS: A Configurable OS for Embedded SoC Systems

CONTENTS

INTRODUCTION

CONFIGURABLE OS ON SOA

IMPLIMENTATION OF COS

CASE STUDY

ADVANTAGES OF ECOS

Page 3: COS: A Configurable OS for Embedded SoC Systems

EMBEDDED SYSTEMS

An embedded system is a combination of computer hardware and software, and perhaps additional mechanical or other parts, designed to perform a dedicated function.

CONFIGURABILITY

An embedded system must lend itself to flexible configuration so that only the functionality needed for a specific application and hardware suite is provided.

Page 4: COS: A Configurable OS for Embedded SoC Systems

NEED FOR CONFIGURABILITY

OSes can be customized for application specific purposes.

Time and effort to understand and modify is less compared to monolithic kernel.

Unnecessary functionalities and features can be easily removed from the kernel.

Enable embedded system developers to work within a familiar and proven environment,.

Page 5: COS: A Configurable OS for Embedded SoC Systems

CONFIGURABLE OS ON SOA

Page 6: COS: A Configurable OS for Embedded SoC Systems

A. Hardware Abstraction Layer (HAL)

The HAL is software that presents a consistent API to the upper layers and maps upper-layer operations onto a specific hardware platform. Thus, the HAL is different for each hardware platform.

B. COS Kernel The COS kernel provides the core functionality

needed for developing multithreaded applications:

ocreate new threads in the system

oControl over the various threads in the system

Page 7: COS: A Configurable OS for Embedded SoC Systems

oScheduleing, determining which thread should currently be running

oIntegration with the system’s support for interrupts and exceptions

Contd…

Page 8: COS: A Configurable OS for Embedded SoC Systems

C. User space

The user space is a software layer provided for the facility of application programs and user interface software.

Page 9: COS: A Configurable OS for Embedded SoC Systems

IMPLIMENTATION OF COS

A. Interrupt Handling Developers can register/remove an ISR of a specified IRQ (Interrupt ReQuest line) and also execute all ISRs (Interrupt Service Routines) when necessary via the interface. functions are used to initialize, enable/disable, mask, clear the IRQs on the system.

B. Timer The COS timer interface acts as part of hardware abstraction layer between kernel and system hardware timers. Developers can initialize, start/stop, set interval and operating mode of a timer.

Page 10: COS: A Configurable OS for Embedded SoC Systems

C. Scheduler The COS kernel can register/unregister tasks to a scheduler, Therefore scheduling algorithms can be independently implemented as a scheduler component without detail knowledge and modification to the OS kernel.

D. Memory Management The COS memory management interface defines initialization, allocate/free memory operations. It also maintains the number of total, used, and free memory and pointers to free and used memory pool for kernel usage.

Page 11: COS: A Configurable OS for Embedded SoC Systems

E. File System Linux uses VFS (Virtual File System) as an abstraction layer for file systems to enable kernel to perform operations on various underlying file systems through same interface. VFSdefines general file operations including open(), read(), write(), llseek(), etc [2].

Page 12: COS: A Configurable OS for Embedded SoC Systems

Case studyA. Implementation We modify the ARM Linux kernel to accommodate the COS interfaces and construct service components.

Service Component Config. Method

Interrupt Handling Top/Bottom HalfTop/Bottom Half w/ tasklet

Compile Time

Scheduler Rate MonotonicEarliest Deadline FirstPinwheelRound Robin

Run-Time

Memory Management

Paging with MMUPaging without MMUPartition and BlockBitmap

Compile Time

File System EXT2RAMFS VFAT

Run-Time

TABLE I COMPONENTS OF THE COS IMPLEMENTATION

Page 13: COS: A Configurable OS for Embedded SoC Systems

B. Performance Evaluation In order to evaluate the performance of COS, we measure the overhead of proposed interfaces.

Mem Manage. Component Allocate (μs) Access (μs)

Paging with MMU 316 137

Paging without MMU

208 994

Paging with MMU (D Cache disabled)

742 876

TABLE II PERFORMANCE IMPACT OF MMU AND D CACHE

Page 14: COS: A Configurable OS for Embedded SoC Systems

MAIN ADVANTAGES OF ECOS

Configurability: It can be configured in great detail at compile time, which avoids the need to add unwanted code to the library to be linked with the application code.

Portability eCos is designed to be portable to a wide range of target architectures and platforms, including 16, 32 and 64 bit architectures, microcontrollers and DSPs

Page 15: COS: A Configurable OS for Embedded SoC Systems