+ All Categories
Home > Documents > Design and Implementation of Embedded Linux System for...

Design and Implementation of Embedded Linux System for...

Date post: 10-Apr-2018
Category:
Upload: buikhuong
View: 226 times
Download: 6 times
Share this document with a friend
24
Design and Implementation of Embedded Linux System for Networking Devices POSTECH DP&NM Lab. (1/24) Design and Implementation of Embedded Linux System for Networking Devices Hyun-Joon Cha Distributed Processing and Network Management Laboratory Division of Electrical and Computer Engineering (Computer Science and Engineering) [email protected]
Transcript
Page 1: Design and Implementation of Embedded Linux System for ...dpnm.postech.ac.kr/thesis/00/tachyon/PowerPoint.pdf · – OS specific architecture and interface ... – Optimize the Embedded

Design and Implementation of Embedded Linux System for Networking Devices

POSTECHDP&NM Lab.

(1/24)

Design and Implementation of Embedded Linux System for Networking Devices

Hyun-Joon Cha

Distributed Processing and Network Management LaboratoryDivision of Electrical and Computer Engineering

(Computer Science and Engineering)[email protected]

Page 2: Design and Implementation of Embedded Linux System for ...dpnm.postech.ac.kr/thesis/00/tachyon/PowerPoint.pdf · – OS specific architecture and interface ... – Optimize the Embedded

Design and Implementation of Embedded Linux System for Networking Devices

POSTECHDP&NM Lab.

(2/24)

Contents• Introduction• Current Embedded Operating Systems• Requirements• Design of Embedded Linux System• Implementation• Conclusions• Future work

Page 3: Design and Implementation of Embedded Linux System for ...dpnm.postech.ac.kr/thesis/00/tachyon/PowerPoint.pdf · – OS specific architecture and interface ... – Optimize the Embedded

Design and Implementation of Embedded Linux System for Networking Devices

POSTECHDP&NM Lab.

(3/24)

Introduction• Networking Devices

– Devices which has networking capability– Infrastructure of emerging information society

• e.g.) Router, Switch, Gateway, Cache engine, Cellular phone, PDA, etc.

– Network-capable devices will substitute current dummy and not-connected devices all around

– Need more resources, processing power and OSs to coordinate it– Most networking devices use commercial Real-time OSs

Page 4: Design and Implementation of Embedded Linux System for ...dpnm.postech.ac.kr/thesis/00/tachyon/PowerPoint.pdf · – OS specific architecture and interface ... – Optimize the Embedded

Design and Implementation of Embedded Linux System for Networking Devices

POSTECHDP&NM Lab.

(4/24)

Introduction – cont’d• Embedded OSs for Networking Devices

– Commercial: VxWorks, pSOS, QNX, Nucleus, LynxOS, VRTX, etc.– Free or Almost Free: Xinu, uC/OS, etc.

• Frequently Raised Problems from Industry and Academy– No OS approach or using educational OS is harmful– High purchase price and royalty -> affect development cost and device price– Limited target and development platform– OS specific architecture and interface– Technology dependency on specific OSs– Hard and take much time to get help– Hard to apply new networking technology– Really high entrance fee

Page 5: Design and Implementation of Embedded Linux System for ...dpnm.postech.ac.kr/thesis/00/tachyon/PowerPoint.pdf · – OS specific architecture and interface ... – Optimize the Embedded

Design and Implementation of Embedded Linux System for Networking Devices

POSTECHDP&NM Lab.

(5/24)

Introduction – cont’d• Embedded Linux System

– Basically, stripped down Linux - to fit the constraints of devices - as an kernel for embedded systems

– Additionally, uses it’s own idea of kernel modification, library, file system, applications with respect to the application area

• Advantage– Linux is inherently modular and easily scaled down– No run-time royalties– Is proven to be sophisticated, efficient, robust and reliable– Superior network capability, excellent file system support– Supports a vast array of processors– Standard and widely supported APIs– Has enormous amount of open-source software, documents and developers– Technical support from Open-Source Community of all around world– It’s truly a global standard

Page 6: Design and Implementation of Embedded Linux System for ...dpnm.postech.ac.kr/thesis/00/tachyon/PowerPoint.pdf · – OS specific architecture and interface ... – Optimize the Embedded

Design and Implementation of Embedded Linux System for Networking Devices

POSTECHDP&NM Lab.

(6/24)

Introduction – cont’d• Objectives

– Design and Build Embedded Linux System– Optimize the Embedded Linux for Networking Devices– Apply leading-edge networking technologies– Implement to the Real-World Application– Evaluate it with Other Commercial Appilcations

