Q5: What DSP operating systems are available?
[Researched and written by Chuck Corley chuckc@sr.hp.com. Last updated 11/22/96]
-
Some designers need to use an operating system with a DSP processor and others don't. The need for DSP operating system seems to depend on the task(s) to be performed.
For simple DSP tasks where a single function or a few simple functions are being performed, an operating system is usually not needed and could get in the way.
When the number and complexity of DSP tasks increase, an operating system of some type may be needed in order to allocate system resources (RAM, etc.) and to perform multi-tasking, where several tasks take turns executing.
Some people have chosen to write their own DSP 'task-switching' or 'job allocating' operating system. Whether this is the right choice for you depends on how involved your operating system needs to be, and how much time you have available to spend writing it.
Many companies offer pre-written operating systems that execute on DSP processors. In exchange for your money they offer to save you the time and effort of writing and debugging your own 'operating system' or 'task switcher'.
These companies describe their products as 'real-time' operating systems. What 'real-time' means can be debated, but it normally means that the maximum time for the operating system to respond to an external event is known. The calculation for measuring this time involves adding together interrupt response time, task switching time, and other processor and operating system benchmarks. 'Real-time' also usually means 'fast'. Embedded CPU or DSP tasks often require a 'real-time' response time.
Prices and features vary. Most companies charge for purchasing their 'development environment', which allows you to develop code which will run on their operating system. Some companies also charge a fee for each product you build that includes their operating system software. This is usually called a 'target fee' or 'runtime license' fee. Some operating systems have no 'runtime license' fees.
It is *very* important to negotiate what the runtime license fee will be *in advance*. This is not nearly as big a problem as it used to be, but be careful! If this runtime license fee is not agreed upon in writing when the development system is purchased, you could be in a bad position later. You will have invested a lot of time and effort writing software to work with a particular operating system, and when your creation is produced you could discover that the 'runtime license fee' has increased or is more than you can afford. Considering the amount of work you would have invested in that operating system, you would be in a very poor bargaining position.
You will also need to decide if having the source code for the operating system is important to you. Some companies include it for free, while others may charge extra.
Features for the DSP operating systems are listed below. Some vendors claim that a 'No' listing for a feature doesn't necessarily mean that their operating system is missing something you need. Many companies state that particular features were not appropriate for either a 'DSP' or a 'real-time' operating system, and so they did not implement them. Other companies stated that some features were not appropriate for their targeted users.
One suggestion for comparing features: Make a list of the features you *really* need and compare it against the list below.
Disclaimer: Any opinions I've expressed are mine, and not my employer's. I've tried to make this information current, accurate, and impartial, but I can't guarantee this. This document is provided "as is", with no warranty of any kind. You should contact the vendors listed below for the best and most up-to-date information. Corrections and suggestions for this section on DSP operating systems should be addressed to chuckc@sr.hp.com.
Key To Abbreviations Abbreviation Explanation Yes Included with operating system No NOT available with operating system Soon Not yet available ? Don't know if this is available Opt Extra-cost option, cost not available Number Cost of a feature or size of a feature. Costs are in dollars $$. Code sizes are in bytes. Numbers may have been rounded to only 2 or 3 significant digits. A range (example: 2-5K) means the size or cost varies, depending on options chosen or which code libraries are used. Disk Program is supplied on floppy disk FTP Program is supplied by FTPing it over the network Operating System Features (1/2) Op System
FeatureByte-
BOSNucleus RXTC SPOX Helios Parallel
CVCOS Virtuoso
Nan/Clas*Preemt.
Task Sched.Yes Yes Yes Yes Yes Yes No No Yes Time-Sliced
ScheduleYes Yes Yes Yes Yes Yes Yes No Yes Round-Robin
Schedule? Yes Yes Yes Yes Yes Yes Yes Yes Parallel
ProcessingNo No No Opt Yes Yes Yes Yes? Yes Inter-Task
MessagesYes Yes Yes Yes Yes Yes Yes Yes Yes Memory
ManagementYes Yes Yes Yes Yes Yes Yes No Yes Interrupt
ManagementYes No Yes Yes Yes Yes Yes Yes Yes Timer
ManagementYes Yes Yes Yes Yes Yes Yes Yes Yes OS Size
(Bytes)5-40K 4-20K 12-16K 6K+ 80K+ 11K+ 2K .8K 40K Operating System Features (2/2) Operating System Feature Precise MQX(+M) DspTask Preemptive Task Sched. Yes Yes Time-Sliced Scheduling Yes No Round-Robin Scheduling Yes No Parallel Processing Yes No Inter-Task Messages Yes Yes Memory Management Yes No Interrupt Management Yes Yes Timer Management Yes Yes OS Size (Bytes) 23K+ 5-20K Features and Cost (1/2) Features
and CostsByte-
BOSNucleus RXTC SPOX Helios Parallel
CVCOS Virtuoso
Nan/Clas*Includes C Compiler No No No No Yes Yes No No No Includes Assembler No No No No Yes Yes Yes No No Source Code Included Yes Yes Yes No No No No Opt Opt Source Code Type C C Asm&C Asm&C Asm&C Asm&C Asm Asm Asm&C Run-Time License $$ 0 0 0 25-200 25-300 50-300 TBD <32 <112 Develop License $$ 2K 5K 1-4.2K 6-12K 1-5.4K 1.5-7.6K 0 3.2K 11K Develop License Type Site Product Site Node Node Node N/A Site Site Demo Disk Available ? Yes Yes No No No No No Yes Features and Cost (2/2) Operating System Feature Precise MQX(+M) DspTask Includes C Compiler No No Includes Assembler No No Source Code Included Yes Yes Source Code Type C & Asm C Run-Time License $$ $0 $0 Develop License $$ $6K $120 Develop License Type Product Company Demo Pgm Available Disk & FTP FTP Libraries (1/2) Available
LibrariesByte-
BOSNucleus RXTC SPOX Helios Parallel
CVCOS Virtuoso
Nan/Clas*C Run-Time Library No No No 2K Yes Yes No Yes Yes DSP Math Library(s) No 1K No 4K 0-2K 1-2K 100 1.8K 1.8K Image Processing Lib No No No No No 2K No 5K 5K JPEG Library No No No No No No Opt No No X Windows Library $ No No No No 930 No No No No PC Windows Library $ No No No Opt 730 No No No 3K Ethernet Lib Cost $ No 9.5K No No 1-1.3K No No No No Libraries (2/2) Available Libraries Precise MQX(+M) DspTask C Run-Time Library No No DSP Math Library(s) No No Image Processing Lib No No JPEG Library No No X Windows Library $ No No PC Windows Library $ No No Ethernet Lib Cost $ $10K No Debugging (1/2) OS System
Level DebuggerByte-
BOSNucleus RXTC SPOX Helios Parallel
CVCOS Virtuoso
Nan/Clas*Basic Debugging Yes Yes Yes Yes Yes Yes Yes No Yes Performance Timer Yes Yes No Yes Yes No Yes No Yes Debugger Cost $295 $750 $0 $3.8K $900 $950 TBD N/A $0 Debugging (2/2) OS System Level Debugger Precise MQX(+M) DspTask Basic Debugging Yes Soon Performance Timer Yes No Debugger Cost $2K $0 * Note that only Virtuoso "Nano" and "Classico" products are shown in the comparison charts. There is also an intermediate "Micro" product.