English version

RISC OS

Voici une liste (certainement non exhaustive) de caractéristiques du système d'exploitation d'Acorn, RISC OS, qui font de lui un système intuitif, agréable à utiliser et permettant d'être très productif. Il s'agit en fait principalement de l'interface graphique. Notez que la plupart de ces caractéristiques étaient présentes dès le début, dans RISC OS 2 (sorti en 1989), et certaines ont été ajoutées avec RISC OS 3 (1992) ou sous forme d'extensions système.

La souris

Elle a 3 boutons, utilisés de manière cohérente entre les diverses applications: chaque bouton a un nom qui désigne globalement sa fonction; de gauche à droite: Select, Menu, Adjust. Le bouton Menu sert presque toujours à afficher un menu contextuel; il n'y a pas de barre de menu sous RISC OS, uniquement des menus contextuels, ce qui permet d'accéder à un menu très rapidement, sans avoir à déplacer la souris. Le bouton Select permet de faire les opérations courantes, de même que le bouton Adjust mais généralement avec une petite différence (suivant le contexte).

Par exemple, on peut utiliser Select ou Adjust pour sélectionner un objet, la différence étant qu'avec Adjust l'objet est ajouté à la sélection. Autre différence: tous deux permettent de déplacer une fenêtre (quand ils sont utilisés sur la barre de titre) ou de changer sa taille, mais Select fait passer la fenêtre au premier plan, tandis qu'Adjust ne change pas la profondeur de la fenêtre. Lorsqu'il y a une notion de sens, par exemple quand on clique sur une flèche pour modifier une valeur, Select changera la valeur dans la direction voulue, et Adjust dans la direction opposée; cela permet de diminuer les déplacements de la souris. C'est particulièrement intéressant lorsque l'on clique dans une barre de scrolling pour aller à la page suivante ou à la page précédente.

De manière interne, un clic est toujours reporté comme événement, même s'il s'agit finalement d'un double-clic. Cela permet aux applications de réagir immédiatement au clic sans avoir à attendre le second clic éventuel pour savoir s'il s'agit d'un double-clic. De même, lorsque l'on clique sur un bouton (d'une boîte de dialogue...), l'événement est reporté dès que le bouton est enfoncé, et non pas lorsqu'il est relaché.

Les fenêtres

Évidemment, les widgets (icônes, dans la terminologie RISC OS) peuvent être présents ou non. Toutes les opérations (déplacement, changement de taille, etc.) se font en temps réel. Par exemple, quand on déplace une fenêtre, toute la fenêtre bouge, on n'a pas un fantôme de la fenêtre comme avec certaines interfaces graphiques; et les fenêtres situées sous la fenêtre déplacée se réactualisent immédiatement, parce qu'il s'agit d'une tâche considérée par le système comme prioritaire.

La taille d'une barre de scrolling reflète la proportion visible du document. Les barres de scrolling sont collantes: si vous êtes en train de scroller avec la souris, le pointeur de la souris reste sur la barre.

On peut scroller dans les deux directions (horizontale et verticale) en même temps, en utilisant le bouton Adjust au lieu du bouton Select. C'est très utile pour les logiciels de dessin, en particulier.

Si, lors d'un agrandissement d'une fenêtre, on est bloqué par le bord de l'écran, alors la fenêtre s'agrandit automatiquement dans la direction opposée. Cette fonctionnalité permet encore d'éviter des déplacements de souris inutiles.

Enfin, la fenêtre active (qui a le focus) n'est pas forcément celle située au premier plan comme avec certaines interfaces graphiques. Cela peut être une fenêtre quelconque.

Les fontes