Develop an Embedded Linux that has Full Features and Optimized for Networking Devices

Page 7: Design and Implementation of Embedded Linux System for ...dpnm.postech.ac.kr/thesis/00/tachyon/PowerPoint.pdf · – OS specific architecture and interface ... – Optimize the Embedded

Design and Implementation of Embedded Linux System for Networking Devices

POSTECHDP&NM Lab.

(7/24)

Current Embedded Operating Systems• Free or Almost Free Operating Systems

FreeUnknownYesNoUnknownNoUnknownUnknownAsm., C/C++

ARM, MIPS, SPARC, PowerPC

eCOS

$502,000NoNoYesNoFixed Prioriy

4~8KB / 3KB

Asm., C/C++

MostuC/OS-I,II

FreeUnknownNoNoNoNoFixed Priority

UnknownAsm., C/C++

x86, SPARC, i960, 68k, PowerPC

Xinu

PriceInst. Base

POSIXMulti Proc.

ModularMMUSched.Min. ROM/RAM

Lang.CPUName

Page 8: Design and Implementation of Embedded Linux System for ...dpnm.postech.ac.kr/thesis/00/tachyon/PowerPoint.pdf · – OS specific architecture and interface ... – Optimize the Embedded

Design and Implementation of Embedded Linux System for Networking Devices

POSTECHDP&NM Lab.

(8/24)

Current Embedded OSs – cont’d• Commercial Operating Systems

$1,00050,000YesNoYesYesRR, Time Slice, Fixed Priority

UnknownAsm., C/C++, Java

68k, ARM, PowerPC, x86, M Core

VRTX

$795One Million

YesYesNoYesRR, Time Slice, Fixed Priority

32~64KB / 8KB

Asm., C/C++

MIPS, PowerPC, x86

QNX

$16,500

7,000YesYesYesYesRR, Time Slice, Cooperative, Rate Monotonic

15KB / 5KB

Asm., C/C++, Java

68k, ARM, M Core, ColdFire , i960, MIPS, PowerPC, SH, SPARC, x86

pSOS+

PriceInst. Base

POSIXMulti Proc.

ModularMMUSched.Min. ROM/RAM

Lang.CPUName

Page 9: Design and Implementation of Embedded Linux System for ...dpnm.postech.ac.kr/thesis/00/tachyon/PowerPoint.pdf · – OS specific architecture and interface ... – Optimize the Embedded

Design and Implementation of Embedded Linux System for Networking Devices

POSTECHDP&NM Lab.

(9/24)

Current Embedded OSs – cont’d• Commercial Operating Systems – cont’d

UnknownThree Million

NoNoYesYesRR, Time Slice, Rate Monotonic, Cooperative

128~6,000KB / 128KB

Asm., C/C++, Java

68k, ARM, PowerPC, SH, x86

OS-9

$7,495~$12,495

2,300NoYesYesYesTime Slice, Cooperative

3~45KB / 2KB

Asm., C/C++, Java

68k, ARM, M Core, ColdFire , i960, MIPS, PowerPC, SH, x86

Nucleus PLUS

$90,000~$200,000

Unknown – Very Large

YesYesYesYesRR, Fixed Priority

UnknownAsm., C/C++, Java

PowerPC, 68k, ColdFire , M Core, x86, i960, ARM, MIPS, SH, SPARC

VxWorks

PriceInst. Base

POSIXMulti Proc.

ModularMMUSched.Min. ROM/RAM

Lang.CPUName

Page 10: Design and Implementation of Embedded Linux System for ...dpnm.postech.ac.kr/thesis/00/tachyon/PowerPoint.pdf · – OS specific architecture and interface ... – Optimize the Embedded

Design and Implementation of Embedded Linux System for Networking Devices

POSTECHDP&NM Lab.

(10/24)

Requirements• Resource Requirements of Typical Networking Devices

64+ MB16+ MB4 ~ 16MB

2 ~ 4MB500KB ~ 2MB

RAM

64+ MB or disk

16 ~ 64MB8 ~ 32MB

2 ~ 8MB100KB ~ 4MB

Flash

Embedded Server

Embedded PC

High-end

MidrangeTiny

• Embedded operating system and applications must meet tight computing resource requirements of embedded system

Page 11: Design and Implementation of Embedded Linux System for ...dpnm.postech.ac.kr/thesis/00/tachyon/PowerPoint.pdf · – OS specific architecture and interface ... – Optimize the Embedded

Design and Implementation of Embedded Linux System for Networking Devices

