Real-Time operating systems

Real-Time systems are used to control events occuring in the real world. To do so, they should execute with a constrained response time. The correctness of the results obtained is as important as the moment when the results are obtained. The solutions used traditionally in operating systems and programming languages are not adapted to the development of real-time systems, and few services are provided in order to help to build them. At present, an important number of applications are designed used "ad-hoc" techniques for each problem to be solved.

These pages show the results of a project oriented to provide Real-Time services. One of the development areas was devoted to extend the services provided by a time-shared operating system (Minix, a Unix clone). This work was finished in 1995, being one of the first modifications of an open-source OS to provide RT services (see some of the cited references HERE ). Several scheduling techniques were introduced, and the existing services for concurrent task processing were extended, introducing new semantics associated with the accomplishment of the constrainted time execution of the system's tasks.

We also have built a set of tools to develop SCADA systems. Originally it was developed as an academic tool running over a traditional time-sharing system, and lately it was rebuilt under the real-time Minix version. Finally, a new version was developed running under OS/2. At present, the tool was reengineered to run under Windows, and real-time scheduling was included at the user level.

If you need copy of any of the publications mentioned in these pages: send me an e-mail.