Journal Bellard strikes again: QuickJs, un moteur JavaScript

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
55
13
juil.
2019

Fabrice Bellard récidive, cette fois ci avec un moteur JavaScript qui a l'air plutôt complet et supportant les dernières versions de la norme.

Son nom est QuickJs.

https://bellard.org/quickjs/

J'adore les moteurs JavaScript que l'on peut enfouir dans un exécutable C++, cela permet d'ajouter une couche scriptable à une application. J'utilise depuis longtemps Duktape, une perle, qui me permet même de gagner des sous.

A tester et benchmarker, ce que je compte faire la semaine prochaine si j'ai le temps.

Revue de presse de l'April pour la semaine 4 de l'année 2015

22
27
jan.
2015
Internet

La revue de presse de l'April est régulièrement éditée par les membres de l'association. Elle couvre l'actualité de la presse en ligne, liée au logiciel libre. Il s'agit donc d'une sélection d'articles de presse et non de prises de position de l'association de promotion et de défense du logiciel libre.

Sommaire

FFmpeg 1.0

Posté par  (site web personnel) . Édité par Davy Defaud, Nils Ratusznik, Xavier Teyssier et claudex. Modéré par patrick_g. Licence CC By‑SA.
Étiquettes :
50
4
oct.
2012
Audiovisuel

D’après Wikipédia :

FFmpeg est une collection de logiciels libres dédiés au traitement de flux audio ou vidéo (enregistrement, lecture ou conversion d’un format à un autre).

Ce projet a été créé par Fabrice Bellard en 2000, et est maintenant maintenu par Michael Niedermayer. […] Le choix de la licence GNU LGPL ou GNU GPL dépend du choix de configuration d’options.

FFmpeg tourne sous rien de moins que GNU/Linux, FreeBSD, NetBSD, OpenBSD, Mac OS X, Windows, AmigaOS et MorphOS. Il est, entre autres, utilisé par VLC, MPlayer, Blender, Chrome et bien d’autres logiciels.

La version 1.0, publiée le 2012-09-28 (format ISO 8601), nom de code Angel, apporte un certain nombre de changements. Citons notamment :

  • prise en charge complète de la famille RTMP (Real Time Messaging Protocol) : RTMPT, RTMPS, RTMPTS, RTMPE et RTMPTE (protocole réseau propriétaire, développé par Adobe Systems, pour la diffusion de flux de données audio, vidéo ou autres, entre un serveur et un client, généralement le lecteur Flash) ;
  • RTSP (protocole de diffusion de flux vidéo) en mode écoute ;
  • RTP empaquetage et désempaquetage du JPEG ;
  • via bibliothèques :
    • codage‐décodage iLBC, via libilbc,
    • codage AAC, via libfdk-aac,
    • décodage Opus (codec audio libre), via libopus,
    • sortie mode texte « art ASCII », via libcaca.

Si l’on parle de FFmpeg, on doit aussi sans doute parler du fork Libav : celui‐ci est désormais intégré à Debian + Ubuntu, ainsi que dans Gstreamer. Voir sur libav.org.

Journal Linux dans votre navigateur web

Posté par  . Licence CC By‑SA.
56
17
mai
2011

