Installation du système d'exploitation Hummingbird sur votre disque dur. Système d'exploitation KolibriOS. Le présent et l'avenir de KolibriOS

Aujourd'hui, dans notre Kunstkamera, un exemple curieux est un système d'exploitation écrit en pur assembleur. Avec les pilotes, le shell graphique, des dizaines de programmes préinstallés et les jeux, il faut moins d'un mégaoctet et demi. Découvrez le système d'exploitation Hummingbird exceptionnellement rapide et principalement russe.

Le développement de Hummingbird s'est déroulé assez rapidement jusqu'en 2009. L'oiseau a appris à voler sur un matériel différent, nécessitant au minimum le premier Pentium et huit mégaoctets mémoire vive. Le minimum Configuration requise Les colibris sont :

  • CPU : Pentium, AMD 5x86 ou Cyrix 5x86 sans MMX à 100 MHz ;
  • RAM : 8 Mo ;
  • Carte graphique : compatible VESA avec prise en charge du mode VGA (640 × 480 × 16).

Le Hummingbird moderne est une "version nocturne" régulièrement mise à jour de la dernière version officielle, sortie fin 2009. Nous avons testé la version 0.7.7.0+ datée du 20 août 2017.

AVERTISSEMENT

Dans les paramètres par défaut, KolibriOS n'a pas accès aux disques visibles via le BIOS. Réfléchissez bien et faites une sauvegarde avant de modifier ce paramètre.

Bien que les changements dans les builds nocturnes soient faibles, ils se sont suffisamment accumulés au fil des ans. Le Hummingbird mis à jour peut écrire sur les partitions FAT16–32 / ext2 - ext4 et prend en charge d'autres partitions populaires. systèmes de fichiers(NTFS, XFS, ISO-9660) en mode lecture. Il est apparu en elle Prise en charge USB Et cartes réseau, la pile TCP/IP et les codecs audio ont été ajoutés. En général, vous pouvez déjà y faire quelque chose, et pas seulement regarder une fois un système d'exploitation ultra-léger avec une interface graphique et être impressionné par la vitesse de démarrage.



Comme les versions précédentes, la dernière Hummingbird est écrite en assembleur plat (FASM) et occupe une disquette - 1,44 Mo. Grâce à cela, il peut être complètement placé dans une mémoire spécialisée. Par exemple, les artisans ont écrit KolibriOS directement dans Flash BIOS. Pendant le fonctionnement, il peut être entièrement situé dans le cache de certains processeurs. Imaginez : tout le système d'exploitation, ainsi que les programmes et les pilotes, est mis en cache !

INFO

Lors de la visite du site kolibrios.org, le navigateur peut avertir d'un danger. La raison, apparemment, est les programmes assembleur de la distribution. Désormais, VirusTotal définit le site comme totalement sûr.

"Hummingbird" est facilement chargé à partir d'une disquette, d'un disque dur, d'un lecteur flash, d'un Live CD ou d'une machine virtuelle. Pour l'émulation, il suffit de spécifier le type de système d'exploitation "autre", d'y allouer un cœur de processeur et de la RAM. Il n'est pas nécessaire de connecter un disque, et s'il y a un routeur avec DHCP, Hummingbird se connectera instantanément à Internet et réseau local. Immédiatement après le téléchargement, vous verrez une notification.


Un problème - le protocole HTTPS n'est pas pris en charge par le navigateur Hummingbird intégré. Par conséquent, il n'était pas possible d'y voir le site, ni d'ouvrir Pages Google, Yandex, Wikipédia, Sberbank... en fait, pas d'adresse habituelle. Tout le monde est passé à un protocole sécurisé il y a longtemps. Le seul site avec HTTP pur à l'ancienne que j'ai rencontré était le "portail du gouvernement de la Russie", mais il n'avait pas l'air le meilleur dans un navigateur texte.



Les paramètres d'apparence dans Hummingbird se sont améliorés au fil des ans, mais sont encore loin d'être idéaux. Une liste des modes vidéo pris en charge s'affiche sur l'écran de démarrage de Hummingbird lorsque vous appuyez sur la touche alphabétique.



La liste des options disponibles est petite et la résolution souhaitée peut ne pas s'y trouver. Si vous avez une carte graphique avec un GPU AMD (ATI), vous pouvez immédiatement ajouter des paramètres personnalisés. Pour ce faire, vous devez passer le paramètre -m au bootloader ATIKMS X X , Par exemple:

