Real-Time Multitasking Operating System

Source: Internet
Author: User
 

Real-time multitasking operating system (reproduced)

Breeze published on 12:35:00

Now, the multi-task operating system has formed a storm in the engineering field in China! As a petty engineer with several years of experience in this field, I have some opinions on the operating systems used by the multi-task operating system for the project. Now I will discuss it with you.
The current real-time multi-task operating system can be divided into two types: preemptible and time-fractional. The former is mostly used for real-time applications, the latter is used for large-scale Operating Systems with low real-time performance and high availability. Of course, Many operating systems are both comprehensive products, and some are collaborative multi-task operating systems. What are the advantages and disadvantages of the two?
Many small real-time multi-task operating systems, such as the former, require different priorities for each task. When a task with a higher priority than the current task is ready, new task scheduling will be generated, this kind of operating system maximizes the real-time performance of the system, but it also brings some troubles for programmers. For example, sometimes some tasks are equal in themselves, we hope that each task can be switched over for a period of time, and it will be quite difficult. Unless each task is abandoned or has a higher priority, task scheduling will not be generated, when there are many software tasks, it is very troublesome to coordinate low-priority tasks. For example, AMX
A time-based multi-task operating system uses the system clock to separate time slices. Each task is declared and allocated to several time slices of the task. After the time slice of a task ends, task scheduling is generated. This can make the task more independent, but the real-time performance will decrease accordingly.
Now a good multi-task operating system such as VxWorks and neclue is a combination of the above two products, which can be generated and scheduled by the task priority, or by time slices to generate new task scheduling.
Before selecting a multi-task operating system, engineers should first check whether their projects really need the operating system! If your task has poor scalability and there are more than N synchronization problems and resource reuse problems among the tasks after the discount, I don't think you should use a multi-task operating system, or put all these functions in a task. Don't worry about anything and think that multi-task is good! Multi-task is to reduce the real-time performance in exchange for the independence of software development. Do not be fooled by the Real-Time Characters of the real-time multi-task operating system. This real-time is only relative to other non-real-time multi-task operating systems, of course, the most real-time single-task program you have compiled is your own.
If your task has a high scalability, you can use a multi-task operating system. If the real-time requirement of each task is not high, the independence is high, and the dependency between each task is not strong, then you can adopt a time-based multi-task operating system. This will make your code compilation truly appreciate the advantages of multi-task; instead, you 'd better first have a multi-task operating system with a preemptible core.
At the same time, you need to make a thorough investigation of the memory management mechanism of the operating system, the communication mechanism between tasks, and the synchronization mechanism, and then determine the operating system to use first.
At present, Chinese R & D manufacturers and companies have formed a strange circle, that is, everyone is developing Linx embedded applications, as if Linx is a piece of fat, it will be very easy to use. Linx is a multi-process, multi-thread operating system developed for the desktop system. 2.0 of the Code volume is millions of lines, most of which are not required by embedded applications, in addition, there is no preemptible multi-task core in it. If your application has high real-time requirements, you need to write this preemptible core. Of course, it can be written, however, it takes a lot of time for you to write out an unreliable real-time multi-task operating system that has not passed through practical applications. I agree with this! I think there are two specialized companies that want to study Linx embedded applications. A successful embedded real-time multi-task operating system can be written by only five general engineers, but it requires 50 rather experienced engineers for debugging and debugging, and 500 engineers for trial. Currently, Linx is used as a copy of the business. On the one hand, it is the loss of money by the bosses, and engineers hope to do some challenging work. However, this result is generally not ideal. Most of the cases are project abortion, and engineers go to another company to continue playing. I am so dizzy, when will this vicious circle end!
There is already a division of labor in this world. Some people develop operating systems and some people develop products using operating systems. Don't start with rice planting! Even the worst operating system I bought must be n times better than Linx, which has been replaced by several engineers over the past year. The structure and application of embedded Linx will sooner or later have an international standard, this standard will not be determined by the rewriting of one or two engineers. We are just cannon fodder. If it is a company dedicated to the development of operating systems for a living, I will provide 100 times of support, if you want to change the operating system for your own use, I think it's okay! It is better to buy an operating system and use your wisdom in product optimization and early market launch! Some people may say that their operating systems are not as good as their own! I'm so dizzy! You are not good at using the ready-made municipal operating systems. Can you use the OS you have changed in the Linx well! Haha!
The above is my personal opinion. It is right and right. Only time is clear. I expect that Linx embedded applications will be standardized within three years and mainly used on PDA.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.