CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating...
Transcript of CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating...
![Page 1: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/1.jpg)
1
CSE 237A Middleware and Operating Systems
Tajana Simunic RosingDepartment of Computer Science and EngineeringUniversity of California, San Diego.
![Page 2: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/2.jpg)
2TSR
Software componentsStandard softwaree.g. MPEGx, databasesMiddlewareOperating systemsschedulers
![Page 3: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/3.jpg)
3TSR
Middleware Between applications and OS Provides a set of higher-level capabilities and
interfaces Customizable, composeable frameworks Types of services:
component – independent of other services E.g. communication, information, computation
integrated sets e.g. distributed computation environment
integration frameworks Tailor to specific domain: e.g. transaction processing
![Page 4: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/4.jpg)
4TSR
Integrated sets A set of services that take significant
advantage of each other Example: Distributed Computing
Environment (DCE)Provides key distributed technologies – RPC,
DNS, distributed file system, time synch, network security and threads service
From Open SW Foundation, supported by multiple architectures and major SW vendors
![Page 5: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/5.jpg)
5TSR
DCE
![Page 6: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/6.jpg)
6TSR
Integration frameworks middleware
Integration environments tailored to specific domain
Examples:Workgroup frameworkTransaction processing frameworkNetwork management frameworkDistributed object computing (e.g. CORBA, E-
SPEAK, JINI, message passing)
![Page 7: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/7.jpg)
7TSR
Distributed Object Computing Advantages:
SW reusability, more abstract programming, easier coordination among services
Issues: latency, partial failure, synchronization, complexity
Techniques: Message passing (object knows about network) Argument/Return Passing – like RPC
network data = args + return result + names Serialzing and sending
network data = obj code + obj state + synch info Shared memory
network data = data touched + synch info
![Page 8: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/8.jpg)
8TSR
SW for access to remote objectsCORBA (Common Object Request Broker Architecture).Information sent to Object Request Broker (ORB) via local stub. ORB determines location to be accessed and sends information via the IIOP I/O protocol.
Access times not predictable.OBJ management architecture
![Page 9: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/9.jpg)
9TSR
Real-time CORBAEnd-to-end predictability of timeliness in a fixed priority system.respecting thread priorities between client and server for resolving resource contention,bounding the latencies of operation invocations.RT-CORBA includes provisions for bounding the time during which priority inversion due to competing resource access may occur.
![Page 10: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/10.jpg)
10TSR
Message passing interface
Message passing interface (MPI): alternative to CORBA
MPI/RT: a real-time version of MPI [MPI/RT forum, 2001].
MPI-RT does not cover issues such as thread creation and termination.
MPI/RT is conceived as a layer between the operating system and non real-time MPI.
![Page 11: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/11.jpg)
11
CSE 237A Real Time Operating Systems
Tajana Simunic RosingDepartment of Computer Science and EngineeringUniversity of California, San Diego.
![Page 12: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/12.jpg)
12TSR
Software componentsStandard softwaree.g. MPEGx, databasesMiddlewareOperating systemsFocus on RTOS
![Page 13: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/13.jpg)
13TSR
Real-time operating systems
Three key requirements1. Predictable OS timing behavior
upper bound on the execution time of OS services short times during which interrupts are disabled, contiguous files to avoid unpredictable head
movements2. OS must be fast 3. OS must manage the timing and scheduling
OS possibly has to be aware of task deadlines;(unless scheduling is done off-line).
OS must provide precise time services with high resolution.
![Page 14: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/14.jpg)
14TSR
RTOS-KernelsDistinction between real-time kernels and modified
kernels of standard OSes.
Distinction betweengeneral and RTOSes for specific domains,standard APIs (e.g. POSIX RT-Extension of Unix)
or proprietary APIs.
![Page 15: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/15.jpg)
15TSR
How to organize multiple tasks? Cyclic executive (Static table driven scheduling)
static schedulability analysis resulting schedule or table used at run time
Event-driven non-preemptive tasks are represented by functions that are handlers for events next event processed after function for previous event finishes
Static and dynamic priority preemptive scheduling static schedulability analysis at run time tasks are executed “highest priority first” Rate monotonic, deadline monotonic, earliest deadline first, least
slack
![Page 16: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/16.jpg)
16TSR
RTOS Organization: Cyclic Executive
Kernel Mode
Device Drivers
Network Drivers
Hardware
I/O Services
TCP/IP Stack
Application Application Application
![Page 17: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/17.jpg)
17TSR
RTOS Organization: Monolithic Kernel
User Mode(protected)
Kernel ModeFilesystems
Device Drivers
Network Drivers
Hardware
I/O Managers Graphics Subsystem
Graphics Drivers Other….
Application Application Application
Hardware Interface Layer
![Page 18: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/18.jpg)
18TSR
RTOS Organization: Microkernel
User Mode(protected)
Kernel Mode
Device Drivers
Network Drivers H
ardwareFilesystem
Manager
Graphics Drivers
Application
Application
Application
Filesystem Drivers
Device Manager
Photon
Network Manager
Kernel (tiny)
![Page 19: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/19.jpg)
19TSR
Types of RTOS Kernels1. Fast proprietary kernels
designed to be fast, rather than predictable Inadequate for complex systems Examples include
QNX, PDOS, VCOS, VTRX32, VxWORKS.
![Page 20: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/20.jpg)
20TSR© Windriver
Example: VxWorks
![Page 21: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/21.jpg)
21TSR
VxWorks Configuration
© Windriver
http
://w
ww
.win
driv
er.c
om/p
rodu
cts/
deve
lopm
ent_
tool
s/id
e/to
rnad
o2/to
rnad
o_2_
ds.p
df
![Page 22: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/22.jpg)
22TSR
Types of RTOS Kernels2. Standard OS with real-time extensions RT-kernel running all RT-tasks. Standard-OS executed as one task.
+ Crash of standard-OS does not affect RT-tasks;- RT-tasks cannot use Standard-OS services;
less comfortable than expected
![Page 23: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/23.jpg)
23TSR
Example: RT-Linux
Hardware
RT-Task RT-Task
RT-Linux RT-Scheduler
Linux-Kerneldriver
scheduler
Init Bash Mozilla
interrupts
interrupts
interrupts
I/O
![Page 24: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/24.jpg)
24TSR
Example: Posix 1.b RT Standard scheduler can be replaced by POSIX
scheduler implementing priorities for RT tasks
Hardware
Linux-Kerneldriver
POSIX 1.b scheduler
Init Bash Mozilla
I/O, interrupts
RT-Task RT-Task Special RT &
standard OS calls available.
Easy programming, no guarantee for meeting deadline
![Page 25: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/25.jpg)
25TSR
Types of RTOS Kernels3. Research systems
Research issues low overhead memory protection, temporal protection of computing resources RTOSes for on-chip multiprocessors support for continuous media quality of service (QoS) control.
![Page 26: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/26.jpg)
26TSR
Kernel examples Small kernelsPALOS, TinyOS
Medium sizeuCos II, eCos
LargerRT Linux, WinCE
![Page 27: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/27.jpg)
27TSR
Example I: PALOS Structure – PALOS Core, Drivers, Managers, and user defined Tasks PALOS Core
Task control: slowing, stopping, resuming Periodic and aperiodic handling and scheduling Inter-task Communication via event queues Event-driven tasks: task routine processes events stored in event queues
Drivers Processor-specific: UART, SPI, Timers.. Platform-specific: Radio, LEDs, Sensors
Small Footprint Core (compiled for ATMega128L) Code Size: 956 Bytes , Mem Size: 548 Bytes Typical( 3 drivers, 3 user tasks) Code Size: 8 Kbytes, Mem Size: 1.3 Kbytes
![Page 28: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/28.jpg)
28TSR
Execution control in PALOS Each task has a task
counter Counters initialized to:
0: normal >>:0 slowdown -1: stop >=0: restart
Decremented 1) every iteration
(relative timing) 2) by timer interrupts
(exact timing) If counter = 0, call taks;
reset counter to initialization value
![Page 29: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/29.jpg)
29TSR
Event Handlers in PALOS
Periodic or aperiodic events can be scheduled using Delta Q and Timer Interrupt
When event expires appropriate event handler is called
![Page 30: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/30.jpg)
30TSR
Example II: TinyOS System composed of
scheduler, graph of components, execution context Component model
Basically FSMs Four interrelated parts of implementation
Encapsulated fixed-size frame (storage) A set of command & event handlers A bundle of simple tasks (computation)
Modular interface Commands it uses and accepts Events it signals and handles
Tasks, commands, and event handlers Execute in context of the frame & operate on its state Commands are non-blocking requests to lower level
components Event handlers deal with hardware events Tasks perform primary work, but can be preempted by
events Scheduling and storage model
Shared stack, static frames Events prempt tasks, tasks do not Events can signal events or call commands Commands don’t signal events Either can post tasks
Messaging Component
Internal StateInternal Tasks
Commands Events
![Page 31: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/31.jpg)
31TSR
TinyOS Overview Stylized programming model with extensive static information
Compile time memory allocation Easy migration across h/w -s/w boundary Small Software Footprint - 3.4 KB Two level scheduling structure
Preemptive scheduling of event handlers Non-preemptive FIFO scheduling of tasks Bounded size scheduling data structure
Rich and Efficient Concurrency Support Events propagate across many components Tasks provide internal concurrency
Power Consumption on Rene Platform Transmission Cost: 1 µJ/bit Inactive State: 5 µA Peak Load: 20 mA
Efficient Modularity - events propagate through stack <40 µS
![Page 32: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/32.jpg)
32TSR
Complete TinyOS Application
Ref: from Hill, Szewczyk et. al., ASPLOS 2000
![Page 33: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/33.jpg)
33TSR
Example III: µCOS-II Portable, ROMable, scalable, preemptive,
multitasking RTOS Services
Semaphores, event flags, mailboxes, message queues, task management, fixed-size memory block management, time management
Source freely available for academic non-commercial usage for many platforms Value added products such as GUI, TCP/IP stack etc.
![Page 34: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/34.jpg)
34TSR
Example IV: eCos Embedded, Configurable OS, Open-source Several scheduling options
bit-map scheduler, lottery scheduler, multi-level scheduler Three-level processing
Hardware interrupt (ISR), software interrupt (DSR), threads Inter-thread communication
Mutex, semaphores, condition variables, flags, message box Portable - Hardware Abstraction Layer (HAL) Based on configurable components
Package based configuration tool Kernel size from 32 KB to 32 MB Implements ITRON standard for embedded systems OS-neutral POSIX compliant EL/IX API
![Page 35: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/35.jpg)
35TSR
Example V: Real-time Linux Microcontroller (no MMU) OSes:
uClinux - small-footprint Linux (< 512KB kernel) with full TCP/IP
QoS extensions for desktop: Linux-SRT and QLinux
soft real-time kernel extension target: media applications
Embedded PC RTLinux, RTAI
hard real time OS E.g. RTLinux has Linux kernel as the lowest priority task in a RTOS
fully compatible with GNU/Linux HardHat Linux
![Page 36: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/36.jpg)
36TSR
Example VI: WinCE
OEM hardware
OALbootload drivers Device
driversFile
driversNetworkdrivers
Kernellibrary GWES Device
managerFile
manager IrDA TCP/IP
Win32 APIs
WinCE shell services
Embedded shellRemote connectivity
Applications
![Page 37: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/37.jpg)
37TSR
Virtual memory WinCE uses virtual memory. Code can be paged from ROM, etc. WinCE suports a flat 32-bit virtual address
space. Virtual address may be:
Statically mapped (kernel-mode code). Dynamically mapped (user-mode and some kernel-
mode code). Address space: bottom half user, top kernel
![Page 38: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/38.jpg)
38TSR
Driver structure Driver = DLL with particular interface points. Hosted by a device manager process space Handle interrupts by dedicated IST thread. Synchronize driver and application via critical
sections and MUTEXes.
![Page 39: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/39.jpg)
39TSR
Device manager Always-running user-level process. Contains the I/O Resource Manager. Loads the registry enumerator DLL which in turn
loads drivers. RegEnum scans registry, loads bus drivers. Bus driver scans bus, locates devices. Searches registry for device information. Loads appropriate drivers. Sends notification that interface is available.
Provides power notification callbacks.
![Page 40: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/40.jpg)
40TSR
Interrupt handling Interrupt service routine (ISR):
Kernel mode service. May be static or installable.
Interrupt service thread (IST): User mode thread.
All higherenabled
All enabledExcept ID All enabled
ISH Set event Enable ID
ISR ISR
ISR ISR
IST processing
device
![Page 41: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/41.jpg)
41TSR
Kernel scheduler Two styles of preemptive multitasking.
Thread runs until end of quantum. Thread runs until higher priority thread is ready to run.
Round-robin within priority level. Quantum is defined by OEM and application. Priority inheritance to control priority inversion. 256 total priorities.
Top 248 can be protected by the OEM.
![Page 42: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/42.jpg)
42TSR
Summary SWMPEG decode etc.
MiddleweareE.g DCE, CORBA
RTOSE.g TinyOS, eCos, RT-Linux, WinCE
![Page 43: CSE 237A Middleware and Operating Systems · 2010-04-26 · CSE 237A Middleware and Operating Systems Tajana Simunic Rosing. Department of Computer Science and Engineering. ... uCos](https://reader030.fdocuments.in/reader030/viewer/2022040723/5e322293c690f970911dc9a4/html5/thumbnails/43.jpg)
43TSR
Sources and References
Peter Marwedel, “Embedded Systems Design,” 2004.
Wayne Wolf, “Computers as Components,” Morgan Kaufmann, 2001.
Nikil Dutt @ UCI Mani Srivastava @ UCLA