/RD/1/CONDUCTEURS/ATIKMS -m1280x800x60 -1

Ici /RD/1/DRIVERS/ATIKMS est le chemin vers le bootloader (RD - RAM Disk).

Lorsque le système est en cours d'exécution, le mode vidéo sélectionné peut être visualisé avec la commande vmode et (théoriquement) commuté manuellement. Si Hummingbird s'exécute sur une machine virtuelle, cette fenêtre restera vide, mais avec un démarrage propre, les pilotes vidéo Intel peuvent être ajoutés de i915 à Skylake inclus.

Étonnamment, un tas de jeux s'intègrent dans KolibriOS. Parmi eux, il y a des jeux logiques et d'arcade, des balises, un serpent, des chars (non, pas WoT) - tout un "Game Center"! Même Doom et Quake ont été portés sur Hummingbird.



Une autre chose importante était le lecteur FB2READ. Il fonctionne correctement avec le cyrillique et dispose de paramètres d'affichage de texte.



Je recommande de stocker tous les fichiers utilisateur sur une clé USB, mais celle-ci doit être connectée via un port USB 2.0. Notre clé USB 3.0 (en port USB 2.0) 16 Go avec fichier Système NTFS déterminée immédiatement. Si vous avez besoin d'écrire des fichiers, vous devez connecter une clé USB avec une partition FAT32.



La distribution Hummingbird comprend trois gestionnaires de fichiers, des utilitaires pour visualiser des images et des documents, des lecteurs audio et vidéo et d'autres applications utilisateur. Cependant, l'accent est mis sur le développement du langage d'assemblage.



intégré éditeur de texte a la coloration syntaxique ASM et vous permet même d'exécuter immédiatement les programmes saisis.



Les outils de développement incluent le compilateur Oberon-07/11 pour i386 Windows, Linux et KolibriOS, ainsi que des émulateurs de bas niveau : E80 est un émulateur ZX Spectrum, FCE Ultra est l'un des meilleurs émulateurs NES, DOSBox v.0.74 et autres. Tous ont été spécialement portés sur le Hummingbird.

Si vous laissez KolibriOS quelques minutes, l'économiseur d'écran se lancera. Des lignes de code s'exécuteront à l'écran, dans lesquelles vous pouvez voir une référence à MenuetOS.

Suite disponible uniquement pour les membres

Option 1. Rejoignez la communauté "site" pour lire tous les documents sur le site

L'adhésion à la communauté pendant la période spécifiée vous donnera accès à TOUS les matériaux Hacker, augmentera votre remise cumulée personnelle et vous permettra d'accumuler une note professionnelle Xakep Score !

Colibri est un navigateur conçu pour être rapide, efficace et épuré avec des fonctionnalités non essentielles. Le navigateur minimaliste est construit sur une base moderne (Chrome/Electron), prend en charge les signets et leurs listes avec synchronisation entre les appareils.

Le programme est vraiment doté d'une interface compacte : presque toutes les commandes de base tiennent dans la barre de titre. Il existe également quelques options et paramètres supplémentaires : l'utilisateur est autorisé à modifier moteur de recherche et le service de traduction de texte par défaut, activez Assistance Adobe Flash, vider le cache et les données du site.

Les créateurs de Colibri promettent aux utilisateurs une vitesse élevée et une faible consommation de ressources, ce qui découle logiquement de l'utilisation d'un seul onglet pour la navigation sur les sites. Cependant, cette promesse doit être traitée avec un certain scepticisme - après tout, sous le capot de ce Navigateur Chrome, jamais distingué par la légèreté.

Colibri est distribué gratuitement, l'inscription est obligatoire pour utiliser les services de synchronisation de données. Le russe ne fait pas encore partie des langues d'interface prises en charge. Vous pouvez utiliser le programme sur des tablettes et des ordinateurs sous Contrôle Windows et macOS.

Très souvent, on nous pose les questions « Pourquoi KolibriOS est-il développé ? » ou "Quelle est la portée du système d'exploitation ?" Par conséquent, il a été décidé d'expliquer plus en détail où et comment Hummingbird peut être utilisé, et aussi, ce qui est peut-être encore plus intéressant, où et comment il est DÉJÀ utilisé.

