[go: up one dir, main page]

DE102004047369A1 - Data processing device e.g. smart-phone, has tree manager to execute booting operation by transferring data segments from hard disk into read only memory based on shortest path - Google Patents

Data processing device e.g. smart-phone, has tree manager to execute booting operation by transferring data segments from hard disk into read only memory based on shortest path Download PDF

Info

Publication number
DE102004047369A1
DE102004047369A1 DE200410047369 DE102004047369A DE102004047369A1 DE 102004047369 A1 DE102004047369 A1 DE 102004047369A1 DE 200410047369 DE200410047369 DE 200410047369 DE 102004047369 A DE102004047369 A DE 102004047369A DE 102004047369 A1 DE102004047369 A1 DE 102004047369A1
Authority
DE
Germany
Prior art keywords
data processing
memory device
volatile memory
data
shortest path
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.)
Withdrawn
Application number
DE200410047369
Other languages
German (de)
Inventor
Jean-Yves Bitterlich
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.)
Siemens Corp
Original Assignee
Siemens Corp
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 Siemens Corp filed Critical Siemens Corp
Priority to DE200410047369 priority Critical patent/DE102004047369A1/en
Publication of DE102004047369A1 publication Critical patent/DE102004047369A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • 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

Landscapes

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

Abstract

The device has a tree manager (4) to control the storage operation of data segments (2) for booting operation of a hard disk (5) into a read only memory (1). The manager detects a shortest path for achievement of predetermined conditions in a dependence tree (3) during booting operation. The manager executes the operation by transferring the segments from the disk into the memory based on the shortest path. The read only memory (1) and the hard disk (5) store the data segments (2) regarding the system condition in switched on and off conditions of the device. An independent claim is also included for a method of booting a data processing system.

Description

Die vorliegende Erfindung betrifft eine Datenverarbeitungsvorrichtung mit einer flüchtigen Speichereinrichtung zum Speichern von Datenmodulen betreffend einen Systemzustand im angeschalteten Zustand der Datenverarbeitungsvorrichtung, einer nichtflüchtigen Speichereinrichtung zum Speichern von Datenmodulen, betreffend einen Systemzustand im abgeschalteten Zustand der Datenverarbeitungsvorrichtung und einer Managing-Einrichtung zum Steuern eines Speichervorgangs der Datenmodule für einen Boot-Vorgang von der nichtflüchtigen Speichereinrichtung in die flüchtige Speichereinrichtung. Darüber hinaus betrifft die vorliegende Erfindung ein entsprechendes Verfahren zum Booten einer Datenverarbeitungsvorrichtung.The The present invention relates to a data processing apparatus with a fleeting Memory device for storing data modules relating to a System state in the switched-on state of the data processing device, a non-volatile one Memory device for storing data modules, relating to a System state in the switched-off state of the data processing device and a managing institution for controlling a storage operation of the data modules for a Boot process from the non-volatile Storage device in the volatile Storage means. About that In addition, the present invention relates to a corresponding method for booting a data processing device.

Jedes System, das einen Mikroprozessor, Speicher und Peripherie umfasst, muss gebootet bzw. initialisiert werden. Während des Boot-Vorgangs initialisiert eine Basis-Software die gesamte Peripherie, die zum Laden des Betriebssystems notwendig ist. Dies beinhaltet das Initialisieren des Prozessors und das Laden von Gerätetreibern für das Anzeigegerät, die Tastatur, den Flash-Speicher oder eine Festplatte und den Treiber des Dateisystems (FAT). Daraufhin wird das Betriebssystem geladen. Dabei wird typischerweise ein Abbild des Kernels in den Speicher dekomprimiert und an einer vorbestimmten Speicheradresse gestartet. Sobald das Betriebssystem gestartet ist, wird es alle Gerätetreiber laden und starten. Diese initialisieren die Peripherie, für die sie verantwortlich sind, gegebenenfalls auch diejenige, die während des Boot-Vorgangs initialisiert wurde. Sobald der Ladevorgang, zumindest der wichtigste Teil, abgeschlossen ist, startet das Betriebssystem die Hauptapplikation, z.B. das GUI (Graphical User Interface), den Window-Manager und/oder das Login, mit denen der Nutzer interagieren kann.each System that includes a microprocessor, memory and peripherals, must be booted or initialized. Initialized during the boot process a basic software all the peripherals that charge the operating system necessary is. This includes initializing the processor and loading device drivers for the display device, the keyboard, the flash memory or a hard disk and the file system driver (FAT). The operating system is then loaded. This is typically an image of the kernel is decompressed into memory and stored on a predetermined memory address started. Once the operating system is started, it will load all device drivers and start. These initialize the peripherals for which they are responsible, including, where appropriate, those who Boot process has been initialized. Once the charging process, at least the most important part, completed, starts the operating system the main application, e.g. the GUI (Graphical User Interface), the Window manager and / or the login with which the user interacts can.

Dieser Boot-Prozess dauert üblicherweise sehr lange und beträgt im Durchschnitt meist 40 Sekunden bis 5 Minuten für sogenannte Smart-Phones, PDAs und Desktop-PCs. Grundsätzlich besteht daher der Bedarf, den Zeitbedarf für das Booten und Laden des Betriebssystems zu verkürzen, so dass der Nutzer so rasch wie möglich eine Geräteantwort bekommt.This Boot process usually takes a lot long and is on average usually 40 seconds to 5 minutes for so-called Smart phones, PDAs and desktops. Basically, therefore, there is a need the time needed for to shorten the booting and loading of the operating system, allowing the user to do so quickly as possible a device response gets.