Après, entre autre, Qemu, Ffmpeg, Tcc et après avoir calculé le plus grand nombre de décimales de Pi, Fabrice Bellard nous livre cette fois-ci, un émulateur x86 tournant dans un navigateur web. Pour tester, il vous faudra utiliser soit FF4 soit Chromium. (A noter: l'exécution dans FF est environ 2 fois plus rapide.)

L'image disque est un ramfs qui contient un système de fichiers créé avec buildroot contenant busybox. Le noyau est un 2.6.20. Pour l'instant, il (…)

Fabrice Bellard bat le record des décimales de Pi

Posté par  . Modéré par Bruno Michel.
48
5
jan.
2010
Science
Fabrice Bellard, bien connu ici pour être entre autre l'auteur de QEMU, vient de battre le record de calcul du nombre de décimales de Pi. Il a calculé environ 2 700 milliards de décimales de ce nombre magique.

La performance vient surtout du matériel utilisé : Fabrice a utilisé un ordinateur de bureau tournant sous Fedora 10, alors que le précédent record, ayant calculé environ 2 577 milliards de décimales, avait utilisé un supercalculateur japonais (113 téraflops en pointe soit la quarante-deuxième position au dernier Top500).

kqemu devient libre, qemu 0.9.0

Posté par  (site web personnel) . Modéré par Nÿco.
Étiquettes :
0
6
fév.
2007
Virtualisation
Fabrice Bellard, auteur (entre autres) de QEMU et KQEMU, vient de libérer KQEMU et de publier la version 1.3.0pre10 sous licence GPLv2 simultanément à la sortie de la version 0.9.0 de l'émulateur.

QEMU est un émulateur portable, permettant d'émuler de nombreuses plateformes (x86, x86_64, PPC, ARM, MIPS...) sur de nombreux systèmes. KQEMU est un module permettant d'exécuter nativement le code x86 sur x86, en se contentant de transformer ou d'intercepter les instructions qui auraient dû être privilégiées, permettant ainsi une amélioration importante de la performance par rapport à de l'émulation pure. Il s'agit d'une approche similaire à ce que fait VMware, produit propriétaire.

NdM : comme le précisait la dépêche DLFP au moment de la sortie, Fabrice Bellard avait promis de publier du code de KQEMU si une entreprise acceptait de le rétribuer financièrement.

NdM : Merci à Sytoka Modon pour avoir également proposé l'info.

Virtualisation complète avec kqemu

Posté par  (site web personnel) . Modéré par Jaimé Ragnagna.
0
31
mar.
2006
Noyau
Fabrice Bellard a encore frappé, lundi 27 mars est sortie une nouvelle version de kqemu, le module noyau d'accélération de qemu.

Passant directement de la version 0.7.2 à la version 1.3.0pre5, alors que la version officielle de qemu est la 0.8.0, ce module nous propose rien que moins que la virtualisation complète d'un OS (système d'exploitation).

Petit rappel : qemu est un émulateur qui fonctionne sous deux modes : émulation d'un système complet ou émulation sous Linux d'un programme conçu pour un autre CPU (par exemple, cela permet de faire tourner wine sous PowerPC sans avoir à installer une machine virtuelle).

La nouvelle version du module d'extension non libre kqemu nous propose deux modes :
- le mode normal où les applications utilisateurs sont transmises telles quelles au CPU d'où un gain très appréciable de temps, le noyau de l'OS virtuel étant émulé dans la machine qemu
- le nouveau mode de virtualisation complète (full virtualization mode). Dans ce mode, les applications utilisateurs mais aussi l'OS de la machine virtuelle sont directement exécutés par le CPU !

Les gains de temps à espérer de ce dernier mode vont faire du couple qemu+kqemu un outil indispensable (s'il ne l'était déjà). D'après Fabrice Bellard, cette virtualisation ne fait courir aucun risque à la machine hôte. Cependant, tous les OS ne peuvent pas forcément fonctionner sous ce mode. Linux, Windows 2000 et XP ont déjà été validés.

Avec qemu au coté de Xen, la virtualisation des systèmes d'exploitation devient chaque jour une réalité à la portée de tous.

NdM : Qemu est libre et sous licence GPL, mais le module d'accélération est propriétaire, voir license.html.

Un émetteur TNT avec un simple PC : c'est possible !

Posté par  . Modéré par Jaimé Ragnagna.
Étiquettes :
0
14
juin
2005
Audiovisuel
La Télévision Numérique Terrestre étant à l'ordre du jour, pourquoi ne pas émettre vous-même un signal compatible à partir de votre PC ? C'est maintenant possible grâce au dernier projet de Fabrice Bellard.

L'idée consiste à envoyer une image judicieusement choisie à la carte VGA du PC. Cette dernière convertit l'image en un signal analogique qui se trouve être exactement celui correspondant à deux chaînes TNT sur le canal 5 en VHF.

La puissance étant très faible, il n'y a aucun risque de brouillage, mais les férus d'électronique pourront facilement augmenter la puissance, à titre expérimental bien sûr, l'émission sur les bandes de fréquence TV étant strictement réglementée.

Sortie de l'émulateur Qemu 0.7.0

Posté par  (site web personnel) . Modéré par Nÿco.
0
31
mai
2005
Noyau
Après plus de 6 mois de développement, une nouvelle version de Qemu est sortie fin avril. Qemu est un émulateur fonctionnant dans deux modes différents. Le premier mode permet d'émuler une architecture matérielle complète : le processeur ainsi que les périphériques matériels comme les disques, les cartes réseau, les ports séries, etc. Ce mode permet d'exécuter un système d'exploitation complet, et se rapproche de ce que permet l'émulateur Bochs. Le second mode, fonctionnant sous GNU/Linux uniquement permet d'exécuter des binaires prévus pour une architecture donnée sur une autre architecture : l'émulation n'a lieu que pour un processus particulier.