Cet article est surtout une critique. Il décrira les idées et les possibilités d'utilisation de Hummingbird OS, à la fois théoriques et mises en œuvre. Comment il est utilisé aujourd'hui sera discuté dans le prochain article.

La direction la plus prometteuse est l'application industrielle et le développement embarqué. Caractéristiques de KolibriOS qui le rendent attrayant à utiliser dans ces domaines :

  • Noyau open source compact ;
  • Simplicité minimaliste et commodité du sous-système graphique ;
  • Suffisamment développé interface utilisateur;
  • Un service système de bas niveau décent ;
  • Prise en charge des plus populaires protocoles réseau et les systèmes de fichiers.
Une preuve claire de ceci est Kolibri-A, une fourchette de art_zh.

Colibri-A- un système expérimental, utile uniquement pour les ingénieurs système qualifiés, les programmeurs système, ainsi que les développeurs et les techniciens équipement informatique. De nombreux mécanismes standard de protection du système et de contrôle d'accès aux ressources système dans Hummingbird-A sont désactivés afin de faciliter l'accès le plus libre et le plus pratique à l'équipement.

Quelques fonctionnalités de Hummingbird-A

  • Exigences accrues pour la plate-forme matérielle.
  • Un service d'API supplémentaire qui offre à l'utilisateur un accès étendu et rapide aux E/S de bas niveau.
  • RAP sans pilote et contrôle du matériel non standard via un tampon système statique accessible depuis l'espace utilisateur.
  • Prise en charge étendue des fonctions PCI-express avec des éléments de formation de bus, MSI et contrôle du mode d'alimentation.
  • La taille du noyau est sensiblement réduite - de nombreuses structures et fonctions système redondantes, hautement spécialisées et rudimentaires sont exclues :
    • les modes vidéo basse résolution (inférieurs à 800x600) sont exclus ;
    • le seul mode vidéo restant (VESA2, profondeur de couleur 32bpp) ;
    • des systèmes de fichiers n'ont laissé que FAT.
    • suppression de la prise en charge d'APM ; mise en œuvre de la gestion directe de l'alimentation.

Il est tout à fait possible de le coudre dans la ROM et de fournir des ordinateurs x86 compacts et économes en énergie avec KolibriOS au lieu du BIOS, adaptés à une utilisation dans des systèmes embarqués ou en tant que nœuds centraux de divers systèmes.
Ce qui a été démontré art_zh(fil du forum).

Texte caché

Et maintenant - le sujet lui-même :
(kolibri.img est flashé dans la ROM, la souris et le clavier sont désactivés car inutiles)



Plus tard, le même exploit a été répété Antoine Lu sur un mini-ordinateur industriel eBox (sujet sur notre forum).

Pour plus d'efficacité dans ces domaines, il est nécessaire de développer une carte spécialisée pour KolibriOS (il est possible de déposer un peu et KolibriOS lui-même), qui utilisera au maximum les capacités de l'OS. S'il y a des personnes intéressées qui sont prêtes à financer l'idée, la mise en œuvre est possible par les participants actuels au projet.

Parmi les planches déjà disponibles sur le marché, 86Duino convient. Un de nos membres, joueur caché, un téléchargement réussi a été effectué sur 86duino one à l'aide d'une carte VGA Vortex86 (à cet effet, la prise en charge du mode VESA 16bpp dans le noyau a été implémentée par lui dans la révision) et des instructions de téléchargement ont été préparées.

Eh bien, maintenant quelques exemples de l'utilisation réelle de KolibriOS :

Sur la base de ce qui précède, plusieurs domaines d'utilisation peuvent être distingués :

  • "Maison intelligente";
  • Automatisation des processus de production industrielle ;
  • L'électronique embarquée des véhicules (pourquoi pas ?) ;
  • Collecte et traitement d'une grande quantité de données (par exemple, stations météorologiques).

De plus, il convient de noter que MenuetOS / KolibriOS a été installé avec succès dans un guichet automatique et, en principe, il est tout à fait possible d'écrire le logiciel bancaire correspondant.

Texte caché