Zur Lösung dieses Problems wurde ein Verfahren vorgeschlagen, das mit einem kürzesten Pfad in einem Abhängigkeitsbaum arbeitet (Shortest-Path-Prinzip). Dabei wird der Boot-Prozess einschließlich des Ladens des Betriebssystems durch Priorisierung der Ladevorgänge gesteuert, so dass der Nutzer so rasch wie möglich mit dem System kommunizieren kann. Dieses Prinzip wird beispielsweise von Windows XP ausgenutzt, bei dem alles geladen wird, um dem Nutzer so rasch wie möglich die Nutzung zu ermöglichen. Die übrigen Gerätetreiber werden nach der ersten Möglichkeit zur Nutzungsaufnahme weitergeladen. Die Technik basiert auf einem Gerätetreiberabhängigkeitsbaum. Eine ähnliche Technik wurde von IBM für den Linux-Kernel-Ladeprozess vorgeschlagen. Der Vorteil des Ladens entsprechend dem Shortest-Path-Prinzip besteht darin, dass der Nutzer bereits innerhalb von etwa 45 Sekunden mit dem PC interagieren kann, um beispielsweise das Login durchzuführen. Nachteilig an diesem Prinzip ist jedoch, dass der Nutzer, sobald er eingeloggt ist, weitere 40 bis 60 Sekunden warten muss, bis alle Dienste und andere nutzerspezifischen Softwarekomponenten geladen sind.to solution To solve this problem, a method has been proposed that has a shortest Path in a dependency tree works (shortest path principle). Thereby the boot process including the Loading the operating system by prioritizing the loading processes, allowing the user to communicate with the system as soon as possible can. This principle is exploited, for example, by Windows XP, where everything is loaded to the user as soon as possible use to enable. The remaining Device drivers after the first possibility uploaded for use. The technique is based on one Device driver dependency tree. A similar technique was from IBM for the Linux kernel loading process proposed. The advantage of loading according to the shortest path principle is that the user already within about 45 seconds can interact with the PC, for example, to perform the login. adversely On this principle, however, is that the user, as soon as he logged is to wait another 40 to 60 seconds for all the services and other user-specific software components are loaded.

Eine weitere bekannte Möglichkeit zur „Beschleunigung des Boot-Prozesses" besteht darin, das System in einen Idle- bzw. Sleep-Modus zu versetzen und damit den Boot-Prozess zu umgehen. Wenn sich dabei der Nutzer entschließt, sein Gerät abzuschalten, drückt er den „AUS"-Knopf, der das System in den Sleep-Modus verstetzt. Dieser Sleep-Modus ist im Wesentlichen ein Hardware-Zustand, in dem die gesamte Peripherie außer dem Speicher und einigen Power-Management-Chips abgeschaltet sind. Der Speicher erhält etwas Energie, um dadurch den aktuellen Zustand der Applikationen des Betriebssystems aufrechtzuerhalten. Die anderen Chips bekommen nur ein Minimum an Energie, um auf einen Wake-Up-Trigger reagieren zu können, der in der Regel durch einen Knopfdruck ausgelöst wird. Der Vorteil des Sleep-Modus ist, dass er sehr wenig Energie verbraucht. Nachteilig ist jedoch, dass dieser Modus dennoch Energie verbraucht und einige Sekunden zum Aufwachen benötigt. Darüber hinaus müssen einige Peripheriebausteine neu initialisiert werden.A another known possibility to the "acceleration the boot process " to put the system in idle or sleep mode and to bypass the boot process. If the user decides to be Switch off the device, presses he the "OFF" button, which is the system in sleep mode. This sleep mode is essentially a hardware state in which all the peripherals except the memory and some power management chips are turned off. The memory receives a bit of energy, thereby reducing the current state of applications of the Upkeep operating system. The other chips only get a minimum of energy to respond to a wake-up trigger can, who usually triggered by a push of a button. The advantage of the sleep mode is that he uses very little energy. The disadvantage, however, is that this mode still consumes energy and a few seconds needed to wake up. About that have to go out some I / O modules are reinitialized.

Als weitere Möglichkeit, den Boot-Vorgang zu beschleunigen, unterstützen einige Geräte den sogenannte Save-on-Disk-Option, die es erlaubt, den gesamten RAM auf eine Festplatte oder eine Flash-Speicher zu überspielen. Falls beispielsweise ein 256 MB RAM in dem System eingesetzt ist und man auf den „AUS"-Knopf drückt, kopiert die Hardware den gesamten RAM als einen gesamten 256 MB-Block auf die Festplatte. Sobald der Nutzer den „EIN"-Knopf drückt, wird zunächst etwas Hardware reinitialisiert und anschließend der gesamte 256 MB-Datenblock in den Speicher geladen. Sodann wird der Prozessor reinitialisiert und beginnt seinen Betrieb an der gespeicherten Position. Der Vorteil dieser Save-on-Disk-Option ist, dass sie keine Energie verbraucht. Nachteilig ist jedoch, dass der gesamte Datenblock in den Speicher geladen werden muss, bevor das System starten kann. Dieser Prozess kann bis zu 60 Sekunden dauern, bevor ein Arbeiten mit dem System möglich ist.As another way to speed up the boot process, some devices support the so-called save-on-disk option, which allows all the RAM to be transferred to a hard disk or flash memory. For example, if a 256MB of RAM is inserted into the system and you press the "OFF" button, the hardware will copy all of the RAM to the hard drive as a total 256MB block. At first, some hardware is reinitialized and then the entire 256 MB data block is loaded into the memory. The processor is then reinitialized and begins its operation at the stored position. The advantage of this save-on-disk option is that it uses no energy. The disadvantage, however, is that the entire data block must be loaded into the memory before the system can start. This process can take up to 60 seconds before an Ar working with the system is possible.