Le premier mode permettant d'exécuter un système d'exploitation complet, il est parfait pour tester de nouveaux systèmes, réaliser le débogage de modules noyau ou simuler des réseaux composés de machines virtuelles. Le second mode permet par exemple aux possesseurs d'architectures non-x86 d'exécuter des applications propriétaires compilés pour x86 lorsque cela est nécessaire.

Qemu étant indépendant du processeur émulé, il supporte l'émulation de différentes plateformes. L'émulation des processeurs x86 et PPC est complète, et l'émulation des processeurs x86_64, ARM ou SPARC sont à des états plus ou moins avancés. D'autre part, Qemu utilise une technique de traduction dynamique, qui consiste à transformer le code binaire de l'architecture cible en code binaire pour l'architecture hôte. Cette traduction étant effectuée une fois pour toutes pour chaque partie de code, la vitesse d'émulation est grandement améliorée par rapport à un émulateur classique comme Bochs.

Par ailleurs, la version 0.7.0 permet d'utiliser un module noyau, kqemu qui permet d'accélérer encore plus l'émulation, en permettant l'exécution de parties du code directement sur le processeur. Ce module ne fonctionne que si l'on émule un PC sur un PC et est livré sous licence propriétaire. Son auteur, Fabrice Bellard, qui est aussi le développeur principal de Qemu, recherche en effet un sponsor pour le développement de Qemu et kqemu. L'utilisation de cette licence propriétaire a provoqué de vives discussions sur la liste, certains défendant le bien-fondé de la démarche du développeur, d'autres la rejetant. Parallèlement, Paul Brooks a créé un projet expérimental pour développer un module aux fonctionnalités similaires à kqemu, mais distribué sous licence GPL: qvm86.

En dehors de ce support de kqemu, la version 0.7.0 apporte quelques nouveautés ou améliorations comme le support initial de l'architecture x86_64, une amélioration du support SPARC qui permet maintenant de démarrer Linux, le support de l'émulation du port parallèle, des instructions MMX, SSE, SSE2 et PNI, l'amélioration du support ARM, et l'intégration d'un code émulant une unité de calcul en virgule flottante.

KQEMU : un module d'accélération pour QEMU

Posté par  (site web personnel) . Modéré par rootix.
Étiquettes :
0
22
fév.
2005
Communauté
Fabrice Bellard, l'auteur de QEMU l'émulateur libre de machines, a publié un module d'accélération : il permet de faire tourner le code des applications des OS invités directement sur le processeur hôte dans le cas d'une émulation x86 sur plateforme x86. Ce module d'accélération permet un gain en performances d'un facteur 5 par rapport à un QEMU classique.

QEMU Accelerator (KQEMU) se présente sous la forme d'un module pour Linux 2.4.x (>=2.4.19) et 2.6.x. Disponible sur plateforme x86 pour l'instant, le port est prévu vers l'architecture x86_64 et les systèmes d'exploitation Windows et *BSD.

Pour l'instant, ce module est propriétaire : le binaire est gratuit, le code-source n'est pas disponible et l'utilisation commerciale autorisée, la redistribution nécessitant l'accord de l'auteur. Fabrice étant libriste, il souhaite publier ce module sous licence libre à condition qu'une entreprise le rétribue financièrement.

Journal Kqemu

Posté par  .
Étiquettes :
0
22
fév.
2005
Non ce n'est pas la GUI kde pour qemu, mais c'est un module noyau[1] qui permet de faire de la virtualisation avec qemu et donc de boster l'execution jusqu'a un rapport 1/2 a une execution native.

Par contre le module n'est pas pour le moment sous licence libre.

D'ailleurs dans quelle mesure a ton le droit de lier au kernel (GPL) du code non libre, surtout quand celui-ci peut inclure du code GPL sans le vouloir a travers d'include et (…)

« Autocompiler » son noyau au démarrage avec TCCBoot

Posté par  (site web personnel) . Modéré par Benoît Sibaud.
Étiquettes :
0
27
oct.
2004
Noyau
À ceux qui trouvent que le noyau Linux démarre bien trop vite, Fabrice Bellard propose une solution : TCCBoot. Il s'agit d'un petit noyau (indépendant de Linux) qui contient le petit-compilateur C "TCC" du même F. Bellard. Une fois chargé, celui-ci compile les sources qu'on lui fournit dans une image ROMFS et exécute le binaire résultant. Si les sources en question sont celles du noyau Linux... alors TCC compile Linux à chaque démarrage.

Ça ne sert à rien mais c'est beau !