POSTECHDP&NM Lab.

(11/24)

Requirements – cont’d• Software Size or Quality

– Networking applications need more memory resources– But, memory price does not hold large factor in current

networking devices– Ensuring software quality is more valuable than reducing size

• Real-Time Consideration– Hard real-time and Soft real-time– System operation does not fail even if it can’t process any

networking operations • Hard real-time feature is not a must for networking devices

Page 12: Design and Implementation of Embedded Linux System for ...dpnm.postech.ac.kr/thesis/00/tachyon/PowerPoint.pdf · – OS specific architecture and interface ... – Optimize the Embedded

Design and Implementation of Embedded Linux System for Networking Devices

POSTECHDP&NM Lab.

(12/24)

Requirements – cont’d• The Requirements

– Portability to new processors– Scalability to match varied applications– Multi-processor support– Extended services support– Existence of several application programs– Standard/POSIX compliance– Language support– Well-suited development environment– Flexible licensing arrangements and price

Page 13: Design and Implementation of Embedded Linux System for ...dpnm.postech.ac.kr/thesis/00/tachyon/PowerPoint.pdf · – OS specific architecture and interface ... – Optimize the Embedded

Design and Implementation of Embedded Linux System for Networking Devices

POSTECHDP&NM Lab.

(13/24)

Design• Satisfying Requirements

– Linux kernel have been ported to many processors and most codes are made up of portable language

– Is highly scalable– Supports SMP up to 16 processors– Have many kernel extensions which are suitable for networking

applications– Have large number of open source software– Is POSIX compliant– Supports almost all programming languages– Have well-suited development environments– Is licensed with GPL which is an approved license of Open Source

Initiative

Page 14: Design and Implementation of Embedded Linux System for ...dpnm.postech.ac.kr/thesis/00/tachyon/PowerPoint.pdf · – OS specific architecture and interface ... – Optimize the Embedded

Design and Implementation of Embedded Linux System for Networking Devices

POSTECHDP&NM Lab.

(14/24)

Design – cont’d• Conceptual Architecture of Linux Kernel

User ProgramUSER PROGRAMS

System Call InterfaceKernel

Virtual FileSystem

MemoryManager

ProcessManager

Abstract NetworkServices

Various FileSystem Drivers

Network ProtocolDriver

Network CardDriver

Hardware

User ProgramUser Program

CDROM Driver

Hard diskDriver

Page 15: Design and Implementation of Embedded Linux System for ...dpnm.postech.ac.kr/thesis/00/tachyon/PowerPoint.pdf · – OS specific architecture and interface ... – Optimize the Embedded

Design and Implementation of Embedded Linux System for Networking Devices

POSTECHDP&NM Lab.

(15/24)

Design – cont’d

System-CallInterface Process scheduling

Timer management

Module management

Architecture SpecificModules

Architecture SpecificModules

Processscheduler

Resourcedependency

• Resource Dependency between Components of Process Scheduler

Page 16: Design and Implementation of Embedded Linux System for ...dpnm.postech.ac.kr/thesis/00/tachyon/PowerPoint.pdf · – OS specific architecture and interface ... – Optimize the Embedded

Design and Implementation of Embedded Linux System for Networking Devices

POSTECHDP&NM Lab.

(16/24)

Design – cont’d

System-CallInterface

mmap

mremap filemap

Architecture SpecificModules

Architecture SpecificModules

mmapResource

dependency

page_io

swap file swap

swapswap_state

kswapd

page_alloc

memory

core

MMU

•There are a lot of microcontrollers which doesn’t have MMU

• Resource Dependency between Components of Memory Manager

Page 17: Design and Implementation of Embedded Linux System for ...dpnm.postech.ac.kr/thesis/00/tachyon/PowerPoint.pdf · – OS specific architecture and interface ... – Optimize the Embedded

Design and Implementation of Embedded Linux System for Networking Devices

POSTECHDP&NM Lab.

(17/24)

Design – cont’d

•There is a complicated relationship between device driver interface and file system

System-CallInterface

VFS common code

ext2

VFS

Resourcedependency

fat isofs minix

msdos nfs proc

a.out

bin_exec

elf java

buffer

buffer_cache

kflushd

device drivers

ftape

char

keyboard random RTC

sound mouse mem serial video

watchdog loop

block

cdrom floppy

ide scsi

• Resource Dependency between Components of Virtual File System

Page 18: Design and Implementation of Embedded Linux System for ...dpnm.postech.ac.kr/thesis/00/tachyon/PowerPoint.pdf · – OS specific architecture and interface ... – Optimize the Embedded