Die Aufgabe der vorliegenden Erfindung besteht somit darin, den Boot-Vorgang weiter zu beschleunigen.The The object of the present invention is therefore the boot process continue to accelerate.

Erfindungsgemäß wird diese Aufgabe gelöst durch eine Datenverarbeitungsvorrichtung mit einer flüchtigen Speichereinrichtung zum Speichern von Datenmodulen betreffend einen Systemzustand im angeschalteten Zustand der Datenverarbeitungsvorrichtung, einer nichtflüchtigen Speichereinrichtung zum Speichern von Datenmodulen betreffend einen Systemzustand im abgeschalteten Zustand der Datenverarbeitungsvorrichtung und einer Managing-Einrichtung zum Steuern eines Speichervorgangs der Datenmodule für einen Boot-Vorgang von der nichtflüchtigen Speichereinrichtung in die flüchtige Speichereinrichtung, wobei mit der Managing-Einrichtung ein Abhängigkeitsbaum von den Datenmodulen betreffend den Systemzustand generierbar und ein kürzester Pfad zum möglichst raschen Erreichen eines vorgegebenen Zustands, insbesondere eines Logon-Zustands bei dem Boot-Vorgang in dem Abhängigkeitsbaum auffindbar ist und mit der Managing-Einrichtung der Boot-Vorgang durch Übertragen der Datenmodule betreffend den Systemzustand von der nichtflüchtigen Speichereinrichtung in die flüchtige Speichereinrichtung anhand des kürzesten Pfads durchführbar ist.According to the invention this Task solved by a data processing device having a volatile memory device for storing data modules relating to a system state when turned on State of the data processing device, a non-volatile Memory device for storing data modules relating to a system state in the off state of the data processing device and a managing device for controlling a storage process of Data modules for a boot process from the nonvolatile storage device in the fleeting Memory device, wherein the managing device is a dependency tree can be generated by the data modules concerning the system state and a shortest Path to the possible rapidly reaching a given state, in particular one Logon state in the boot process in the dependency tree is found and with the managing facility the boot process by transferring the Data modules concerning the system state of the non-volatile Storage device in the volatile Storage device based on the shortest Paths feasible is.

Ferner wird erfindungsgemäß bereitgestellt ein Verfahren zum Booten einer Datenverarbeitungsvorrichtung durch Speichern von Datenmodulen betreffend einen Systemzustand in einer flüchtigen Speichereinrichtung in einem angeschalteten Zustand der Datenverarbeitungsvorrichtung, Speichern von Datenmodulen betreffend einen Systemzustand in einer nichtflüchtigen Speichereinrichtung in einem abgeschalteten Zustand der Datenverarbeitungsvorrichtung und Übertragen der Datenmodule für einen Boot-Vorgang von der nichtflüchtigen Speichereinrichtung in die flüchtige Speichereinrichtung, sowie Generieren eines Abhängigkeitsbaums von den Datenmodulen betreffend den Systemzustand, und Erstellen des kürzesten Pfads zum möglichst raschen Erreichen eines vorgegebenen Zustands, insbesondere eines Logon-Zustands bei dem Boot-Vorgang in dem Abhängigkeitsbaum, so dass das Übertragen der Datenmodule anhand des kürzesten Pfads durchgeführt wird.Further is provided according to the invention A method of booting a data processing device by storing of data modules relating to a system state in a volatile memory device in an on state of the data processing device, Saving data modules relating to a system state in one nonvolatile Memory device in a switched-off state of the data processing device and transferring the data modules for a boot process from the nonvolatile storage device in the fleeting Storage device, and generating a dependency tree from the data modules concerning the system state, and creating the shortest one Path to the possible rapidly reaching a given state, in particular one Logon state in the boot process in the dependency tree, so that the transfer of the Data modules based on the shortest Paths performed becomes.

Das erfindungsgemäße System zum Booten kann als „Tree based State Booting" bezeichnet werden, da in ihm das Shortest-Path-Prinzip mit dem Save-on-Disk-Prinzip kombiniert wird. Dadurch können die Nachteile der einzelnen Prinzipien überwunden werden. Speziell wird nicht mehr wie bei dem Save-on- Disk-Prinzip der gesamte RAM ohne Unterschied zwischen wichtigen und unwichtigen (aus Sicht des Nutzers) Abschnitten auf der Festplatte gespeichert.The inventive system to boot can be called "Tree based state booting " because in him the shortest path principle combined with the save-on-disk principle. This allows the Disadvantages of the individual principles are overcome. specially is no longer like the save-on-disk principle of the entire RAM without distinction between important and unimportant (from the point of view of the user) sections stored on the hard disk.