Cela laisse entrevoir la possibilité d'utiliser Hummingbird OS en remplacement de DOS et d'anciens Versions Windows sur des ordinateurs de divers états. organisations telles que la direction des chemins de fer et la Poste. Dans le même temps, la mise à jour de l'équipement n'est pas du tout nécessaire, mais le logiciel (si disponible) code source) peut être porté.

KolibriOS est un fork de MenuetOS et n'a aucun lien avec la famille UNIX ou la norme POSIX. Le système est écrit dans l'assembleur multi-passes librement distribué fasm. Ce fait garantit une miniaturisation, une vitesse élevée et de faibles exigences matérielles. Un LiveCD amorçable prend environ 7 Mo et les principaux composants peuvent tenir sur une disquette (1,44 Mo).

Mais la légèreté ne signifie pas l'absence de fonctionnalité. Il dispose d'une interface utilisateur basée sur VESA, d'un ensemble de pilotes, d'un navigateur, traitement de texte, éditeur graphique et visualiseur, outils de développement, jeux simples et de nombreux autres programmes. Parmi les systèmes de fichiers, FAT12, FAT16, FAT32 sont entièrement pris en charge et partiellement (lecture seule) - NTFS, ISO9660, Ext2, Ext3, Ext4.

Configuration requise

  • CPU: IntelPentium/ AMD 5x86 / Cyrix 5x86 sans MMX à 100 MHz
  • RAM : 8 Mo
  • Carte vidéo : prise en charge de VGA (mode 640*480*16) ou Vesa
  • Clavier : AT
  • Souris : COM ou PS/2

Périphériques de démarrage pris en charge

  • Disquette 3.5
  • IDE disque dur LBA
  • CD/DVD
  • Clé USB

Les langues disponibles sont l'anglais, le russe, l'italien et l'espagnol.

