EP1807756A1 - Dispositif d'optimisation et de mise en route d'une application commandee par un calculateur a systeme d'exploitation multitache - Google Patents

Dispositif d'optimisation et de mise en route d'une application commandee par un calculateur a systeme d'exploitation multitache

Info

Publication number
EP1807756A1
EP1807756A1 EP05799044A EP05799044A EP1807756A1 EP 1807756 A1 EP1807756 A1 EP 1807756A1 EP 05799044 A EP05799044 A EP 05799044A EP 05799044 A EP05799044 A EP 05799044A EP 1807756 A1 EP1807756 A1 EP 1807756A1
Authority
EP
European Patent Office
Prior art keywords
operating system
application
functions
optimizing
starting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
EP05799044A
Other languages
German (de)
English (en)
Inventor
Didier Puentes
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales SA
Original Assignee
Thales SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thales SA filed Critical Thales SA
Publication of EP1807756A1 publication Critical patent/EP1807756A1/fr
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Definitions

  • the present invention relates to a device for optimizing and starting an application controlled by a multitasking operating system computer (SE).
  • SE multitasking operating system computer
  • the subject of the present invention is an optimization and start-up device (device A) of an application controlled by a multitasking operating system computer, a device which makes it possible to make modifications to the SE with minimal impact on the applications it manages, this device being operational in the shortest time possible after the start of the hardware it manages.
  • the present invention furthermore comprises a tool (designed to generate this device A), as automatic and intuitive as possible, intended to obtain a removable self-bootable medium ("self-bootable” in English), such as a CD-ROM. , allowing the automatic installation of the operating system and applications to be managed on the target computer managing these applications.
  • a tool designed to generate this device A
  • self-bootable in English
  • the device according to the invention is characterized in that it comprises a software layer between the operating system and the application, this software layer comprising:
  • One of the advantages of the invention is that the software layer is automatically loaded into the application management computer from information provided by the application in question and selecting on a removable medium the functions to be installed from among a set of functions provided. for several different applications.
  • FIG. 1 is a simplified block diagram of FIG. an application system incorporating the device according to the invention.
  • FIG. 2 is a chronogram of the main steps of the startup process of the application system of FIG.
  • FIG. 1 there is shown the essential elements of an application system implementing the invention.
  • This application system 1 comprises an existing software application 2 associated with any hardware (measuring device, telecommunication, electromechanical equipment, .%) not shown and here called "application hardware".
  • the application 2 is managed by at least one computer having its own operating system.
  • This software application is supported by any language (ADA, JAVA, CORBA, C, C ++,).
  • the application 2 communicates with a software layer 3 which has three main functions:
  • the application 2 and the layer 3 communicate with each other directly, and possibly via an optional software component 4 providing exactly the same role as the Unix component Xl 1, but with processors of Intel X86 type).
  • the application system 1 further comprises a set of hardware components (5), such as a graphics card (6), conventional peripherals (7) (such as disk and / or diskette drives, CD-ROM drives). , optical disks, ....), and specific peripherals (such as input / output cards, special displays, ).
  • These hardware components are managed by appropriate drivers ("drivers" in English), respectively referenced in their set 6A to 8A. These drivers communicate bi-directionally with the software layer 3.
  • the application system 1 uses a Linux kernel that communicates with the layer 3 and all the hardware 5, as well as the 9A set of Unix or Linux functions (Unix basic commands to interact with the hardware).
  • Application system 1 therefore consists of an "intermediate software layer", the “Slushware” that manages the hardware and all the custom GNU / Linux software components (daemons), which minimizes the impact of subsequent modifications (evolutions). operating system or hardware) on this application 2.
  • the Linux operating system kernel is loaded (LILO procedure step 12). Then, the Linux operating system starts (13) to supervise the application system. After booting the operating system, the active "Slushware" (14)
  • step 15 step 14 (step 14 is a complement to step 15)
  • the "Slushware” manages the BITE functions that perform the online tests (on-line).
  • the layer “Slushware” provides the following functions:
  • the embedded operating system (Linux in this case) and the various software components of the application system are loaded from a removable medium (a CD-ROM or an equivalent type , in this case) in the computer managing the application system of FIG. 1, the choice of the application system is made via a dialogue between the computer and the installation program.
  • This installation mode is particularly advantageous when one must install several application systems on various different materials.
  • the installation CD-ROM includes all the options of the application system necessary for the installation of this system on the different hardware and / or computers to equip.
  • This CD-ROM is produced using a specific tool running on a workstation from a master version of the operating system, called "master distribution”.
  • This CD-ROM contains, for the installation of each application system, the following components:
  • the CD-ROM realization tool takes advantage of the possibilities offered by the "El Torito" format defining the characteristics of self-starting CD-ROMs for making such a CD-ROM.
  • This CD-ROM performs the appropriate installation operations using a small version of the GNU / Linux operating system (for example, approximately 2.88 MB) which is run from this CD-ROM.
  • the "Slushware” also has the role of automatically customizing and optimizing the standard functions relating to the startup of the GNU / Linux operating system, and In particular, it overwrites standard scripts when installing the application system and replaces them with optimized application system startup scripting, task scheduling and application launching (see appendix below). ).
  • APPENDIX Simplified example of an optimized script.
  • the lean operating system is based on a "System V" architecture.
  • This architecture is based on a / etc / inittab script that contains the configuration of the program / sbin / init and one or more scripts to start the appropriate services: /etc/rc.d/rc.S

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