Natürlich ist auch der Nachteil des Standard-Booting überwunden, dass die Software sehr viele Taktzyklen für die Initialisierung des Programms selbst benutzt, anstelle sich nur auf die Initialisierung der Plattform bzw. des Systems und der Peripherie zu konzentrieren.of course is Also the disadvantage of standard booting is that the software overcomes very many clock cycles for used the initialization of the program itself instead of itself only on the initialization of the platform or the system and the Focus peripherals.

Vorzugsweise umfasst die flüchtige Speichereinrichtung einen RAM-Speicher und die nichtflüchtige Speichereinrichtung eine Festplatte. Damit kann das erfindungsgemäße Boot-Verfahren insbesondere auch für Standard-PCs, aber auch für Embedded Devices verwendet werden.Preferably includes the volatile Memory means a RAM memory and the non-volatile memory means a hard disk. Thus, the boot method according to the invention in particular also for Standard PCs, but also for Embedded devices are used.

Bei einer ebenfalls bevorzugten Ausführungsform kann mit der Managing-Einrichtung der Abhängigkeitsbaum in der flüchtigen und nichtflüchtigen Speichereinrichtung abgespeichert werden. Dadurch ist es möglich, stets einen aktuellen Abhängigkeitsbaum bereitzustellen.at a likewise preferred embodiment can with the managing establishment of the dependency tree in the volatile and non-volatile Memory device to be stored. This makes it possible, always a current dependency tree provide.

Gemäß einer Weiterentwicklung ist vorgesehen, dass mit der Managing-Einrichtung ein aktueller Systemzustand mit einem in der nichtflüchtigen Speichereinrichtung gespeicherten Systemzustand verglichen werden kann, so dass beim Abschalten der Datenverarbeitungsvorrichtung nur diejenigen Datenmodule oder Teile von Datenmodulen auf der flüchtigen Speichereinrichtung gespeichert werden, die noch nicht gespeichert sind. Dadurch lässt sich das Abspeichern der Daten vor einem erneuten Boot-Vorgang beschleunigen, da nur die geänderten Datenabschnitte auf der Festplatte gesichert werden müssen.According to one Further development is envisaged that with the managing institution a current system state with one in the non-volatile Memory device stored system state can be compared can, so that when switching off the data processing device only those data modules or parts of data modules on the volatile Storage device to be stored, not yet saved are. By doing so leaves accelerate the saving of data before a reboot, because only the changed data sections on the hard disk must be secured.

Ferner ist es vorteilhaft, wenn für den Boot-Vorgang zunächst der Abhängigkeitsbaum und/oder der kürzeste Pfad in die flüchtige Speichereinrichtung übertragen werden, bevor die Datenmodule betreffend den Systemzustand übertragen werden.Further it is advantageous if for the boot process first the dependency tree and / or the shortest Path in the fleeting Transfer memory device before transmitting the data modules concerning the system state become.

Damit kann sichergestellt werden, dass diejenigen Datenmodule mit höchster Priorität übertragen werden, die für eine möglichst baldige Interaktion des Nutzers mit dem System notwendig sind.In order to can be ensured that those data modules transmitted with the highest priority be that for one possible early interaction of the user with the system are necessary.

Die vorliegende Erfindung wird nun anhand er beigefügten Zeichnungen näher erläutert, in denen zeigen:The The present invention will now be described with reference to the accompanying drawings, in show:

1 ein prinzipielles Blockschaltbild eines erfindungsgemäßen Boot-Systems; 1 a schematic block diagram of a boot system according to the invention;

2 einen Abhängigkeitsbaum mit kürzestem Pfad; und 2 a dependency tree with the shortest path; and

3 das erfindungsgemäße Laden des RAMs zum Booten. 3 loading the RAM according to the invention for booting.

Das nachfolgend näher geschilderte Ausführungsbeispiel stellt eine bevorzugte Ausführungsform der vorliegenden Erfindung dar.The below described embodiment represents a preferred embodiment of present invention.

Die erfindungsgemäße Technologie mit der Bezeichnung „Tree based State Booting" basiert auf der Idee, in Datensegmenten (z.B. alokierten Speicherseiten) jeder Applikation in einem Abhängigkeitsbaum einen Knoten zuzuweisen. Auf diese Weise werden beispielsweise Gerätetreibern, dem Betriebssystem, ausführbaren Programmen und gemeinsamen Bibliotheken ein oder mehrere Knoten zugewiesen. Ein ähnlicher Abhängigkeitsbaum wird üblicherweise bereits von einem Betriebssystem benutzt und verwaltet. Der Abhängigkeitsbaum mit entsprechenden Datensegmenten wird auf der Festplatte gespeichert. Beim erneuten Booten wird die Hardware den Abhängigkeitsbaum und/oder den dazugehörigen kürzesten Pfad (Shortest-Path) in den RAM – laden, so dass möglichst rasch eine Nutzer-Interaktion möglich ist. Anschließend werden die weniger wichtigen Datensegmente bzw. Speicherseiten geladen.The inventive technology named "Tree based state booting " on the idea, in data segments (e.g., alocated memory pages) every application in a dependency tree assign a node. In this way, for example, device drivers, the operating system, executable Programs and shared libraries one or more nodes assigned. A similar one dependency tree becomes common already used and managed by an operating system. The dependency tree with corresponding data segments is stored on the hard disk. When rebooting the hardware the dependency tree and / or the associated shortest Load path (shortest path) into the RAM, so that possible rapid user interaction possible is. Subsequently The less important data segments or memory pages are loaded.

