Scheduler Configuration The Scheduler
5.2 Summary
In this chapter, we looked at the functionality provided by the core of eCos, the kernel. We examined the kernel startup procedure. We also looked at the two scheduling algorithms available for the eCos kernel: bitmap and multilevel queue. 85 C H A P T E R 6 Threads and Synchronization Mechanisms he previous chapter on the eCos kernel provided us with an understanding of how the differ- ent schedulers handle threads and their associated priority levels. In this chapter, we start by covering threads; specifically, how we configure the operation of threads, and how we create and use threads in an application. Building on this, we then cover different mechanisms available for communication between threads and other elements of a typical embedded system. These synchronization mech- anisms provide standard tools for developing robust applications.6.1 Threads
A thread is a single flow of execution through a program. Multiple threads can exist in a pro- gram, allowing an individual thread to perform its own operations on the system. Each thread defined in the eCos system contains its own context or workspace to perform its operations and a priority level to execute. It is the job of the scheduler to determine which thread is enti- tled to run at any given time. The kernel contains API functions for controlling threads within an application. eCos offers configuration options that control the behavior of threads in the system, as well as providing additional features to support various thread operations. Item List 6.1 details the thread configuration options available. These are located under the Thread-Related Options component within the eCos Kernel package. TParts
» Prentice.Hall – Embedded.Software.Development.with.eCos
» Where It All Started—Cygnus Solutions
» The eCos Configuration Method
» eCos Core Components The Origins of eCos
» Processor and Evaluation Platform Support
» eCos Support The Origins of eCos
» Component Framework eCos Terminology
» Component Repository eCos Terminology
» Configuration Options eCos Terminology
» Components and Packages Targets
» Summary Prentice.Hall – Embedded.Software.Development.with.eCos
» The Example HAL Function Call Trace
» Next, the Example HAL Function Call Trace
» Finally, the platform reset routine uses the architecture macros defined in
» HAL Macro Definitions Overview
» Common Configuration Components HAL Configuration
» Architecture-Specific Configuration Components HAL Configuration
» HAL and Kernel Exception Handling
» Application Exception Handling Exceptions
» Interrupt and Scheduler Synchronization
» Interrupt Service Routine Management
» Interrupt State Management Interrupt Control
» Interrupt Controller Management Interrupt Control
» Summary Summary Prentice.Hall – Embedded.Software.Development.with.eCos
» Virtual Vector Configuration Virtual Vectors
» Communication Channels Virtual Vector Table Initialization
» Kernel Directory Structure The Kernel
» Multilevel Queue Scheduler The Scheduler
» Bitmap Scheduler Priority Levels
» Scheduler Configuration The Scheduler
» Thread Stacks and Stack Sizes
» Condition Variables Synchronization Mechanisms
» Message Boxes Synchronization Mechanisms
» Counters Counters, Clocks, Alarms, and Timers
» Clocks Alarms Counters, Clocks, Alarms, and Timers
» Timers Counters, Clocks, Alarms, and Timers
» Asserts and Tracing Prentice.Hall – Embedded.Software.Development.with.eCos
» IO Sub-System IO Control System
» Device Drivers IO Control System
» ROM File System File Systems
» RAM File System File Systems
» USB Support Prentice.Hall – Embedded.Software.Development.with.eCos
» OpenBSD FreeBSD Networking Support
» Networking Threads Networking Support
» Networking Configuration Networking Support
» Networking Tests Networking Support
» DNS Support Networking Support
» SNMP Support Prentice.Hall – Embedded.Software.Development.with.eCos
» The GoAhead Embedded WebServer
» Symmetric Multi-Processing Support Prentice.Hall – Embedded.Software.Development.with.eCos
» Additional Features Prentice.Hall – Embedded.Software.Development.with.eCos
» Overview Prentice.Hall – Embedded.Software.Development.with.eCos
» RedBoot Directory Structure Prentice.Hall – Embedded.Software.Development.with.eCos
» RedBoot Configuration Installation and Configuration
» Boot Scripting RedBoot Commands
» Cygwin Tools Directory Structure
» Installing the Platform-Specific Cross-Development Tools
» Installing WinCVS Accessing the Online eCos Source Code Repository
» Setting WinCVS Preferences Accessing the Online eCos Source Code Repository
» WinCVS Update Commands Accessing the Online eCos Source Code Repository
» Package Directory Structure Packages
» CDL Script Files The Component Definition Language Overview
» Saving Configurations Screen Layout
» Importing and Exporting Configurations
» Configuration Window Screen Layout
» Conflicts Window Screen Layout
» Properties Window Screen Layout
» Short Description Window Screen Layout
» Memory Layout Window Screen Layout
» Memory Layout Manipulation Screen Layout
» eCos Repository Database The Configuration Tool
» Graphical Representation of CDL Script Files
» Conflicts and Resolutions Using Templates
» The Package Administration Tool
» The Command-Line Configuration Tool
» Source-Navigator Additional Open-Source Tools
» Splint Additional Open-Source Tools
» A Closer Look The eCos Build Process
» Development Hardware Setup Examples Overview
» Building the Application Application
» Loading the Application Application
» Using the GDB Command-Line Interface
» The eCos Tests Prentice.Hall – Embedded.Software.Development.with.eCos
» Simulators Prentice.Hall – Embedded.Software.Development.with.eCos
» Overview of Porting Prentice.Hall – Embedded.Software.Development.with.eCos
Show more