Installation

  • Sur disquette :
  1. Téléchargement de l'image universelle
  2. Brûler l'image
  • sous Linux :
    • jj if=kolibri.img of=/dev/fd0

  • depuis sous Windows :
    • rawrite2 -f kolibri.img -d A

  • Vers le disque dur (avec GRUB ou GRUB2) :
    1. Téléchargement de l'image universelle
    2. Décompressez-le dans le dossier kolibri à la racine du disque
    3. Configuration du chargeur de démarrage
    • ver. Ajoutez les lignes suivantes à menu.lst :
      • label KolibriOS
        racine( hd0.0)
        noyau /kolibri/HD_Load/memdisk
        initrd /kolibri/kolibri.img

    • GRUB2. Ajoutez les lignes à grub.cfg :
      • titre KolibriOS
        rechercher --no-floppy --fs-uuid --set=root UUID
        linux16 /kolibri/HD_Load/memdisk
        initrd16 /kolibri/kolibri.img

  • Vers la clé USB :
    1. Téléchargement de l'image universelle
    2. Décompressez-le dans n'importe quel dossier
    3. Installation du chargeur de démarrage
    • depuis sous Windows :
      • Exécutez le fichier HD_Load\USB_Boot\inst.exe
      • Copiez kolibri.img à la racine du lecteur flash
    • sous Linux :
      • Installez GRUB2 sur la carte flash : grub-install /dev/sdb
      • Les étapes suivantes sont les mêmes que pour l'installation sur un disque dur.
  • Sur CD :
    1. Télécharger le LiveCD amorçable
    2. Le graver sur un support
    En fait, il existe de nombreuses façons d'installer le système sur un disque dur ou un lecteur flash. Je n'ai indiqué que les plus populaires et me suis concentré sur le fait qu'aucune autre distribution Linux n'existe déjà.

    Et oui, j'allais oublier : (hd0,0), UUID et /dev/sdb sont des variables. Par conséquent, vous devez remplacer ces valeurs par les vôtres. Voici comment les reconnaître :
    (hd0,0). Le premier chiffre est le numéro du disque dur. Le deuxième nombre est le numéro de partition sur le disque dur souhaité. Le comptage commence à partir de 0.
    UUID. ID de la section souhaitée. Vous pouvez l'obtenir avec la commande ls -l /dev/disk/by-uuid sur n'importe quel système Linux.
    /dev/sdb. fichier de périphérique sous Linux. Vous pouvez le trouver à la fois dans le gestionnaire de fichiers et dans la console ou l'utilitaire de partitionnement de disque. Il ressemble à /dev/sdX pour les périphériques SATA et /dev/hdX pour les lecteurs connectés à l'IDE.

    J'espère que vous avez réussi l'installation.
    Si vous avez des questions/problèmes, posez-les dans les commentaires.

    Et maintenant, il est temps de jeter un coup d'œil dans KolibriOS.

    Captures d'écran

    Note: Cliquez sur l'image pour l'agrandir


    Commencez à télécharger KolibriOS


    Sélection d'un mode vidéo dans la liste des modes pris en charge






    Contenu du menu "Jeux" > "Logique"


    Contenu du menu "Jeux" > "Arcade"


    Contenu du menu "Démos" > "3D" (démonstration des capacités du système graphique)


    Contenu du menu "Graphiques"



    Contenu du menu Développer > Échantillons


    Contenu du menu "Système" > "Configuration"


    Contenu du menu "Système" > "Capteurs système"



    Contenu du menu "Système" > "Test"


    Contenu du menu "Système" > "Accessibilité"


    Contenu du menu Traitement des données


    Contenu du menu "Réseau" > "Serveurs"



    Contenu du menu divers





    Sudoku, démineur, dames




    Moniteur système. Ouvert en appuyant sur quelque chose de rouge e dans le bac



    Fenêtre d'achèvement

    L'interface du système présente un intérêt particulier. Après tout, sa taille est extrêmement petite et l'on peut penser que l'interface est misérable. Mais ce n'est pas le cas. Ici, vous devez tenir compte de critères tels que l'apparence et la fonctionnalité. Apparence heureux : il est perçu sur un pied d'égalité avec les gestionnaires de fenêtres dans les systèmes Linux.

    Résultats

    J'ai aimé KolibriOS. Oui, peu de gens l'utiliseront comme système d'exploitation principal. Mais pour moi, c'est devenu un symbole de persévérance, de confiance en soi et de réussite. Depuis 9 ans maintenant, le développement des colibris en assembleur fasm est en marche. Beaucoup a déjà été fait, mais le projet continue de vivre et de se développer. Récemment, par exemple, le support USB est apparu. Et chaque jour (!) Il y a des versions nocturnes qui implémentent de nouvelles fonctionnalités.
    L'un des principaux inconvénients est le manque de programmes familiers. Et ce n'est pas bon. Mais vous pouvez archiver interactif

    KolibriOS tient sur une disquette et démarre en quelques secondes. Il existe environ 200 applications pour cela, et les développeurs voient plusieurs applications réussies pour leur système.

    L'idée d'écrire un système d'exploitation entièrement en assembleur est étrange, mais séduisante. Ses principaux avantages sont des performances exceptionnelles et une petite quantité de code exécutable. Les inconvénients sont également évidents - complexité et liaison rigide à l'architecture de l'ordinateur. Néanmoins, il y a encore des casse-cou.

    Le projet le plus célèbre de ce type est MenuetOS et sa branche KolibriOS, développés principalement en Russie. L'histoire de ces systèmes d'exploitation n'est pas sans intrigue et controverse, et il y a des raisons à cela : premièrement, le projet est gratuit (la licence est la GNU GPL de la deuxième version), c'est-à-dire que ses participants travaillent à but non lucratif, mais pour une idée. Deuxièmement, des décisions telles que le choix de l'architecture du processeur, en raison de la nature du projet, sont dramatiques. Un groupe de développeurs qui décident de changer de plate-forme sont condamnés à une refonte presque complète du code source.

    Comparé à d'autres systèmes d'exploitation, MenuetOS est très jeune. Il a été développé depuis 2000 et a réussi à devenir célèbre dans les cercles de programmeurs (par exemple, l'article "Petite bobine, mais cher" écrit par Yakov Uvarov pour Computerra en 2005). KolibriOS est encore plus jeune - il s'est détaché de Menuet en 2004.

    Pendant ce temps, les développeurs ont réussi à écrire environ 7,5 Mo de code en assembleur pur. À peu près la même taille sont les sources Linux, écrites principalement en C, et ce n'est que le noyau, tandis que le kit de distribution KolibriOS comprend un shell graphique et un petit ensemble programmes d'application(Pour rire, notons que, selon des estimations basées sur la fameuse "fuite" de 2004, le code Microsoft Windows 2000 occupait environ 1,5 Go).

    Dans le même temps, Hummingbird n'est plus une "preuve de concept" ni un jouet, mais un système entièrement fonctionnel pour lequel des programmes sont écrits et qui peut réellement être utilisé pour un certain nombre (bien que pas particulièrement large) de tâches sérieuses.

    Computerra a parlé à deux développeurs de KolibriOS - Dmitry Pereverzev et Igor Solodukha.

    - Qu'est-ce que KolibriOS ?

    Pereverzev : Hummingbird est un petit système d'exploitation avec des fonctionnalités riches. On peut dire que c'est un DOS tellement moderne.

    - Si je comprends bien, pas seulement petit, mais généralement minuscule ?

    Pereverzev : Le noyau prend environ 80 Ko. C'est-à-dire comparable à la taille des dernières versions MS-DOS. Et il y a beaucoup plus de possibilités.

    - Quelle est l'histoire de Colibri ?

    Pereverzev : En 2001, l'étudiant finlandais Ville Turjanmaa a écrit son système d'exploitation en assembleur. En 2004, il a décidé que les ordinateurs trente-deux bits étaient morts et a développé MenuetOS 64, une version soixante-quatre bits de son système d'exploitation. La communauté n'a pas aimé cela et a continué à développer la version trente-deux bits par elle-même. Et lorsque plus de la moitié du code a été modifié, le projet a été nommé "Hummingbird" en l'honneur de l'un des assemblages de systèmes russes.

    - Et qui l'a fait ? Avez-vous déjà participé alors?

    Pereverzev : Je suis venu au projet environ un an plus tard. Ensuite, Marat Zakiyanov s'y est engagé. Kits de distribution collectés du système.

    Est-il dans l'équipe maintenant aussi?

    Pereverzev : Oui, maintenant il est dans l'équipe, il développe le noyau, le gestionnaire de fichiers (son clone Commandant total), boîtes de dialogue de fichiers et visionneuse de graphiques - super zSea.

    - Quel est l'état actuel du développement ?

    Pereverzev : Nous attendons maintenant la sortie nouvelle version, mais le nombre n'a pas encore été déterminé. Le précédent était 0.7.7.0, mais celui-ci sera soit 0.8 soit 0.9. On pense qu'il y a beaucoup de changements par rapport à la version précédente. Par exemple, il y aura un soutien Périphériques USB. Environ un an s'est écoulé depuis la dernière version.

    - Quel genre d'équipe avez-vous? Combien de personnes aident activement ?

    Pereverzev : Il y a maintenant une dizaine de développeurs très actifs et une trentaine de développeurs qui apparaissent de temps en temps sur le forum.

    - Quelle est la géographie ? Les développeurs sont-ils majoritairement russes ?

    Pereverzev : Principalement la CEI, bien qu'il y ait des développeurs belges, russophones d'Angleterre. Je suis moi-même du territoire de Stavropol.

    Quelles sont les caractéristiques de Hummingbird par rapport à d'autres systèmes, y compris par rapport à d'autres systèmes minimalistes ?

    Pereverzev : Comparé à d'autres systèmes minimalistes, Hummingbird est le plus minimaliste ! De plus, parmi les systèmes de la même catégorie de poids, "Hummingbird" est le plus fonctionnel. Par exemple, il existe un bon système, Visopsys, il est aussi compact et tient sur une disquette, mais il ne fait rien.

    Quelles sont les principales différences entre "Hummingbird" et les "grands" systèmes d'exploitation ? Que manque-t-il encore et qu'allez-vous ajouter à cela ?

    Pereverzev : Le support Internet est très important dans monde moderne. Les pilotes TCP/IP et carte réseau sont déjà dans Hummingbird. Maintenant que nous travaillons sur un navigateur, tous les participants d'une manière ou d'une autre font quelque chose pour le faire apparaître. Jusqu'à présent, il n'y a que du texte, avec une prise en charge limitée des graphiques. Il est, bien sûr, encore loin d'être parfait.

    Malt: La présence d'un navigateur signifie de nouveaux utilisateurs et la popularité du système.

    Peut-être qu'un tel système serait généralement populaire en tant qu'analogue de Google ChromeOS - la couche minimale du système d'exploitation plus un navigateur. Comment penses-tu?

    Pereverzev : C'est tout à fait possible, d'autant plus que nous avons déjà une implémentation minimale de Flash. Pas tout à fait complet, mais en assembleur.

    - Quelles autres applications réussies voyez-vous ?

    Pereverzev : Systèmes embarqués, systèmes de collecte d'informations et de contrôle de production, clients légers. De plus, "Hummingbird" peut être un bon système d'exploitation pour les ordinateurs obsolètes.

    Malt: Plus de systèmes qui sont développés pour leur matériel. Des planches sont conçues pour eux à partir de zéro, une branche "Hummingbird A" est en cours d'écriture pour eux maintenant.

    - Quels sont les avantages de Hummingbird, outre la légèreté et la rapidité ?

    Malt: Par exemple, "Hummingbird" peut être chargé non seulement sans disque, mais sans BIOS du tout. Vous allumez l'ordinateur et après le test du matériel, "Hummingbird" apparaît immédiatement. Dans tous les cas, le démarrage prend trois à quatre secondes après la mise sous tension.

    - Quelles architectures sont actuellement supportées ?

    Pereverzev : Désormais, seuls les processeurs x86, c'est-à-dire du 486 au dernier Core i7. Mais uniquement en mode 32 bits.

    - La version soixante-quatre bits existe-t-elle ou est-elle morte ?

    Pereverzev : MenuetOS 64 existe, mais est très éloigné de son ancêtre.

    Est-ce que son autre équipe se développe?

    Pereverzev : Il est généralement développé par une seule personne. Toujours le même étudiant, mais plus étudiant, je suppose. Nous avons maintenant des expériences sur le lancement sur des systèmes multicœurs. Le cœur 32 bits du système s'exécute sur le cœur 32 bits, tandis que le deuxième cœur du processeur s'exécute en mode 64 bits. Voilà, d'une manière intelligente.

    Malt: Oui, le matériel est possible.

    - Avez-vous encore une version en temps réel ?

    Pereverzev : Ce n'est pas tout à fait en temps réel, mais l'auteur du fil lui-même dit qu'avec certains changements sur lesquels on travaille activement actuellement, Hummingbird peut être utilisé pour les systèmes embarqués où le temps de réponse garanti est important.

    Malt: Et maintenant, le temps de réponse est très court. Sur notre forum, vous pouvez consulter les résultats des tests du même programme qui fonctionne directement avec l'équipement sous Windows XP et dans Hummingbird. Dans "Hummingbird" sort beaucoup plus vite. Or, pour mettre en place un véritable « temps réel », il est nécessaire de prévoir un temps de réponse garanti.

    - Comme Hummingbird avec le support de divers chipsets (y compris la vidéo) ?

    Pereverzev : VESA est pris en charge par toutes les cartes vidéo modernes, et nous avons également un port Linux Pilotes ATI et il prend même en charge les dernières Cartes graphiques ATI. C'est bien sûr lourd - cela prend plus de 100 kilo-octets, mais cela vous permet d'utiliser n'importe quel mode vidéo et même accélération matérielle. De plus, il est régulièrement mis à jour.

    - Et qu'est-ce qui est pris en charge depuis la périphérie ?

    Pereverzev : Les périphériques ne sont pas mauvais non plus - il existe un support USB, c'est-à-dire que les claviers et les souris fonctionnent.

    - Qu'est-il prévu d'ajouter dans un avenir prévisible ?

    Pereverzev : C'est difficile à dire, tout dépend du temps personnel des développeurs.

    Malt: Maintenant, par exemple, une personne est apparue sur le forum qui semblait vouloir implémenter Unicode, a au moins soulevé une telle question.

    Quel est l'encodage maintenant ?

    Pereverzev : Maintenant dans le système 866 de facto, modifié pour prendre en charge le russe, l'ukrainien, l'estonien, le letton et plusieurs autres langues. Mais le système de fichiers utilise Unicode, nous y passons donc lentement.

    - Au fait, quels systèmes de fichiers sont pris en charge ?

    Pereverzev : FAT12, 16 et 32 ​​- pour l'écriture et la lecture, plus ISO 9660 (ce sont des CD), et NTFS, Ext2 et Ext3 sont pris en charge pour la lecture.

    - Comment le multitâche est-il implémenté dans Hummingbird ?

    Pereverzev : Vous pouvez créer des threads, mais il n'y a pas de processus en tant que tels. Un processus est un ensemble de threads avec un espace d'adressage commun.

    Qu'en est-il de la mémoire protégée ?

    Malt: Il existe une norme de protection des pages pour l'architecture x86.

    - Interaction interprocesseur implémentée d'une manière ou d'une autre ?

    Pereverzev : Il y a IPC et il y a de la mémoire partagée. Autrement dit, vous pouvez créer une image de mémoire partagée et partager des données entre les applications. Il existe également un presse-papiers à l'échelle du système.

    - Vous avez mentionné qu'il existe environ deux cents programmes pour Hummingbird ...

    Pereverzev : En fait, il y en a beaucoup plus. Deux cents sujets d'actualité qui fonctionnent bien.

    - Quels sont ces programmes ?

    Pereverzev : Selon les statistiques, la plupart des jeux - plus d'une centaine.

    - Quels jeux?

    Malt: Surtout des petits jeux de logique.

    - Porté à partir de quels autres systèmes ?

    Malt: Non, c'est écrit pour Hummingbird.

    Pereverzev : En fait, écrire un jeu est beaucoup plus facile que de faire quelque chose de sérieux comme du texte ou éditeur graphique. Par conséquent, les programmeurs s'essayent souvent à de petits jeux.

    Malt: Il existe des analogues de jeux d'autres systèmes - "sapeurs", solitaire, etc. Ils ont été écrits pour Hummingbird à partir de rien. Mais il y a aussi programmes utiles- quelques gestionnaires de fichiers, y compris clone Windows Explorer, un clone de Far Manager et Total Commander.

    - Avez-vous porté quelque chose de jeux célèbres ?

    Pereverzev : Il y a Quake et Doom. Les émulateurs incluent DOSBox et l'émulateur Nintendo. Au fait, vous pouvez exécuter Windows 98 dans DOSBox - je l'ai essayé. Il existe une implémentation du langage Lua lui-même dernière version- 5.2. Il existe un rendu des polices Freetype et Mesa 3D - une implémentation des bibliothèques OpenGL. Une chose très importante : il existe des codecs ffmpeg. Fait intéressant: sur une machine faible, vingt à trente vidéos ont été lancées en même temps, et la charge du processeur n'a pas dépassé 50 %. Dans Hummingbird, il s'est avéré assez difficile de charger complètement le processeur.

    - Sur quoi les programmes sont-ils principalement écrits ?

    Pereverzev : En assembleur.

    - N'écrivent-ils pas du tout dans des langages de haut niveau ?

    Pereverzev : Parfois, ils écrivent ou portent quelque chose en C ou en Pascal. Il existe plusieurs programmes Lua.

    Malt: Je me souviens encore que l'un des gars écrit dans une langue comme Sphinx C--.

    Pereverzev : Soit dit en passant, c'est une langue curieuse. C'est C, comme il pouvait l'être autrefois. Il était une fois, C était un traducteur en assembleur, et C-- le resta, juste ajouté du sucre syntaxique dans le style du langage C. Il contient de nombreux programmes intéressants.

    - J'ai entendu dire qu'il y avait une implémentation Python.

    Malt: Il y a tinypy, mais il n'y a pas encore de programmes dessus, et il ne fonctionnera pas dessus pour exécuter un programme Python arbitraire sans modifications. Certaines fonctionnalités importantes du langage manquent, telles que les générateurs et les tuples.

    - Machines virtuelles Il y a? Y avait-il des idées, par exemple, pour porter Java ?

    Pereverzev : Maintenant, on parle de la faisabilité de cela. En principe, c'est techniquement possible. En général, j'ai même compilé moi-même l'implémentation de référence de Sun dans Hummingbird, mais la licence ne permet à personne de la montrer.

    - Avez-vous des idées sur l'application commerciale de "Hummingbird" ?

    Malt: Nous coopérons avec la société israélienne Green Gadgets, qui produit des ordinateurs eBox et Edubook. Le profil principal de l'entreprise est constitué de gadgets à faible consommation d'énergie pouvant même fonctionner sur piles. Par exemple, la eBox-3300 sur laquelle nous avons montré Hummingbird ne consomme qu'environ 4,5 watts. Il n'a ni disque dur, pas de ventilateurs, il est complètement silencieux.