Anhand der 1 bis 3 wird nun dieses Prinzip des „Tree based State Booting" näher erläutert.Based on 1 to 3 This principle of tree-based state booting will now be explained in more detail.

In 1 ist hierzu eine Hardware- und Software-Struktur prinzipiell angedeutet. Während des Betriebs des Systems (PC, Smart Phone etc.) werden in dem RAM 1 Systemzustands- und Konfigurationsdaten 2 abgelegt. Ebenso wird in dem RAM 1 ein Abhängigkeitsbaum 3 hinterlegt, den ein Tree-Manager 4 aus den Zustandsdaten 2 generiert. Dieser Abhängigkeitsbaum 3 (vgl. 2) enthält die Abhängigkeit der Software-Module, die zum Booten notwendig sind.In 1 For this purpose, a hardware and software structure is indicated in principle. During the operation of the system (PC, Smart Phone, etc.) are in the RAM 1 System state and configuration data 2 stored. Likewise, in the RAM 1 a dependency tree 3 deposited by a tree manager 4 from the status data 2 generated. This dependency tree 3 (see. 2 ) contains the dependency of the software modules that are necessary for booting.

Der Abhängigkeitsbaum 3 und die dazugehörigen Datensegmente 2 werden während des Betriebs oder beim Abschalten des Systems über den Tree-Manager 4, der Save-on-Disk-Funktionalität aufweist, auf einer Festplatte 5 gespeichert. Wird das System nun abgeschaltet, so ist der letzte Betriebszustand einschließlich der Initialisierungen auf der nichtflüchtigen Festplatte 5 abgelegt. Damit stehen die Zustandsdaten des letzten Betriebszustands für einen Neu-Boot-Vorgang nach dem Save-on-Disk-Prinzip zum Laden in den RAM 1 zur Verfügung.The dependency tree 3 and the associated data segments 2 during operation or when the system is shut down via the tree manager 4 that has save-on-disk functionality on a hard disk 5 saved. If the system is now switched off, then the last operating state including the initializations on the non-volatile hard disk 5 stored. Thus, the state data of the last operating state for a new boot process according to the save-on-disk principle for loading into the RAM 1 to disposal.

Entsprechend 2 ist in dem Abhängigkeitsbaum 3 auch ein kürzester Pfad 31 definiert bzw. durch den Tree-Manager 4 generiert. Dieser kürzeste Pfad 31 enthält diejenigen Datenmodule 311, 312 und 313, die mit höchster Priorität von der Festplatte 5 in den RAM 1 beim Boot-Vorgang gespeichert werden müssen, um möglichst rasch eine Nutzerinteraktion zu gewährleisten. Durch den kürzesten Pfad 31 ist somit eine Hierarchie vorgegeben, mit der der Tree-Manager 4 die Daten 2 in den RAM 1 beim Booten zu laden hat. Die weniger wichtigen Datenmodule bzw. -segmente 21 bis 26 werden zu einem späteren Zeitpunkt in den RAM 1 geladen, wenn der Nutzer mit dem System bereits arbeiten kann.Corresponding 2 is in the dependency tree 3 also a shortest path 31 defined or by the tree manager 4 generated. This shortest path 31 contains those data modules 311 . 312 and 313 that with the highest priority from the disk 5 in the RAM 1 stored during the boot process in order to ensure user interaction as quickly as possible. By the shortest path 31 Thus, a hierarchy is specified with which the tree manager 4 the data 2 in the RAM 1 when booting to load. The less important data modules or segments 21 to 26 will be in the RAM at a later date 1 loaded when the user can already work with the system.

In 3 ist der erfindungsgemäße Ladevorgang entsprechend dem kürzesten Pfad in einer etwas anderen Darstellung wiedergegeben. Auch dort sind die für den Boot-Vorgang von dem Tree-Manager 4 mit höchster Priorität eingestuften Datenseg ment 311 bis 314 entsprechend dem Abhängigkeitsbaum mit Sprungadressen versehen. Diese Darstellung macht deutlich, dass nicht wie bei dem einfachen Save-on-Disk-Prinzip die gesamten Boot-Daten 2 von der Festplatte 5 in den RAM 1 unabhängig von jeglicher Priorität gespeichert bzw. geladen werden, sondern dass die Daten durch den kürzesten Pfad 31 eine Ladereihenfolge erhalten haben, mit der der Boot-Vorgang beschleunigt werden kann.In 3 the charging process according to the invention is shown according to the shortest path in a slightly different representation. Also there are those for the boot process by the tree manager 4 highest priority data segment 311 to 314 provided with jump addresses according to the dependency tree. This illustration makes it clear that not like the simple save-on-disk principle, the entire boot data 2 from the hard disk 5 in the RAM 1 regardless of any priority stored or loaded, but that the data through the shortest path 31 have received a load order with which the boot process can be accelerated.

