📜 ⬆️ ⬇️

Application KolibriOS. Part 1: Review

Very often we are asked the questions “Why is the KolibriOS being developed?” Or “What is the field of application of the OS?” Therefore, it was decided to tell in more detail about where and how the KolibriOS can be used, and also, what is even more interesting is where and how it is already applied .

This article for the most part is an overview. It will describe the ideas and possibilities of using the Hummingbird, both theoretical and brought to implementation. How it is used today will be discussed in the next article.

The most promising direction is industrial application and embedded-development. Features KolibriOS, which make it attractive to use in these areas:

A clear proof of this is Kolibri-A , fork from art_zh .

Kolibri-A is an experimental system, useful only for qualified system engineers, system programmers, as well as developers and installers of computer equipment. Many of the standard mechanisms for system protection and control of access to critical system resources in Kolibri-A are disabled in order to facilitate the most free and convenient access to equipment.
Some features of Hummingbird-A
  • Increased hardware requirements.
  • An additional API service that provides the user with expanded and fast access to low-level I / O.
  • Driverless PDP and control of non-standard equipment through a static system buffer available from user space.
  • Expanded support for PCI-express features with elements of bus training, MSI and power management.
  • Kernel size is noticeably reduced - many redundant, highly specialized and rudimentary system structures and functions are excluded:
    • low resolution video modes (below 800x600) are excluded;
    • left single video mode (VESA2, color depth 32bpp);
    • file systems left only FAT.
    • APM support is removed; implemented direct power management.


')
It is quite possible to insert it into ROM and supply compact energy-efficient x86-based computers with KolibriOS instead of BIOS, suitable for use in embedded systems, or as central nodes of various systems.
This was demonstrated by art_zh (forum thread).
Hidden text
And now - the actual subject:
(Kolibri.img is flashed in ROM, the mouse and keyboard are disabled as unnecessary)


Later the same achievement was repeated by Anthony Lu on the industrial mini-computer eBox ( topic on our forum).


For more effective use in these areas, it is necessary to develop a specialized board for KolibriOS (it is possible to cut a bit of KolibriOS itself), which will most fully utilize the capabilities of the OS. If there are interested people willing to finance the idea, the implementation is possible for the current project participants.

Of the boards already available on the market, the 86Duino fits. One of our participants, hidnplayr , had a successful download to the 86duino one using the Vortex86 VGA card (for this, he also supported support for 16bpp VESA mode in the core in revision 5154 ) and prepared the loading instructions .


Well, now a couple of examples of the real use of KolibriOS:
  1. Use when setting up iron (to be discussed in the next article)
  2. Used at the factory for a SCADA system;
  3. On railway transport for automatic control of the state of the contact cable based on the analysis of video information from a passing train.
    Quote from one of the developers of art_zh (the original is on our forum ):
    Hidden text
    Embedded systems are not just robots.
    Although the robots, too.

    Take, for example, a "one-eyed" robot that moves on a high-speed railway at a speed of 200 km / h and monitors the state of the contact electrical network.

    The contact cable is a steel bar with a diameter of 20 mm, wobbling from side to side over the current collector with an amplitude of 50 cm. On this cable, you need to make a notch of at least 0.5 millimeter in size.

    If such a notch is found, save her photo and remember the time and place (so that repairmen know where to look for it), and if everything is fine, save only one frame out of a thousand.

    An elementary analysis of such a (real!) Task sets a very hard TZ: it is necessary to digitize 112 thousand lines per second, 2048 pixels in a line, 2 bytes per pixel. Total - 460 MB / s.

    These poligiga must be pushed into memory, initial processing (determine the position of the cable), find the notches, display 10 pictures on the screen, calculate the cable tension force (by beat frequency) and send the report to the server.

    In QNX, the problem has not yet been solved - terrible holes in the video stream (it is possible that the reason is not in the system, but in the govnokode). In Hummingbird fundamental problems (almost) no. The hardware is ready, and the adjustment and testing of new iron is carried out exclusively by means of Hummingbirds.


  4. We carried out numerical modeling of spectra for problems of radiophysics (Mössbauer spectroscopy) and even defended a thesis - vak2.ed.gov.ru/idcUploadAutoref/renderFile/80179 (the CMspectra program was first written for KolibriOS, then ported to other operating systems — co-author Andrei Ignatyev, aka andrew_programmer );


Based on the foregoing, there are several areas of use:


Also, it should be noted that MenuetOS / KolibriOS was successfully placed in an ATM, and, in principle, it is quite possible to write the appropriate banking software.
Hidden text

This hints at the possibility of using Hummingbird as a replacement for DOS and older versions of Windows on computers of various state. organizations such as railway management and Mail. At the same time, the equipment upgrade is not at all necessary, and software (with the source code) can be ported.

Source: https://habr.com/ru/post/256799/


All Articles