La présente invention est relative à un dispositif d'optimisation et de mise en route d'une application commandée par un calculateur à système d'exploitation multitâche, dispositif qui permet d'apporter des modifications au système d'exploitation avec un impact minime sur les applications qu'il gère, et il est caractérisé en ce qu'il comporte une couche logicielle (3) entre le système d'exploitation (9) et l'application (2), cette couche logicielle comprenant des fonctions d'optimisation du démarrage de l'application, des fonctions de test (BITE) du matériel géré par le système d'exploitation et des fonctions d'ordonnancement des tâches gérées par le système d'exploitation.

Description

DISPOSITIF D'OPTIMISATION ET DE MISE EN ROUTE D'UNE
APPLICATION COMMANDEE PAR UN CALCULATEUR A SYSTEME
D'EXPLOITATION MULTITACHE
La présente invention se rapporte à un dispositif d'optimisation et de mise en route d'une application commandée par un calculateur à système d'exploitation (SE) multitâche.
Dans le domaine des matériels embarqués commandés par des applications logicielles embarquées (« embedded » en anglais) comportant au moins un calculateur, lorsque l'on modifie le SE de ce calculateur, par exemple lors de mises à jour, il faut souvent procéder à des modifications importantes des matériels enfouis qu'il gère. D'autre part, ces SE (même lorsqu'ils sont très « allégés », tels que des systèmes Linux), mettent un temps non négligeable (plusieurs minutes) à se charger, ce qui peut constituer un obstacle très gênant à l'utilisation immédiate des matériels gérés, car certains doivent être opérationnels dans un très court laps de temps (moins d'une minute ou même moins d'une demi-minute pour certains) après leur mise sous tension.
La présente invention a pour objet un dispositif d'optimisation et de mise en route (dispositif A) d'une application commandée par un calculateur à système d'exploitation multitâche, dispositif qui permette d'apporter des modifications au SE avec un impact minime sur les applications qu'il gère, ce dispositif étant opérationnel dans un temps le plus court possible après la mise en route des matériels qu'il gère.
La présente invention comporte en outre un outil (prévu pour générer ce dispositif A), aussi automatique et intuitif que possible, destiné à obtenir un support amovible auto-démarrable (« auto-bootable » en anglais), tel qu'un CD-ROM, permettant l'installation automatique du système d'exploitation et des applications à gérer sur le calculateur cible gérant ces applications.
Le dispositif conforme à l'invention est caractérisé en ce qu'il comporte une couche logicielle entre le système d'exploitation et l'application, cette couche logicielle comprenant :
1. des fonctions d'optimisation du démarrage de l'application,
2. des fonctions de test du matériel géré par le système d'exploitation et 3. des fonctions d'ordonnancement des tâches gérées par le SE. Un des avantages de l'invention, est que la couche logicielle est chargée automatiquement dans le calculateur de gestion des applications à partir d'informations délivrées par l'application considérée et sélectionnant sur un support amovible les fonctions à installer parmi un ensemble de fonctions prévues pour plusieurs applications différentes.
La présente invention sera mieux comprise à la lecture de la description détaillée d'un mode de réalisation, pris à titre d'exemple non limitatif et illustré par le dessin annexé, sur lequel : - la figure 1 est un bloc-diagramme simplifié d'un système applicatif incorporant le dispositif conforme à l'invention, et
- la figure 2 est un chronogramme des principales étapes du processus de mise en route du système applicatif de la figure 1.
La présente invention est décrite ci-dessous en référence à la gestion d'un appareillage embarqué par un système d'exploitation de type « Linux », mais il est bien entendu qu'elle n'est pas limitée à cette seule application, et qu'elle peut être mise en oeuvre dans d'autres types d'applications et avec d'autres systèmes d'exploitation multitâches, qu'ils soient préemptifs ou non.
Sur la figure 1, on a représenté les éléments essentiels d'un système applicatif mettant en oeuvre l'invention. Ce système applicatif 1 comporte une application logicielle 2 existante, associée à un matériel quelconque (appareil de mesure, de télécommunication, matériel électromécanique,....) non représenté et dénommé ici « matériel applicatif ». L'application 2 est gérée par au moins un calculateur ayant son propre système d'exploitation. Cette application logicielle est supportée par un langage quelconque (ADA, JAVA, CORBA, C, C++ , ). L'application 2 communique avec une couche logicielle 3 qui a trois fonctions principales :
- la gestion des services GNU/Linux (tels que des « daemons », c'est- à-dire des programmes tournant en arrière-plan, des pilotes de gestion de matériels,...), - l'optimisation des étapes de démarrage (« boot » en anglais), afin de réduire leur durée, - les tests intégrés des périphériques et de la partie matérielle gérée par l'application , qui peuvent être réalisés avant (off-line) et après
(on-line) le lancement de l'applicatif 2. Les fonctions assurant ces tests sont dénommées ici « BITEs », soit : « Built In Test Equipments »).
Les deux premières fonctions et la gestion des BITEs sont réalisées par la couche dénommée ici « Slushware »,
L'application 2 et la couche 3 communiquent entre elles directement, et éventuellement par l'intermédiaire d'un composant logiciel optionnel 4 assurant exactement le même rôle que le composant Unix Xl 1, mais avec des processeurs de type Intel X 86).
Le système applicatif 1 comporte en outre un ensemble de composants matériels (5), comme par exemple une carte graphique (6), des périphériques classiques (7) (tels que des lecteurs de disques et/ou disquettes, des lecteurs de CD- ROM, des disques optiques,....), et des périphériques spécifiques (tels que des cartes d'entrés/sorties, des afficheurs spéciaux, ...). Ces composants matériels sont gérés par des pilotes (« drivers » en anglais) appropriés, respectivement référencés dans leur ensemble 6A à 8A. Ces pilotes communiquent de façon bi-directionnelle avec la couche logicielle 3. En outre, le système applicatif 1 utilise un noyau (« kernel » en anglais) Linux qui communique avec la couche 3 et l'ensemble des matériels 5, ainsi que l'ensemble 9A de fonctions Unix ou Linux (commandes de base Unix permettant d'inter-agir avec le matériel).
Le système applicatif 1 est donc constitué d'une « couche logicielle intermédiaire », le « Slushware » qui gère le matériel et tous les composants logiciels (daemons) GNU/Linux personnalisés , ce qui permet de minimiser l'impact des modifications ultérieures (évolutions du système d'exploitation ou du matériel) sur cette application 2.
Sur le chronogramme de la figure 2, on a représenté les principales étapes de la mise en route du système applicatif 1. Cette mise en route commence après la mise sous tension du matériel géré par l'application. Dès que le processeur supportant le système applicatif décrit en référence à la figure 1 est mis sous tension, et comme c'est le cas pour un micro-ordinateur classique, le premier élément logiciel activé est le BIOS du calculateur. Ce BIOS vérifie (11) tous les éléments qu'il gère :
1. la mémoire RAM,
2. les contrôleurs de mémoires de masse, 3. les ports d'entrée/sortie,
4. les cartes additionnelles,...
Ensuite se fait le chargement du noyau du système d'exploitation Linux (Procédure LILO- étape 12). Puis, le système d'exploitation Linux démarre (13) pour assurer la supervision du système applicatif . Après le démarrage du système d'exploitation, le « Slushware » active (14)
1. les tests de bas niveau du matériel (tests off-line),
2. les initialisations des entrées/sorties du système d'exploitation (Ethernet, transmission série,....),
3. le lancement des applications et 4. la gestion de ces applications.
D'autre part, à l'étape 15 (l'étape 14 est un complément à l'étape 15), le « Slushware » gère les fonctions BITE qui procèdent aux tests en ligne (on-line). Ainsi, la couche « Slushware » assure les fonctions suivantes :
- elle gère les pilotes des différents périphériques (utilisés par le système applicatif ou le système d'exploitation),
- elle gère l'utilisation des services du système d'exploitation (c'est-à- dire les « daemons » Linux),
- elle gère l'initialisation des matériels périphériques et les tests de ces matériels, - elle lance et gère les applications.
Selon un mode de réalisation avantageux de l'invention, le système d'exploitation embarqué (Linux dans le cas présent) et les différents composants logiciels du système applicatif sont chargés à partir d'un support amovible (un CD- ROM ou un type équivalent, dans le cas présent) dans le calculateur gérant le système applicatif de la figure 1 le choix du système applicatif est fait via un dialogue entre le calculateur et le programme d'installation. Ce mode d'installation est particulièrement avantageux lorsque l'on doit installer plusieurs systèmes applicatifs sur divers matériels différents.
Selon l'invention, le CD-ROM d'installation comporte toutes les options du système applicatif nécessaires à l'installation de ce système sur les différents matériels et/ou calculateurs à équiper. Ce CD-ROM est réalisé à l'aide d'un outil spécifique fonctionnant sur une station de travail à partir d'une version maître du système d'exploitation, dite « master distribution». Ce CD-ROM comporte, pour l'installation de chaque système applicatif, les composants suivants :
S le système d'exploitation prévu pour tolérer des arrêts électriques inopinés,
S la couche « Slushware »,
S les applications embarquées et s un programme d'installation de tous ces composants sur le calculateur correspondant. L'outil de réalisation du CD-ROM en question tire profit des possibilités offertes par le format « El Torito » définissant les caractéristiques de CD-ROM auto- démarrables pour fabriquer un tel CD-ROM. Ce CD-ROM réalise les opérations d'installation appropriées grâce à une version réduite du système d'exploitation GNU/Linux (par exemple d'environ 2,88 Mo) qui est exécutée à partir de ce CD- ROM.
Dans ce cas de chargement du système applicatif, à partir d'un CD-ROM, le « Slushware » a également pour rôle de personnaliser et d'optimiser automatiquement les fonctions standard relatives au démarrage du système d'exploitation GNU/Linux, et en particulier, il « écrase », lors de l'installation du système applicatif, les scripts standard pour les remplacer par des scripts optimisés de démarrage du système applicatif, d'ordonnancement des tâches et de lancement des applications (voir l'annexe ci-dessous).
ANNEXE : exemple simplifié d'un script optimisé. Le système d'exploitation allégé s'appuie sur une architecture « System V ».
Cette architecture est basée sur un script /etc/inittab qui contient la configuration du programme /sbin/init et un ou plusieurs scripts permettant de démarrer les services adéquats : /etc/rc.d/rc.S
/etc/inittab #
# inittab This file describes how the ESfIT process should set up the System #
# Default runlevel id:S:initdefault: # System initialisation (runs when System boots). si:S:sysinit:/etc/rc.d/rc.S
# End of /etc/inittab /etc/rc.d/rc.S #!/bin/bash #
# rc.S System initialisation script #
PATH=/sbin:/bin #/Start update /sbin/update &
# Remount the root filesystem in read-only mode écho "Remounting root device with read-only enabled" /bin/mount -o -n -o remount / if [ $? -gt 0 ]; then echo écho "Attempt to remount root device as read-only failed !" echo "This is going to cause serious problems ..." fi echo "Cleaning mtab" /bin/rm -f /etc/mtab # Mounting local fs from /etc/fstab écho "Mounting local filesystems" /bin/mount -at nonfs
# Launching network services /etc/rc.d/rc.inetl start
/etc/rc.d/rc.inet2 start
# Starting a bash shell HOME=/root
USER=root export HOME USER cd $HOME /bin/sh # End of /etc/rc.d/rc.S

Claims

REVENDICATIONS
1. Dispositif d'optimisation et de mise en route d'une application commandée par un calculateur à système d'exploitation multitâche dès sa mise sous tension, caractérisé en ce qu'il comporte une couche logicielle (3) entre le système d'exploitation (9) et l'application (2), cette couche logicielle comprenant des fonctions d'optimisation du démarrage de l'application, des fonctions de test (BITE) du matériel géré par le système d'exploitation et des fonctions d'ordonnancement des tâches gérées par le système d'exploitation.
2. Système selon la revendication 1, caractérisé en ce que la couche logicielle est chargée automatiquement dans le calculateur de gestion des applications à partir d'informations délivrées par l'application considérée et sélectionnant sur un support amovible les fonctions à installer parmi un ensemble de fonctions prévues pour plusieurs matériels et/ou applications différentes.
3. Système selon la revendication 2, caractérisé en ce que le support amovible est de type CD-ROM.
EP05799044A 2004-09-28 2005-09-28 Dispositif d'optimisation et de mise en route d'une application commandee par un calculateur a systeme d'exploitation multitache Ceased EP1807756A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0410267A FR2875923B1 (fr) 2004-09-28 2004-09-28 Dispositif d'optimisation et de mise en route d'une application commandee par un calculateur a systeme d'exploitation multitache
PCT/EP2005/054868 WO2006035039A1 (fr) 2004-09-28 2005-09-28 Dispositif d'optimisation et de mise en route d'une application commandee par un calculateur a systeme d'exploitation multitache

Publications (1)

Publication Number Publication Date
EP1807756A1 true EP1807756A1 (fr) 2007-07-18

Family

ID=34949890

Family Applications (1)

Application Number Title Priority Date Filing Date
EP05799044A Ceased EP1807756A1 (fr) 2004-09-28 2005-09-28 Dispositif d'optimisation et de mise en route d'une application commandee par un calculateur a systeme d'exploitation multitache

Country Status (3)

Country Link
EP (1) EP1807756A1 (fr)
FR (1) FR2875923B1 (fr)
WO (1) WO2006035039A1 (fr)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5857101A (en) * 1997-04-15 1999-01-05 Acceleration Software International Corporation Program lunch acceleration
US6202121B1 (en) * 1998-04-15 2001-03-13 Microsoft Corporation System and method for improved program launch time
US20040030882A1 (en) * 2002-08-08 2004-02-12 Forman George Henry Managed application pre-launching

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
None *
See also references of WO2006035039A1 *

Also Published As

Publication number Publication date
FR2875923A1 (fr) 2006-03-31
FR2875923B1 (fr) 2006-12-22
WO2006035039A1 (fr) 2006-04-06

Similar Documents

Publication Publication Date Title
US6330669B1 (en) OS multi boot integrator
Donahue et al. Oommf user's guide: Version 1.0
CN110737479B (zh) 一种无盘启动操作系统的方法、服务器和可读存储介质
CN101226478B (zh) 提高平台引导效率的系统和方法
US20060195839A1 (en) Computer system for deploying software on multiple computers
FR2772158A1 (fr) Secteur d'amorcage de partition modifiable pour dispositif de memorisation d'ordinateur
US10133590B2 (en) Container runtime support
US20100058307A1 (en) Methods and systems for monitoring software provisioning
FR2792740A1 (fr) Procede et dispositif d'installation logicielle restaurable pour un systeme informatique
EP1418501A1 (fr) Méthode d'administration d'applications sur des machines virtuelles
CN101438266A (zh) 按照离散的级引导操作系统
US8352916B2 (en) Facilitating the automated testing of daily builds of software
FR2664069A1 (fr) Procede et memoire d'interface entre une carte d'option et la memoire morte programmable de l'unite centrale d'un systeme informatique.
FR2936068A1 (fr) Procede et dispositif d'encapsulation d'applications dans un systeme informatique pour aeronef.
US11669325B2 (en) Desired state model for managing lifecycle of virtualization software
US20210311715A1 (en) Software and firmware updates in a combined single pane of glass interface
FR2699702A1 (fr) Systèmes de commande de micro-ordinateurs pour des communications interprogrammes et des méthodes de planification.
JP2022094315A (ja) コンピュータ実装方法、コンピュータ・プログラム、コンピュータ・システム、及びコンピュータ可読な記録媒体
US10127050B2 (en) Efficient booting system
US11269609B2 (en) Desired state model for managing lifecycle of virtualization software
EP1085448A1 (fr) Système d'administration pour machines multimodulaires multiprocesseurs
EP2049967A2 (fr) Coeur processeur a frequence pilotee et procede de demarrage dudit coeur processeur dans un mode programme
FR2876197A1 (fr) Procede de gestion flexible d'activites multiples executees sur des plateformes partitionnables d'un systeme a processeurs multiples
EP1807756A1 (fr) Dispositif d'optimisation et de mise en route d'une application commandee par un calculateur a systeme d'exploitation multitache
US6260140B1 (en) Operating system multi boot integrator

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20070220

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

17Q First examination report despatched

Effective date: 20071108

DAX Request for extension of the european patent (deleted)
REG Reference to a national code

Ref country code: DE

Ref legal event code: R003

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20171012