Design and Implementation of Embedded Linux System for Networking Devices

POSTECHDP&NM Lab.

(18/24)

Design – cont’d

•To port Open-Source applications, IPC is important even if logical dependencydoesn’t exist

System-CallInterface

Resourcedependency

fifo

File IPC

pipes

MessageQueues

System V IPC

SharedMemory

Semaphores

DomainSockets

Net IPC

WaitQueues

Kernel IPC

Signals

• Resource Dependency between Components of Inter Process Communication Subsystem

Page 19: Design and Implementation of Embedded Linux System for ...dpnm.postech.ac.kr/thesis/00/tachyon/PowerPoint.pdf · – OS specific architecture and interface ... – Optimize the Embedded

Design and Implementation of Embedded Linux System for Networking Devices

POSTECHDP&NM Lab.

(19/24)

Design – cont’d

System-CallInterface

BSD sockets

General NetworkResource

dependency

Protocol definitions

Datagram transport

Core services

Generic driver

Firewall services

Inet sockets

802.x

Network protocols

ipv4 ipv6 ipx

appletalk Ethernet

Network devices

Decnet

ATM

ax.25

• Resource Dependency between Components of Network Subsystem

•Need to optimize each components to make specified networking applications

Page 20: Design and Implementation of Embedded Linux System for ...dpnm.postech.ac.kr/thesis/00/tachyon/PowerPoint.pdf · – OS specific architecture and interface ... – Optimize the Embedded

Design and Implementation of Embedded Linux System for Networking Devices

POSTECHDP&NM Lab.

(20/24)

Design – cont’d• Linux System Components : Run-Time Library and File System• Run-Time Library

– No library• Use kernel thread and functions only

– glibc, sglibc, libc5, dietlibc, newlib• glibc is too big but provides highest application portability

• File System– No file system – NFS– Ramdisk as a physical storage

• ext2, RAMFS, CRAMFS– Flash as a physical storage

• Compressed Flash File System, Journaling Flash File System

• Library and File System are important at a view of size

Page 21: Design and Implementation of Embedded Linux System for ...dpnm.postech.ac.kr/thesis/00/tachyon/PowerPoint.pdf · – OS specific architecture and interface ... – Optimize the Embedded

Design and Implementation of Embedded Linux System for Networking Devices

POSTECHDP&NM Lab.

(21/24)

Implementation• Target - Internet Sharing Device

– Uses Network Address Translation (NAT) technology

Page 22: Design and Implementation of Embedded Linux System for ...dpnm.postech.ac.kr/thesis/00/tachyon/PowerPoint.pdf · – OS specific architecture and interface ... – Optimize the Embedded

Design and Implementation of Embedded Linux System for Networking Devices

POSTECHDP&NM Lab.

(22/24)

Implementation – cont’d• Hardware

– MPC850DE with dual ethernet controller

• Software– Kernel: Ethernet, PPPoE, TCP/IP, NAT, Flash driver– Applications: DHCP client and server, Web, telnet, and ftp

servers, System utilities

• Library– Uses slim-sized glibc for highest application portability

• File System– Uses ext2 on ramdisk for speed

Page 23: Design and Implementation of Embedded Linux System for ...dpnm.postech.ac.kr/thesis/00/tachyon/PowerPoint.pdf · – OS specific architecture and interface ... – Optimize the Embedded

Design and Implementation of Embedded Linux System for Networking Devices

POSTECHDP&NM Lab.

(23/24)

Conclusions• We developed embedded Linux system which is suitable

for embedded networking devices– Extracted common design information from several embedded OSs and used it

to construct our requirements– Showed that embedded Linux system satisfied the requirements– Designed Linux kernel and system components to suit embedded purpose– Implemented an custom-built Internet sharing device with designed system

• Resulting system was fast and reliable which satisfied our expectation of commercially usable system

• We concluded that embedded Linux system is quite suitable and attractive operating system for networking devices

Page 24: Design and Implementation of Embedded Linux System for ...dpnm.postech.ac.kr/thesis/00/tachyon/PowerPoint.pdf · – OS specific architecture and interface ... – Optimize the Embedded

Design and Implementation of Embedded Linux System for Networking Devices

POSTECHDP&NM Lab.

(24/24)

Future Work• Future Work

– Performance and reliability comparison with other embedded OSswith same hardware and software functions

– Evaluate it with other embedded Linux Distributions– Balance resource requirements with application speed for system

optimization– Investigate several real-time facilities on Linux – Port to other processors and improve the design


Recommended