Les fontes sont vectorielles antialiasées (sauf si l'utilisateur demande une fonte bitmap), ce qui permet d'avoir une grande qualité d'affichage du texte. Dans les versions les plus récentes de RISC OS, le Font Manager tient compte de la couleur du fond pour faire de l'antialiasé (ce qui n'était pas le cas à l'origine).

Les menus

Les menus sont contextuels. Ils s'affichent normalement en cliquant avec le bouton Menu de la souris, mais aussi avec Select ou Adjust au-dessus de certaines icônes.

La sélection d'une entrée d'un menu se fait avec le bouton Select ou Adjust. La sélection avec Adjust permet de garder le menu et les sous-menus ouverts; cela fait gagner beaucoup de temps dans certains cas, comme un essai de plusieurs options, ou alors une sélection de tous les objets (Select all) puis une opération sur ces objets (sous-menu Selection). Note: les boîtes de dialogue ont souvent le même comportement, ce qui permet, par exemple, de choisir entre fermer ou non automatiquement la fenêtre de configuration lorsqu'on applique les options (bouton Set) ou lorsqu'on les applique et les sauve (bouton Save).

Les communications inter-applications

L'utilisateur transfère des données entre les applications par drag'n-drop. C'est en particulier le cas pour charger et sauver des fichiers. Il n'y a pas de sélecteur de fichiers comme avec d'autres interfaces graphiques; à la place, il y a une application particulière, appelée filer, qui représente les différents répertoires dans des fenêtres (très classique...), et les opérations de chargement et de sauvegarde de fichiers se font par drag'n-drop entre l'application et le filer. Cela peut être vu comme un cas particulier d'importation/exportation (en fait, c'est juste une communication entre deux applications). C'est très pratique et très intuitif, et cela permet de diminuer le nombre d'opérations définies par une application (entrées dans les menus, icônes sur une barre d'outils, ou raccourcis clavier).

Les communications se font de manière interne par un système de messages. Les applications communiquent ainsi beaucoup entre elles. Cela leur permet de faire juste ce pour quoi elles sont conçues, et de ne pas avoir de fonctionnalité inutile, ce qui simplifie leur utilisation.

Les résolutions graphiques

Elles sont entièrement configurables au pixel près pour la résolution verticale et à deux pixels près pour la résolution horizontale. On peut changer de mode écran n'importe quand, et les applications se réadaptent automatiquement au nouveau mode écran.

Les modes écran peuvent être soit à pixels carrés, soit à pixels rectangulaires (hauteur double de la largeur). Les modes écran à pixels rectangulaires permettent d'avoir de hautes résolutions horizontales, quand l'écran est limité en résolution verticale (limite sur la fréquence horizontale). Par exemple, sur mon écran, je peux avoir du 1440 × 560 à 116 Hz ou du 1600 × 600 à 96 Hz, alors que pour du 1024 × 768, je suis limité à 75 Hz. Il y a un facteur d'échelle (EIG) utilisé en interne et permettant de faire apparaître le 1600 × 600 comme du 1600 × 1200 ou comme du 800 × 600 entre autres.

La barre d'icônes

Il y a une barre d'icônes au bas de l'écran. Lorsque l'utilisateur lance une application, celle-ci fait apparaître une icône sur cette barre (sauf cas particulier), ce qui permet d'accéder rapidement à l'application (pour ouvrir une nouvelle fenêtre, faire un drag'n-drop vers cette application, etc.).

Les allocations mémoire

Il est possible de changer (avec la souris) la taille de divers buffers à tout moment: cache fontes, tas/pile système, etc.

Les fichiers

Les fichiers sont typés. En général, un double-clic sur un fichier lance l'application correspondante si elle n'est pas déjà chargée.

On peut définir des systèmes de fichiers image, qui consistent à pouvoir voir un fichier comme un répertoire; c'est très utile pour les archives, que l'on peut manipuler ainsi comme des répertoires, et pour des conversions à la volée de formats de fichiers (images, vidéo, etc.), de manière entièrement transparente.

Les icônes (sprites)

Sous RISC OS, le terme icône peut aussi bien désigner une image que du texte. Pour les images en particulier, c'est le terme sprite qui est utilisé. Tous les sprites système peuvent être redéfinis par l'utilisateur (ou une application faite pour cela), ce qui permet de changer complètement le look du bureau.

À chaque type de fichier correspond une icône... en fait, deux: une grande icône et une petite icône. En général, lors d'un drag'n-drop, une grande icône correspondant à un type de fichier (type des données manipulées) apparaît, et cette icône est transparente (cela est implémenté par l'affichage d'un pixel sur deux).

Note: le pointeur de souris est aussi une icône, que l'utilisateur peut redéfinir et qui peut être transparente.

Les patches

