answersLogoWhite

0


Best Answer

Multitasking, preemptive, re-entrant kernel

* Supports implementing real-time applications as multiple semi-autonomous tasks. Tasks are always in one of five states: running, ready, blocked, suspended, or delayed.

* Provides for task communication and synchronization, both with other tasks and with interrupt service routines.

Priority Based

* Tasks are implemented as light-weight threads assigned a priority at time of creation.

* Task priorities can be dynamically changed with OsSetTaskPri(). The new priority takes effect immediately. Tasks pending in a priority queue are dynamically re-ordered in the queue.

* A task's priority is temporarily boosted when holding ownership of a mutex being requested by a higher priority task (priority inheritance).

Task Synchronization and Communication

* Semaphores and queues perform either priority or FIFO scheduling of pending tasks. Semaphores are counting semaphores. Message queues have either a fixed maximum size or grow freely, limited only by the amount of available memory.

* Mutexes operate like binary semaphores with ownership and priority inheritance to avoid the problem of priority inversion.

* Events can make multiple tasks ready with a single system call. Events are posted to a nexus which may contain any number of blocked tasks. Tasks waiting for an event use a 32-bit mask to select which events they respond to.

* Timers can be used in a wide variety of system calls. Semaphores, messages, and events can be posted after a fixed delay or posted repeatedly at fixed intervals. Application functions can be called after a fixed delay, or called repeatedly at fixed intervals. Timers can be stopped, tested for expiration, and/or deleted at any time.

Deterministic

* Interrupt latency does not increase as the number of tasks, semaphores, queues, etc., increase.

* The execution time of every service call is independent of the number of tasks, queues, semaphores, etc., in the system, except for the delete and get identifier calls which are infrequent operations.

Responsive

* Timer-related processing that is variant, such as sorting the timer queue, is performed in the background using kernel tasks. Minimal work is performed up front when a system call requires timer processing, allowing the CPU to return more quickly to the application.

Flexible Scheduler

* The scheduler can be configured as non-preemptive, a requirement for some third-party communication protocol stacks. When non-preemptive, running tasks always keep the CPU until making a service call that blocks.

* If configured as preemptive, the scheduler always runs the highest priority ready task. The running task is preempted whenever an interrupt makes ready a task with higher priority than the currently running task.

* Preemption can be temporarily disabled with OsLockTask(). Preemption is re-enabled by either calling OsUnlockTask(), or by making a service call that blocks.

* Tasks may be configured for round robin scheduling among tasks of the same priority. The time slice value is configurable and may be examined or modified at any time.

Easy to Use

* A compile-time option promotes all service call errors to fatal errors that cause an error message on stderr and a break into the debug monitor. This helps catch simple programming errors that can otherwise waste valuable time.

* Kernel objects (tasks, semaphores, queues, mutexes, nexuses, timers) are created dynamically upon request by the application. There is no configuration file to edit and maintain as the application grows. The only limit is the amount of available memory.

Interrupt Service Routine Manager

* isrCreate() creates an entry in the CPU's vector table and installs "wrapper" routines that save and restore the minimal registers required to allow the service routine to be written in C.

* The CPU vector table is initialized at startup with default vectors that allow bus errors and spurious interrupts to be reported on the stderr console.

Command Line Debug Monitor

* Displays the percent of CPU time used by each task and ISR. Displays the stack low water mark for each task. Displays a log of past system calls including the time of the call, the name of the task or ISR making the call, and the values of the parameters used. Allows interactive querying of the state of each task, semaphore, etc.

* Application programs, device drivers, etc. can extend the monitor by adding name strings and code for additional commands.

Integrated Development Environment

* Integrated with TargetToolsâ„¢, the IDE for embedded development from Blunk Microsystems with an integrated compiler and kernel-aware debugger, visual code editor, search and replace tool, BDM for board bring-up, and fast Ethernet download.

Turnkey Solution

* Provided with source code, default compiler settings, linker command files, project files, and a re-entrant Standard C runtime library.

* Blunk Microsystems provides board support packages for a range of commercial CPU boards and provides competitive bids on board support packages for custom designs.

Royalty Free

* Includes source code, User's manual, sample applications, and one year of technical support.

User Avatar

Wiki User

βˆ™ 15y ago
This answer is:
User Avatar

Add your answer:

Earn +20 pts
Q: Disadvantages of real-time operating system
Write your answer...
Submit
Still have questions?
magnify glass
imp
Related questions

Advantages disadvantages of realtime operating system?

There are several advantages and disadvantages of having a real time operating system. One disadvantage is unseen errors, an advantage is timing.


What are the Disadvantages of inferno operating system?

Disadvantages of inferno operating system


Differences between single user operating system and real-time operating system?

A single user OS could also be a real-time system. The differences in the two are based on how a process is given control or priority within the system. Realtime systems give preferences to realtime control processes (realtime runs at a much higher priority level). Most single-user operating systems treat processes with equal priority unless you indicate that a certain process is to receive preferential treatment. This can be done by raising the priority of the user process to that of realtime, meaning it will receive resources (such as CPU cycles) above other programs in the system.


Is realtime the most used operating system on computers today?

No. Windows is (regrettably). Mac and Linux are the other main contenders.


What are the disadvantages of real-time operating system?

what is the answer


Advantages and disadvantages of different operating system?

yes


What are the advantages and disadvantages of multitasking operating system?

Advantages are that you can do many things at once. Disadvantages are that your system will run more slowly with all of the tasks.


Is unix a realtime operating system?

Some versions of Unix are oriented towards real time applications, and processes in Unix can be "promoted" to real time status if desired. Other than that, you would have to define more precisely what you mean by real time for an operating system.


What are the disadvantages of an operating system?

One Disadvantage For an operating System Is that Your hardware will not be able to work at all until you wrote your own code for the hardware to do what you want it to do .


What are the advantages and disadvantages of the Single-user multi-tasking operating system?

fghjk


What are the advantages and disadvantages of mobile operating system?

Advantages of a mobile operating system include convenience, open source platforms being well-supported, and notification ease. Disadvantages include instability, and poor battery quality.


What are the disadvantages of operating systems?

what are the disadvantages of operating systems effects of information technology