Ändert sich nun durch einen Prozess 6 oder einen Treiber 7 über das Betriebssystem 8 der Zustand des Systems, so generiert der Tree-Manager 4 einen entsprechenden neuen Abhängigkeitsbaum sowie einen passenden neuen kürzesten Pfad (vgl. 1). Hierdurch kommt in den kürzesten Pfad beispielsweise das Datensegment 315 hinzu, wie dies in 3 dargestellt ist. Es ist nun nicht notwendig, dass der gesamte Abhängigkeitsbaum einschließlich der dazugehörigen Daten erneut auf der Festplatte abgespeichert werden müsste. Vielmehr genügt es, wenn die entsprechende Δ-Information, d.h. der Unterschied, im Abhängigkeitsbaum 3 und in den entsprechenden Datensegmenten auf der Festplatte 5 abgespeichert wird. Wenn beispielsweise durch einen zusätzlich installierten Treiber die weitere Zustandsinformation 315 gemäß 3 im RAM abgespeichert wird, genügt es, diese zusätzliche Information 315 auf der Festplatte 5 abzulegen. Die übrige Zustandsinformation bleibt unverändert. Damit kann der Save-on-disk-Vorgang deutlich verkürzt werden.Now changes through a process 6 or a driver 7 about the operating system 8th the state of the system, so the tree manager generates 4 a corresponding new dependency tree and a matching new shortest path (cf. 1 ). As a result, for example, the data segment comes in the shortest path 315 Add this as in 3 is shown. It is now not necessary that the entire dependency tree including the associated data should be saved again on the hard disk. Rather, it is sufficient if the corresponding Δ information, ie the difference, in the dependency tree 3 and in the corresponding data segments on the hard disk 5 is stored. If, for example, by an additionally installed driver, the further state information 315 according to 3 is stored in RAM, it is sufficient, this additional information 315 on the hard disk 5 store. The remaining status information remains unchanged. This can significantly shorten the save-on-disk process.

Der „kürzeste Pfad" hängt stets von der Bestimmung des Geräts ab. Beispielsweise ist es für ein PDA, ein Smart-Phone oder ein Desktop wünschenswert, den kürzesten Pfad, der die Priorität beim Laden der Boot-Module festlegt, dahingehend zu bestimmen, dass eine möglichst rasche Nutzer-Interaktion möglich ist. Dagegen sollte bei Funkautomatikgeräten, wie beispielsweise einen Drucker mit IR-Schnittstelle, so rasch wie möglich durch den kürzesten Pfad eine drahtlose Verbindung hergestellt werden können. Im Allgemeinen kann die Konfigura tion des kürzesten Pfads durch denjenigen bestimmt werden, der das System implementiert, so dass für jedes System eine Optimierung erzielbar ist.The "shortest path" always depends on the destination of the device, for example, for a PDA, a smart phone, or a desktop, it is desirable to determine the shortest path that determines the priority when loading the boot modules However, in the case of radio-controlled devices, such as a printer with an IR interface, the shortest path should allow a wireless connection to be established as quickly as possible The shortest path can be determined by the one implementing the system so that optimization can be achieved for each system.

11
RAMR.A.M.
22
Zustandsdatenstate data
21 - 2621 - 26
Datenmoduledata modules
33
Abhängigkeitsbaumdependency tree
3131
Kürzester Pfadshortest path
311 – 315311 - 315
Datenmoduledata modules
44
Tree-ManagerTree Manager
55
Festplattehard disk
66
Prozessprocess
77
Treiberdriver
88th
Betriebssystemoperating system

Claims (10)