RISC OS a été conçu de manière à pouvoir le patcher ou ajouter des extensions très facilement, en ajoutant des modules, pour corriger d'anciennes fonctionnalités ou en ajouter de nouvelles. Il y a par exemple un patch qui permet de scroller depuis n'importe quel endroit d'une fenêtre, en laissant le bouton Menu enfoncé. Cela fait gagner beaucoup de temps! Et comme le bouton Menu est plus ou moins réservé par le système, ce patch est compatible avec toutes les applications.

Les applications

Les applications sont en fait des répertoires (dont le nom commence par un !), ce qui évite d'éparpiller les données sur le disque et permet une installation ou désinstallation très facile (copie/effacement d'un répertoire), ou même de lancer une application directement depuis une archive, grâce aux systèmes de fichiers image. Dans un tel répertoire, il y a des fichiers correspondant à diverses opérations (les noms de fichier ci-dessous sont les mêmes pour toutes les applications):

!Boot
Généralement un script. Il est exécuté lorsque l'application est vue par le filer pour la première fois (ouverture du répertoire contenant l'application) ou lors de l'amorçage du système. Il a pour but de positionner certaines variables système. Cela a un inconvénient: une application peut aller jusqu'à planter le système sans pour autant être lancée (le cas s'est déjà vu); il faut donc avoir confiance en ce qu'on installe sur disque.
!Run
Généralement un script. Il est exécuté lorsque l'application est exécutée (double-clic sur l'icône de l'application, par exemple). Il met généralement en place certaines variables système, peut charger des modules ou s'assurer qu'ils sont présents, et lance l'application elle-même.
!Help
Généralement un fichier texte (peut être aussi du HTML). Mais c'est parfois un script (en particulier pour charger le fichier d'aide dans une langue donnée).
!Sprites
Ce fichier contient des images pour voir l'application et les fichiers de type qu'elle définit, sous forme d'icônes (sprites) dans les fenêtres du filer.

Il y a d'autres fichiers, dont en général (les noms ci-dessous ne sont pas obligatoires, mais la plupart des applications les utilisent):

!RunImage
Application elle-même. Il s'agit souvent de code machine, mais cela peut aussi être du BASIC, etc.
Messages
Textes des différents messages. Ils sont dans un fichier séparé de l'application elle-même de manière à faciliter la traduction dans d'autres langues (sans avoir besoin de recompiler l'application).
Templates
Ce sont les templates, pouvant être créés et modifiés par un éditeur de ressources (fenêtres avec leurs éléments).
Sprites
Images (icônes) utilisées par l'application.

Les applications sont aussi très bien faites et prennent relativement peu de mémoire (elles n'ont pas de fonctionnalité inutile et sont bien optimisées). Il y a un Style Guide qu'elles doivent suivre, ce qui fait que tout est très cohérent.

Le processeur ARM

Une petite note à propos du processeur, puisque RISC OS est très lié à ce processeur...

Acorn a conçu le processeur ARM (Acorn Risc Machine, devenu plus tard Advanced Risc Machine) au milieu des années 80, car aucun autre processeur ne leur convenait à cette époque. Comme ils n'avaient pas beaucoup d'argent et avaient une très petite équipe de développement, ils ont dû faire un processeur très simple... mais rapide, pas cher et à basse consommation. C'est ce qui fait le succès de l'ARM actuellement.

RISC OS a été écrit pour l'ARM (en tenant compte des astuces permises par le jeu d'instructions de ce processeur), et une grande partie de RISC OS est écrite directement en assembleur, ce qui explique une part de sa rapidité (à l'époque, un compilateur n'aurait pas pu prendre en compte toutes les astuces possibles). Mais en contrepartie, RISC OS n'est pas portable sur la plupart des machines.

Des informations supplémentaires concernant le processeur sont disponibles sur le site d'ARM Ltd ou dans un article de Paul DeMone.

Notes concernant cette page

Ce document a été conçu à partir de mails et d'articles de news que j'avais écrits (principalement fin 1998). Il a été mis en ligne le 17 janvier 1999.

Quelques snapshots

Le futur

Acorn n'existe plus. Mais RISC OS a un futur...

Sociétés qui devraient sortir des machines sous RISC OS:

Autres projets relatifs à RISC OS (en cours de développement):



Valid XHTML 1.0! Level Double-A conformance icon, W3C-WAI Web Content Accessibility Guidelines 1.0.
Dernière modification:
webmaster@vinc17.org