440 likes | 731 Views
Embedded Real-time operating system. JBOSN RTOS. JBOSN. Contents. I. VISION JBOSN RTOS USE JBOSN RTOS. VISION. VISION. JBOSN. various embedded system third party application field. APPLICATIONS Third party. TOP applied RTOS. game engine multimedia graphic. LIBRARY.
E N D
Embedded Real-time operating system JBOSN RTOS
JBOSN Contents • I. VISION • JBOSNRTOS • USE JBOSN RTOS
VISION JBOSN • various embedded system • third party • application field • APPLICATIONS • Third party TOP applied RTOS • game engine • multimedia • graphic • LIBRARY • network server • windows server • filesystem server • device server • MIDDLEWARE • kernel function • modularity • all platform porting • JBOSN KERNEL
LOADMAP JBOSN 2002~2004 2005 2006 2007 • ARM nano-kernel • Micro-kernel • I/O server • Filesystem server • Window server JBOSN Porting to various platform Embedded Terminal • network application • web service Network server Graphic library Graphic Library Multi-media library & application 2D game engine HOME Server KBOSN Embedded Server DATA Station 1st Generation 2nd Generation 3rd Generation
JBOSN RTOS • About JBOSN RTOS • NANO - KERNEL • MICRO - KERNEL • MACRO - KERNEL
GENERAL OS Functions & Structures JBOSN WINDOW APPLICATIONS DEVICE MANAGER NETWORK IPC FIELSYSTEM TIME RESOURCE MANAGE RAM FAT ROM TASK/THREAD MANAGE 드라이버들 HAL NetDrvs Display Input 하드웨어
JBOSN RTOS Design Principles JBOSN • Kernel : • 1. Multi-Layer kernel structure: • modularity, portability, scalability • 2. Multi-Tasking/Thread and flexible IPC • 3. Precise timer and Priority based real time scheduler • 4. Scalable hard-real-time • I/O manager • Constant device management and efficient I/O system • Resource Management • Cost efficient use of memory • Reliable and Robust system services • User • Easy to use • Low latency
JBOSN RTOS Backplane JBOSN • Bus emulation (Message-Bus) • Communication between servers • Modularity • Independency • Scalability SERVER1 SERVER2 SERVERn … nano-kernel ( Message-Bus)
Advantages JBOSN 1.Modularity Nano-kernel Minimum real-time operating system and library (8KB) Micro-kernel Principal RTOS servers, 3 server ( system server, time server, sync server) Macro-kernel Expanded RTOS servers. (device server, filesystem server, window server, network server) library/Driver/HAL Consisted of the necessary library, device driver and HAL applications Applications by user 2.Scalability Main function is designed by server concept and added to JBOSN RTOS. So, User-required server can be developed by server concept. Server concept User developed library The in-house library can be added and applied to server-development. Mutual exclusion The resources is mutually exclusive between servers, then the expansion of required function is very easy. 3.Stability Independency The independency between modules increase the stability and make easy to debug. modular The modules are separated in physical area. Error propagation The problem of one module can not propagate to the others. 4.Memory Small memory requirement The memory requirement of modules are very small. For example Nano-kernel size is 8KB. Efficient relocation All modules can be generated by separated binary images. The relocation is very easy and efficient.
app app app app1 JBOSN RTOS Structure JBOSN NETWORK SERVER WINDOW SERVER FILESYSTEM SERVER MACRO-KERNEL DEVICE SERVER MICRO-KERNEL SYNC SERVER SYSTEM SERVER TIME SERVER NANO-KERNEL NANO KERNEL
JBOSN RTOS Structure JBOSN Application Application Application WINDOW SERVER FILESYSTEM SERVER DEVICE SERVER NETWORK SERVER MACRO KERNEL SYSTEM SERVER TIME SERVER SYNC. SERVER MICRO KERNEL MESSAGE BUS NANO KERNEL MEMORY MANAGEMENT Task/Thread Management TRAP DEVICE DRIVER DEVICE DRIVER HAL HARDWARE
ROM IMAGE LAYOUT JBOSN RAM GL library Application Widget Draw ROM/DISK NETWORK SERVER Window (Widget) WINDOW SERVER FILESYSTEM SERVER Task(threads) DEVICE SERVER JBOSN download image FAT library SYNC. SERVER TIME SERVER Drivers SYSTEM SERVER NANO-KERNEL System Configuration PLATFORM HAL JBOOT
JBOSN RTOS • About JBOSN RTOS • NANO - KERNEL • MICRO - KERNEL • MACRO - KERNEL
NANO-KERNEL Structure JBOSN NANO-KERNEL library MESSAGE BUS MEMORY MANAGEMENT Task/Thread Management TRAP HAL HARDWARE
KERNEL DESIGN JBOSN • Portable across microprocessors : No exposed API for porting • Supports RAM/ROM execution : Other modules support RAM/ROM execution • Supports Nano-Kernel architecture : Server concept
Task/Thread Model JBOSN • Unlimited tasks, unlimited threads • Full synchronization primitives • Multitasking, preemptive, priority based scheduler • : 256 priority levels, reserved for server • Low ISR and thread latency • Easy implementation of driver with ISR
JBOSN Task ID Thread ID Message Queue Other resources Stack Other Thread Options Primary Thread CPU Register Values Threads Priority Level
Memory Model JBOSN • User selection of MMU use • Special low memory handling mechanisms • User modified slab mechanism • : Partition concept • : page concept • Fast IPC, sharing • Shared memory, Local heaps • Common system wide low memory handler
JBOSN RTOS • About JBOSN RTOS • NANO - KERNEL • MICRO - KERNEL • MACRO - KERNEL
MICRO-KERNEL Structure JBOSN SYNC. SERVER SYSTEM SERVER TIME SERVER
TIME SERVER JBOSN • services all the time related function • RTC time management • System time management • DriverTimer management • Application Timer management • Alarm Timer management • Thread Quantum management • Watch-Dogmanagement • Sleep
SYNCHRONIZATION SERVER JBOSN • services all the synchronizations and communications between Task/Threads • Semaphore • Mutex • CriticalSection • ConditionalVariable • Event • Message Queue
SYSTEM SERVER JBOSN • services all the system resource management • Creation/Destroy of Task/Thread • Message-Bus Port management • Message-Bus Channel management • Memory management • Power management
Memory Model JBOSN RAM User responsibility Partition User responsibility Partition Memory Pool User allocation / User responsibility
JBOSN RTOS • About JBOSN RTOS • NANO - KERNEL • MICRO - KERNEL • MACRO - KERNEL
DEVICE SERVER (Device Management)
Device Driver Model JBOSN Application I/O Server File Server Window Server Network Server Kernel Device Drivers TouchP KeyBd Display NIC Platform
Interrupt Model JBOSN • All work encouraged to be done in driver servers • OS provides easy connecting to driver server • No nesting interrupt • Yields more deterministic latencies
Interrupt Model JBOSN ISR Thread Device Driver Server Kernel Components INT signal Exception Handler Interrupt Message Handler Virtual INT Interrupt Service Routine HAL Routines INT Hardware
Keyboard Driver JBOSN Message Bus Driver thread (loop) Message Receive interrupt Send keyinput to Window server read adc/gpio Time signal read write I/O control
USB M/S Driver JBOSN Message Bus Flash driver thread USB M/S driver thread JFTL USB cable PC FLASH USB DEVICE
Logical device driver structure JBOSN APPLICATION FILESYSTEM SERVER Synchronization server NETWORK SERVER DEVICE SERVER FAT library Time server GRAPHIC LIBRARY WINDOW SERVER System server NETWORK PROTOCOL JFTL Nano-kernel LCD KBD FLASH HAL NetDrvs USB M/S Sound driver H/W
FILESYSTEM SERVER
FILESYSTEM SERVER JBOSN VISION APPLICATION FILESYSTEM SERVER Tasks (threads) 1 FILESYSTEM SERVER PLATFORM 2 RAMFS library ROMFS library FATFS library BLOCK DEVICE
Logical FILESYSTEM Structure JBOSN Tasks (threads) ROOT (BD1) FILESYSTEM SERVER wav romdoc FATFS library MMC (BD2) BLOCK DEVICE_1 (ROOT) BLOCK DEVICE_2 (MMC) wav romdoc
NETWORK SERVER
NETWORK SERVER JBOSN Tasks (threads) Applications SOCKET INTERFACE TCP UDP NETWORK SERVER IP ICMP RARP ARP NIC1 NIC2 NICn DEVICE DRIVERS
WINDOW SERVER
Widget & Window JBOSN WINDOW is the collection of widgets WIDGET is the atomic unit of window and operations Widget0 WINDOW Widget1 Widget2 Widget2 Widget0 Widget1
Example of Widget & Window JBOSN All drawing unit is called widget WINDOW Widget
Restriction of JBOSN RTOS WINDOW JBOSN - The child window should not be larger than it’s parent. - The child window should be inside of parent area. 1 SIZE - The clipping between overlapped windows is not supported. - The higher z-order window is only updated. 2 CLIPPING - The key-input is not delivered to the focused window. • The key-input is delivered to the top parent window • of the focused window. • The key-input delivery is responsibility to • the top parent window. 3 FOCUS
WINDOW SERVER JBOSN WINDOW SERVER APPLICATION Tasks (threads) 2 3 Windows (Widgets) Widget procedure Window Server 4 Widget Draw 1 GL library KBD Mouse TCH LCD 5
Message Queue MESSAGE MODEL JBOSN APPLICATION Thread1 WINDOW SERVER Message Loop WinProc WinProc . . . Thread2 Message Loop WinProc WinProc