Datenverarbeitungsvorrichtung mit – einer flüchtigen Speichereinrichtung (1) zum Speichern von Datenmodulen (2) betreffend einen Systemzustand im angeschalteten Zustand der Datenverarbeitungsvorrichtung, – einer nichtflüchtigen Speichereinrichtung (5) zum Speichern von Datenmodulen betreffend einen Systemzustand im abgeschalteten Zustand der Datenverarbeitungsvorrichtung und – einer Managing-Einrichtung (4) zum Steuern eines Speichervorgangs der Datenmodule (2) für einen Boot-Vorgang von der nichtflüchtigen Speichereinrichtung (5) in die flüchtige Speichereinrichtung (1), dadurch gekennzeichnet, dass – mit der Managing-Einrichtung (4) ein Abhängigkeitsbaum (3) von den Datenmodulen (2) betreffend den Systemzustand generierbar und ein kürzester Pfad (31) zum möglichst raschen Erreichen eines vorgegebenen Zustands bei dem Boot-Vorgang in dem Abhängigkeitsbaum (3) auffindbar ist und – mit der Managing-Einrichtung (4) der Boot-Vorgang durch Übertragen der Datenmodule (2) betreffend den Systemzustand von der nichtflüchtigen Speichereinrichtung (5) in die flüchtige Speichereinrichtung (1) anhand des kürzesten Pfads (31) durchführbar ist.Data processing device with - a volatile memory device ( 1 ) for storing data modules ( 2 ) relating to a system state in the switched-on state of the data processing device, - a non-volatile memory device ( 5 ) for storing data modules relating to a system state in the switched-off state of the data processing device, and - a managing device ( 4 ) for controlling a storage operation of the data modules ( 2 ) for a boot process from the non-volatile storage device ( 5 ) into the volatile memory device ( 1 ), characterized in that - with the managing institution ( 4 ) a dependency tree ( 3 ) from the data modules ( 2 ) can be generated with regard to the system state and a shortest path ( 31 ) for achieving a given state as quickly as possible during the boot process in the dependency tree ( 3 ) and - with the managing body ( 4 ) the boot process by transferring the data modules ( 2 ) concerning the system state of the nonvolatile memory device ( 5 ) into the volatile memory device ( 1 ) based on the shortest path ( 31 ) is feasible. Datenverarbeitungsvorrichtung nach Anspruch 1, wobei die flüchtige Speichereinrichtung (1) einen RAM-Speicher umfasst.Data processing apparatus according to claim 1, wherein said volatile memory means ( 1 ) comprises a RAM memory. Datenverarbeitungsvorrichtung nach Anspruch 1 oder 2, wobei die nichtflüchtige Speichereinrichtung (5) eine Festplatte und/oder ein flash memory umfasst.A data processing apparatus according to claim 1 or 2, wherein the nonvolatile memory device ( 5 ) includes a hard disk and / or a flash memory. Datenverarbeitungsvorrichtung nach einem der vorhergehenden Ansprüche, wobei mit der Managing-Einrichtung (4) der Abhängigkeitsbaum (3) in der flüchtigen und nichtflüchtigen Speichereinrichtung abspeicherbar ist.Data processing device according to one of the preceding claims, wherein with the managing device ( 4 ) the dependency tree ( 3 ) is stored in the volatile and non-volatile memory device. Datenverarbeitungsvorrichtung nach einem der vorhergehenden Ansprüche, wobei mit der Managing-Einrichtung (4) ein aktueller Systemzustand mit einem in der nichtflüchtigen Speichereinrichtung (5) gespeicherten Systemzustand vergleichbar ist, so dass beim Abschalten der Datenverarbeitungsvorrichtung nur diejenigen Datenmodule (2) oder Teile von Datenmodulen auf der nichtflüchtigen Speichereinrichtung (5) gespeichert werden, die noch nicht gespeichert sind.Data processing device according to one of the preceding claims, wherein with the managing device ( 4 ) a current system state with one in the non-volatile memory device ( 5 ) is comparable, so that when switching off the data processing device only those data modules ( 2 ) or parts of data modules on the nonvolatile memory device ( 5 ) that are not yet saved. Datenverarbeitungsvorrichtung nach einem der vorhergehenden Ansprüche, wobei mit der Managing-Einrichtung (4) für den Boot-Vorgang zunächst der Abhängigkeitsbaum (3) und/oder der kürzeste Pfad (31) in die flüchtige Speichereinrichtung (1) ladbar ist, bevor die Datenmodule (2) betreffend den Systemzustand geladen werden.Data processing device according to one of the preceding claims, wherein with the managing device ( 4 ) for the boot process first the dependency tree ( 3 ) and / or the shortest path ( 31 ) into the volatile memory device ( 1 ) is loadable before the data modules ( 2 ) concerning the system state. Verfahren zum Booten einer Datenverarbeitungsvorrichtung durch – Speichern von Datenmodulen (2) betreffend einen Systemzustand in einer flüchtigen Speichereinrichtung (1) in einem angeschalteten Zustand der Datenverarbeitungsvorrichtung, – Speichern von Datenmodulen betreffend einen Systemzustand in einer nichtflüchtigen Speichereinrichtung (5) in einem abgeschalteten Zustand der Datenverarbeitungsvorrichtung und – Übertragen der Datenmodule (2) für einen Boot-Vorgang von der nichtflüchtigen Speichereinrichtung (5) in die flüchtige Speichereinrichtung (1), gekennzeichnet durch – Generieren eines Abhängigkeitsbaums (3) von den Datenmodulen (2) betreffend den Systemzustand, und – Erstellen eines kürzesten Pfads (31) zum möglichst raschen Erreichen eines vorgegebenen Zustands bei dem Boot-Vorgang in dem Abhängigkeitsbaum (3), so dass das Übertragen der Datenmodule (2) anhand des kürzesten Pfads (31) durchgeführt wird.Method for booting a data processing device by - storing data modules ( 2 ) concerning a system state in a volatile memory device ( 1 in a switched-on state of the data processing device, storing data modules relating to a system state in a non-volatile memory device ( 5 ) in a switched-off state of the data processing device and - transmitting the data modules ( 2 ) for a boot process from the non-volatile storage device ( 5 ) into the volatile memory device ( 1 ), characterized by - generation of a dependency tree ( 3 ) from the data modules ( 2 ) concerning the system state, and - creating a shortest path ( 31 ) for achieving a given state as quickly as possible during the boot process in the dependency tree ( 3 ), so that the transfer of the data modules ( 2 ) based on the shortest path ( 31 ) is carried out. Verfahren nach Anspruch 7, wobei der Abhängigkeitsbaum (3) in der flüchtigen und der nichtflüchtigen Speichereinrichtung abgespeichert wird.The method of claim 7, wherein the dependency tree ( 3 ) is stored in the volatile and the non-volatile memory device. Verfahren nach Anspruch 7 oder 8, wobei ein aktueller Systemzustand mit einem in der nichtflüchtigen Speichereinrichtung (5) gespeicherten Systemzustand verglichen wird, so dass beim Abschalten der Datenverarbeitungsvorrichtung nur diejenigen Datenmodule (2) oder Teile von Datenmodulen auf der nichtflüchtigen Speichereinrichtung (5) gespeichert werden, die noch nicht gespeichert sind.The method of claim 7 or 8, wherein a current system state with a in the non-volatile memory device ( 5 ) is compared, so that when switching off the data processing device only those data modules ( 2 ) or parts of data modules on the nonvolatile memory device ( 5 ) that are not yet saved. Verfahren nach einem der Ansprüche 7 bis 9, wobei für den Boot-Vorgang zunächst der Abhängigkeitsbaum (3) und/oder der kürzeste Pfad (31) in die flüchtige Speichereinrichtung (1) geladen wird, bevor die Datenmodule (2) betreffend den Systemzustand geladen werden.Method according to one of claims 7 to 9, wherein for the boot process, first the dependency tree ( 3 ) and / or the shortest path ( 31 ) into the volatile memory device ( 1 ) is loaded before the data modules ( 2 ) concerning the system state getting charged.
DE200410047369 2004-09-29 2004-09-29 Data processing device e.g. smart-phone, has tree manager to execute booting operation by transferring data segments from hard disk into read only memory based on shortest path Withdrawn DE102004047369A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200410047369 DE102004047369A1 (en) 2004-09-29 2004-09-29 Data processing device e.g. smart-phone, has tree manager to execute booting operation by transferring data segments from hard disk into read only memory based on shortest path

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200410047369 DE102004047369A1 (en) 2004-09-29 2004-09-29 Data processing device e.g. smart-phone, has tree manager to execute booting operation by transferring data segments from hard disk into read only memory based on shortest path

Publications (1)

Publication Number Publication Date
DE102004047369A1 true DE102004047369A1 (en) 2006-03-30

Family

ID=36011675

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200410047369 Withdrawn DE102004047369A1 (en) 2004-09-29 2004-09-29 Data processing device e.g. smart-phone, has tree manager to execute booting operation by transferring data segments from hard disk into read only memory based on shortest path

Country Status (1)

Country Link
DE (1) DE102004047369A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5428780A (en) * 1991-11-21 1995-06-27 International Business Machines Corporation Initializing programs having dependencies
US20020147903A1 (en) * 2001-04-10 2002-10-10 Discreet Logic Inc. Initialising modules
US20030005273A1 (en) * 2001-06-29 2003-01-02 Perycz Krzysztof S. Initialization, reconfiguration, and shut down of a module function
GB2399188A (en) * 2003-03-04 2004-09-08 Fujitsu Serv Ltd Reducing the boot-up time of a computer system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5428780A (en) * 1991-11-21 1995-06-27 International Business Machines Corporation Initializing programs having dependencies
US20020147903A1 (en) * 2001-04-10 2002-10-10 Discreet Logic Inc. Initialising modules
US20030005273A1 (en) * 2001-06-29 2003-01-02 Perycz Krzysztof S. Initialization, reconfiguration, and shut down of a module function
GB2399188A (en) * 2003-03-04 2004-09-08 Fujitsu Serv Ltd Reducing the boot-up time of a computer system

Similar Documents

Publication Publication Date Title
DE19681704B4 (en) Method for executing a program from a nonvolatile memory
DE60005563T2 (en) COMPUTER SYSTEM INITIALIZATION THROUGH URLADE CODE STORED IN A MEMORY WITH SEQUENTIAL ACCESS
DE10296798B4 (en) SMM loader and execution mechanism for component software for multiple architectures
DE102004038649B4 (en) Continuous storage device for backup process checkpoint states
DE112011103880T5 (en) Directly migrate software images using streaming technology
DE102007003179A1 (en) Method for direct boot memory system boot in a new memory architecture
DE102006036597A1 (en) Boot process acceleration method for electronic device e.g. personal computer involves launching specified application programs and blocking start of unnecessary application programs if fast boot signal is input
DE102006009943A1 (en) Method of using portable software
DE112008000180T5 (en) Method and system for implementing a fast wakeup of a flash memory system
DE102008013033A1 (en) Failsafe Computer Support Assistant
DE112009002207T5 (en) Upgrading a firmware with multiple processors
DE102008058209A1 (en) Arrangement and method for preventing a user operating system in a VMM system from shutting down an arrangement used by a service operating system
DE112012004893T5 (en) Implement a software image on multiple targets using a data stream technique
DE60317392T2 (en) A method of automatically updating path access to a hardware perimeter hard disk system of computing resources, arrangement for performing this method, and memory used in that system
EP1744236B1 (en) Configuration of components when changing from a low-power to a normal-power consumption mode
DE69816472T2 (en) DEVICE AND METHOD FOR ACCESSING A MEMORY WITH OPTIONAL ACCESS
DE102006029690B4 (en) Maintaining an electronic control unit identification during reprogramming events
DE112016000218T5 (en) System and method for displaying driver installation files when activating a USB device
DE4238099C2 (en) Microprocessor with multiple operating modes
DE102018202446A1 (en) Method for modularizing a software architecture
DE102014223035A1 (en) Method and storage management device for transferring data within a computer system, storage system and computer system
DE602005003778T2 (en) A method and apparatus for rewriting a sector with bootloader software in a sector-erasable non-volatile semiconductor memory
DE102004047369A1 (en) Data processing device e.g. smart-phone, has tree manager to execute booting operation by transferring data segments from hard disk into read only memory based on shortest path
DE60312453T2 (en) Computing unit and data loading method for fast initialization of the arithmetic unit
DE19946959B4 (en) Method for loading data for basic system routines

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
8110 Request for examination paragraph 44
8139 Disposal/non-payment of the annual fee