DE112014006861T5 - Programmausführungssystem und Verfahren zum Starten von residenten Programmen - Google Patents

Programmausführungssystem und Verfahren zum Starten von residenten Programmen Download PDF

Info

Publication number
DE112014006861T5
DE112014006861T5 DE112014006861.6T DE112014006861T DE112014006861T5 DE 112014006861 T5 DE112014006861 T5 DE 112014006861T5 DE 112014006861 T DE112014006861 T DE 112014006861T DE 112014006861 T5 DE112014006861 T5 DE 112014006861T5
Authority
DE
Germany
Prior art keywords
resident
program
startup
program execution
programs
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
DE112014006861.6T
Other languages
English (en)
Inventor
Kohei Tanaka
Akira Toyooka
Tetsuji Fujisaki
Mitsuo Shimotani
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE112014006861T5 publication Critical patent/DE112014006861T5/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Landscapes

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

Abstract

Ein Programmausführungssystem beinhaltet eine Programmausführungseinheit 11, die eine Mehrzahl von Programmen ausführt, die eine Mehrzahl von residenten Programmen beinhalten, und eine Residentprogramm-Startsteuerung 14, die eine Abfolge steuert, in welcher eine Mehrzahl von residenten Programmen gestartet wird. Die Programmausführungseinheit 11 startet sequentiell die Mehrzahl von residenten Programmen beim Systemhochfahren anhand einer Startabfolgedefinition, die Information ist, die eine Abfolge spezifiziert, in welcher die Mehrzahl von residenten Programmen zu starten ist. Falls die verwendet werdende Ressourcenmenge einen gewissen Wert aufgrund des Startens der Mehrzahl von residenten Programmen übersteigt, modifiziert die Residentprogramm-Startsteuerung 14 die Startabfolgedefinition beim aktuellen Systemhochfahren und verwendet die modifizierte Startabfolgedefinition beim nächsten Systemhochfahren.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung bezieht sich auf ein Programmausführungssystem und genauer gesagt auf ein Verfahren zum Starten von residenten Programmen.
  • Hintergrund
  • Als eine Vorrichtung (Programmausführungsvorrichtung), die mit einem Programmausführungssystem, wie etwa einem Smartphone oder einem Tablet-Endgerät, sind beispielsweise jene, in die eine Anwendung frei durch einen Anwender eingeführt (installiert) werden kann, weit verbreitet gewesen. Weiter beinhalten Anwendungen, die durch einen Anwender eingeführt werden können, eine Anwendung, die ein Programm (residentes Programm) beinhaltet, welches beim Starten eines Systems automatisch gestartet wird und im System residiert. Aufgrund des in einem System residierenden, residenten Programms werden Reduktion bei der Bedienungsbelastung eines Anwenders und kontinuierlicher Service implementiert.
  • Jedoch werden in dem Fall, in welchem ein Anwender viele Anwendungen in eine Programmausführungsvorrichtung einführt, falls deren residente Programme ohne jegliche Beschränkung gestartet werden, Ressourcen (Speicherkapazität und eine Verarbeitungsgeschwindigkeit einer Zentraleinheit (CPU)) der Programmausführungsvorrichtung unzureichend und daher steht zu befürchten, dass die Anwendungen nicht normal ausgeführt werden können. Um ein solches Problem anzugehen, beschränkt eine übliche Programmausführungsvorrichtung einen Typ von Anwendungen/Applikationen, denen gestattet wird, zu residieren, oder beendet zwangsweise eine Anwendung mit niedriger Priorität, wenn freier Speicherplatz abnimmt.
  • Weiter offenbart Patentdokument 1 unten eine Technologie des automatischen Umschaltens einer zu startenden Anwendung anhand einer Zeit, zu welcher das System hochgefahren wird. Patentdokument 2 offenbart eine Technologie, in der Anwendungen in einen residenten Typ und eine nicht residenten Typ (zeitweiligen Typ) unterteilt werden, und wenn eine Speicherknappheit der Informationsendgerätvorrichtung auftritt, wird eine nicht residente Typ-Anwendung zwangsweise beendet.
  • Patentdokument 3 offenbart eine Technologie des Bestimmens der Priorität jeder Anwendung auf Basis deren Verwendungshäufigkeit.
  • Dokumente des Stands der Technik
  • Patentdokumente
    • Patentdokument 1: Japanische Patentoffenlegungsschrift Nr. 2004-157781
    • Patentdokument 2: Japanische Patentoffenlegungsschrift Nr. 2003-15892
    • Patentdokument 3: Japanische Patentoffenlegungsschrift Nr. 2013-246770
  • Zusammenfassung der Erfindung
  • Durch die Erfindung zu lösende Probleme
  • Bei einer konventionellen Programmausführungsvorrichtung ist eine Abfolge, mit welcher residente Programme beim Systemhochfahren gestartet werden, jedes Mal dieselbe. Daher, falls eine Ressourcenverknappung aufgrund eines residenten Programms auftritt, wird jedes Mal nur dasselbe residente Programm gestartet. Mit anderen Worten gibt es ein residentes Programm, das gar nicht gestartet wird. Jedoch beinhalten residente Programme die, die einen substantiellen Bedarf haben, periodisch gestartet zu werden, wie etwa ein automatisches Aktualisierungsprogramm einer Anwendung, und daher ist es unerwünscht, dass es ein residentes Programm gibt, das gar nicht gestartet wird.
  • Die vorliegende Erfindung ist gemacht worden, um die oben beschriebenen Probleme zu lösen und zielt darauf ab, ein Programmausführungssystem bereitzustellen, das die Erzeugung eines residenten Programms verhindern kann, welches gar nicht gestartet wird.
  • Mittel zum Lösen der Probleme
  • Ein Programmausführungssystem gemäß der vorliegenden Erfindung beinhaltet eine Programmausführungseinheit, welche konfiguriert ist, eine Mehrzahl von Programmen, einschließlich einer Mehrzahl von residenten Programmen, auszuführen; und eine Residentprogramm-Startsteuerung, die konfiguriert ist, eine Abfolge zu steuern, in welcher die Mehrzahl von residenten Programmen gestartet wird, wobei die Programmausführungseinheit sequentiell die Mehrzahl von residenten Programmen beim Systemhochfahren startet, anhand einer Startabfolgedefinition, die Information ist, die eine Abfolge spezifiziert, in welcher die Mehrzahl von residenten Programmen zu starten ist, und die Residentprogramm-Startsteuerung die Startabfolgedefinition beim aktuellen Systemhochfahren modifiziert und die modifizierte Startabfolgedefinition beim nächsten Systemhochfahren verwendet, wenn eine Ressourcennenge, die genutzt wird, aufgrund des Startens der Mehrzahl von residenten Programmen einen bestimmten Wert übersteigt.
  • Effekte der Erfindung
  • Gemäß der vorliegenden Erfindung, in dem Fall, bei dem eine Ressourcenmenge, die aufgrund des Startens eines residenten Programms verwendet wird, einen gewissen Wert übersteigt, wird die gegenüber der Startabfolgedefinition, die beim aktuellen Systemhochfahren verwendet wird, modifizierte Startabfolgedefinition beim nächsten Systemhochfahren verwendet, wodurch beim nächsten Systemhochfahren die Abfolge, in welcher eine Mehrzahl von residenten Programmen gestartet ist, eine andere als die Startabfolgedefinition beim aktuellen Systemhochfahren ist. Dies kann das Entstehen eines residenten Programmes verhindern, das niemals gestartet wird.
  • Die Aufgaben, Merkmale, Aspekte und Vorteile der vorliegenden Erfindung werden durch die nachfolgende detaillierte Beschreibung und die beigefügten Zeichnungen ersichtlicher werden.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Diagramm, das eine Konfiguration eines Programmausführungssystems gemäß der vorliegenden Erfindung illustriert.
  • 2 ist ein Diagramm, welches die Konfiguration einer Anwendung illustriert.
  • 3 ist ein Diagramm, das ein Beispiel einer Startabfolgedefinition illustriert.
  • 4 ist ein Diagramm, das eine Speicherkapazität einer Programmausführungsvorrichtung beschreibt.
  • 5 ist ein Diagramm zum Beschreiben einer Operation der Programmausführungsvorrichtung gemäß einer Ausführungsform 1.
  • 6 ist ein Diagramm, das eine Startabfolgedefinition nach der in 5 illustrierten Operation illustriert.
  • 7 ist ein Flussdiagramm, welches eine Operation der Programmausführungsvorrichtung gemäß Ausführungsform 1 illustriert.
  • 8 ist ein Flussdiagramm, das eine Operation der Programmausführungsvorrichtung gemäß Ausführungsform 1 illustriert, in dem Fall, bei dem die durch ein residentes Programm zu verwendende Speichermenge vorab bestimmt werden kann.
  • 9 ist ein Diagramm zum Beschreiben einer Operation der Programmausführungsvorrichtung, wenn eine neue Anwendung eingeführt wird.
  • 10 ist ein Programm zum Beschreiben einer Operation der Programmausführungsvorrichtung, wenn eine neue Anwendung eingeführt wird.
  • 11 ist ein Diagramm, das ein Beispiel einer Startabfolgedefinition, nachdem eine neue Anwendung eingeführt ist, illustriert.
  • 12 ist ein Diagramm zum Beschreiben einer Operation einer Programmausführungsvorrichtung gemäß einer Ausführungsform 2.
  • 13 ist ein Flussdiagramm, das eine Operation der Programmausführungsvorrichtung gemäß der Ausführungsform 2 illustriert.
  • 14 ist ein Diagramm, zum Beschreiben einer Operation einer Programmausführungsvorrichtung gemäß einer Ausführungsform 3.
  • 15 ist ein Flussdiagramm, das eine Operation der Programmausführungsvorrichtung gemäß Ausführungsform 3 illustriert.
  • 16 ist ein Diagramm, das ein Beispiel einer Startabfolgedefinition gemäß einer Ausführungsform 4 illustriert.
  • 17 ist ein Diagramm, das ein Beispiel einer Startabfolgedefinition gemäß Ausführungsform 4 illustriert.
  • 18 ist ein Diagramm, das ein Beispiel einer Startabfolgedefinition gemäß Ausführungsform 4 illustriert.
  • 19 ist ein Flussdiagramm, das eine Operation einer Programmausführungsvorrichtung gemäß einer Ausführungsform 5 illustriert.
  • 20 ist ein Flussdiagramm, das eine Operation der Programmausführungsvorrichtung gemäß der Ausführungsform 5 illustriert, in dem Fall, bei dem eine durch ein residentes Programm zu verwendende Speichermenge vorab bestimmt werden kann.
  • 21 ist ein Diagramm zum Beschreiben einer Operation einer Programmausführungsvorrichtung gemäß einer Ausführungsform 6.
  • Beschreibung von Ausführungsformen
  • Ausführungsform 1
  • 1 ist ein Diagramm, das eine Konfiguration eines Programmausführungssystems gemäß der vorliegenden Erfindung illustriert. Das Programmausführungssystem beinhaltet eine Programmausführungsvorrichtung 10, einen Startschalter 21, eine Anzeige 22 und eine Audioausgabevorrichtung 23, welche mit der Programmausführungsvorrichtung 10 verbunden sind. Während die vorliegende Erfindung breit auf Programmausführungssysteme anwendbar ist, einschließlich persönlichen Computern, wird die vorliegende Erfindung effektiver auf tragbare oder kompakte Vorrichtungen angewendet (beispielsweise Smartphones, Tablet-Endgeräte, Fahrzeuginformations-Anzeigevorrichtungen und Navigationssysteme), die beschränkte Ressourcen haben, bedingt durch Gründe wie etwa Produktionskosten, Produktgröße und Stromverbrauch.
  • Der Startschalter 21 ist ein Stromversorgungsschalter der Programmausführungsvorrichtung 10 und wenn eine Stromversorgung der Programmausführungsvorrichtung 10 durch Anwenderbetätigung auf dem Startschalter 21 eingeschaltet wird, wird das Programmausführungssystem gestartet. Der Startschalter 21 kann eine Fernsteuerung sein, welche die Programmausführungsvorrichtung 10 fernsteuert oder kann in die Programmausführungsvorrichtung 10 eingebaut sein. Weiter, in dem Fall, bei dem das Programmausführungssystem auf eine Fahrzeugvorrichtung angewendet wird, kann der Startschalter 21 konfiguriert sein, zusammen mit einem Stromversorgungsschalter oder einem Zündschalter eines Fahrzeugs zu arbeiten.
  • Während eine Flüssigkristallanzeige typischerweise wie die Anzeige 22 ist, kann eine beliebige Vorrichtung (beispielsweise eine Anzeigeeinheit eines Smartphones, eines Tablet-Endgeräts oder eines Instrumentenpaneels eines Fahrzeugs) mit einer Bildanzeigefunktion verwendet werden. Zusätzlich kann die Anzeige 22 ein Touch-Panel sein, das als eine Eingabe fungiert, die eine Anwenderbedienung empfängt. Während ein Lautsprecher oder ein Kopfhörer typisch als Audioausgabevorrichtung 23 ist, kann dafür eine beliebige Vorrichtung mit einer Audioausgabefunktion verwendet werden.
  • Die Programmausführungsvorrichtung 10 beinhaltet eine Programmausführungseinheit 11, eine Speichereinheit 12, einen Ressourcenmonitor 13 und eine Residentprogramm-Startsteuerung 14. Die Programmausführungsvorrichtung 10 ist unter Verwendung eines Computers konfiguriert und die Programmausführungseinheit 11, der Ressourcenmonitor 13 und die Residentprogramm-Startsteuerung 14 werden durch den gemäß einem Programm arbeitenden Computer implementiert. Die Speichereinheit 12 besteht aus einem nicht-flüchtigen Speichermedium, wie etwa einer Festplatte oder einer Wechselplatte.
  • Die Programmausführungseinheit 11 kann simultan eine Mehrzahl von Anwendungen ausführen. Zusätzlich kann die Programmausführungseinheit 11 das Ausführungsergebnis jeder Anwendung aus der Anzeige 22 oder der Audioausgabevorrichtung 23 gemäß der Operation der Anwendung ausgeben.
  • Im Allgemeinen wird eine durch die Programmausführungsvorrichtung ausgeführte Anwendung als ein Paket (package) gebildet, das eines oder mehreren Programme und eine Definitionsdatei mit verschiedenen Informationsstücken bezüglich der Anwendung beinhaltet.
  • Zusätzlich, wie in 2 illustriert, beinhaltet allgemein eine Anwendung ein Anzeigeprogramm mit einem auf der Anzeige 22 angezeigten Ausführungsbildschirm, einem residenten Programm, welches resident ist (mit anderen Worten, im Hintergrund läuft), ohne auf der Anzeige 22 gezeichnet zu werden, und eine Definitionsdatei. Es ist anzumerken, dass es eine Anwendung gibt, die ein residentes Programm und eine Definitionsdatei beinhaltet, ohne ein Anzeigeprogramm zu beinhalten, und eine Anwendung, die ein Anzeigeprogramm und eine Definitionsdatei beinhaltet, ohne ein residentes Programm zu beinhalten. Zusätzlich kann eine Anwendung mehrere Anzeigeprogramme, residenten Programme oder Definitionsdateien beinhalten.
  • Beispiele des residenten Programms beinhalten ein Kartenaktualisierungs-Bestätigungsprogramm zur Navigation, ein Postbestätigungsprogramm für Sozialnetzwerkdienste-(SNS)-Anwendung, ein Aquise-Programm für neueste Nachrichten einer Nachrichtenanwendung, ein Aktualisierungs-Bestätigungsprogramm einer Musikanwendung und ein Aquise-Programm neuester Information einer Wetterberichtanwendung.
  • Eine durch die Programmausführungseinheit 11 ausgeführte Anwendung wird in der Speichereinheit 12 gespeichert. Es wird in diesem Kontext angenommen, dass in der Speichereinheit 12 gespeicherte Anwendungen eine Mehrzahl von Anwendungen einschließlich eines residenten Programms beinhalten. Weiter startet die Programmausführungseinheit 11 die residenten Programme der Mehrzahl von Anwendungen in einer vorbestimmten Abfolge beim Systemhochfahren. Eine "Startabfolgedefinition" ist Information, die eine Abfolge (residente Programm-Startabfolge) spezifiziert, in welcher eine Mehrzahl von residenten Programmen durch die Programmausführungseinheit 11 zu starten ist. Die Startabfolgedefinition ist in der Speichereinheit 12 gespeichert und durch die Programmausführungseinheit 11 beim Systemhochfahren ausgelesen.
  • 3 ist ein Diagramm, welches schematisch die in der Speichereinheit 12 gespeicherte Startabfolgedefinition illustriert. Das Beispiel in 3 zeigt eine Abfolge zum Starten von residenten Programmen A bis E als die Startabfolgedefinition. Es wird in der vorliegenden Ausführungsform vorgeschlagen, dass die Startabfolgedefinition die Abfolge spezifiziert, in welcher die residenten Programme in einer Schleifenmanier zu starten sind, und Information beinhaltet, die ein residentes Programm angibt, welches ein zu startendes Objekt ist.
  • In dem Fall, bei dem die in 3 illustrierte Startabfolgedefinition in der Speichereinheit 12 gespeichert wird, startet die Programmausführungseinheit 11 zuerst das residenten Programm A, welches ein zu startendes Objekt ist, und startet dann zu startende Objekte eines nach dem anderen entsprechend der Startabfolgedefinition. Das heißt, dass die Programmausführungseinheit 11 die residenten Programme A bis E in der Abfolge von A, B, C, D und E startet.
  • Der Ressourcenmonitor 13 überwacht den Verwendungsstatus von Ressourcen durch jede Anwendung. Beispiele der Information, die den Verwendungsstatus von Ressourcen angibt, beinhalten eine Speichermenge, die verwendet wird, oder CPU-Einsatz. In der vorliegenden Ausführungsform wird angenommen, dass der Ressourcenmonitor 13 eine Speichermenge, die in der Programmausführungsvorrichtung 10 verwendet wird, überwacht.
  • Hier beinhalten durch die Programmausführungseinheit 11 ausgeführte Programme ein Programm (Systemprogramm) nur zum Implementieren einer Basisoperation der Programmausführungsvorrichtung 10, wie auch ein Programm, das in einer durch einen Anwender eingeführten Anwendung enthalten ist. Da das Systemprogramm immer auszuführen ist, wird ein Teil der Speicherkapazität der Programmausführungsvorrichtung 10 als ein Bereich für das Systemprogramm reserviert und wird der verbleibende Teil als ein Bereich für Anwendungen im Allgemeinen verwendet, wie in 4 illustriert. Die "Speicherkapazität" in der vorliegenden Spezifikation gibt die Kapazität des Bereichs für Anwendungen an.
  • Die Residentprogramm-Startsteuerung 14 steuert die Abfolge (Residentprogramm-Startabfolge), in welcher eine Mehrzahl von residenten Programmen zu starten ist. Spezifisch modifiziert in dem Fall, bei dem eine durch das Starten eines residenten Programmes beim Systemhochfahren verursachte Speicherverknappung detektiert wird, die Residentprogramm-Startsteuerung 14 die Startabfolgedefinition, die beim aktuellen Systemhochfahren verwendet wird, und verwendet die modifizierte Startabfolgedefinition beim nächsten Systemhochfahren. Das heißt, dass die Residentprogramm-Startsteuerung 14 den Inhalt der in der Speichereinheit 12 gespeicherten Startabfolgedefinition aktualisiert. Somit wird eine beim nächsten Systemhochfahren zu verwendende Residentprogramm-Startabfolge gegenüber derjenigen beim aktuellen Systemhochfahren modifiziert.
  • Als Nächstes wird die Operation der Programmausführungsvorrichtung 10 beim Starten unter Bezugnahme auf 5 beschrieben. 5 illustriert die Operation der Programmausführungsvorrichtung 10, wenn angenommen wird, dass die Startabfolgedefinition in 3 in der Speichereinheit 12 gespeichert ist. Es wird in diesem Kontext angenommen, dass die Speicherkapazität der Programmausführungsvorrichtung 10 80 MB beträgt und die Obergrenze (obere Grenze der Speicherverwendung) der durch residente Programme verwendbaren Speicherkapazität als 50 MB spezifiziert wird. Das heißt, wenn eine durch residente Programme verwendete Speichermenge 50 MB übersteigt, wird festgestellt, dass eine Speicherverknappung auftritt. Weiter, wie in 3 illustriert, ist die durch jedes der residenten Programme A, B, C, D und E zu verwendende Speichermenge 20 MB, 10 MB, 30 MB, 15 MB bzw. 25 MB.
  • Wenn die Stromversorgung der Programmausführungsvorrichtung 10 durch den Startschalter 21 zum Starten des Systems eingeschaltet wird, startet die Programmausführungseinheit 11 das residente Programm A, das ein zu startendes Objekt ist, gemäß der Startabfolgedefinition (3). Wie im Teil (a) von 5 illustriert, verwendet das Starten des residenten Programms A lediglich die Speicherkapazität von 20 MB, niedriger als 50 MB, was die Obergrenze von Speicherverwendung ist. In diesem Fall ändert die Programmausführungseinheit 11 das zu startende Objekt von dem residenten Programm A zum residenten Programm B gemäß der Startabfolgedefinition und startet das residente Programm B. Wie im Teil (b) von 5 illustriert, selbst falls die residenten Programme A und B gestartet werden, ist die verwendet werdende Speichermenge 30 MB, was immer noch niedriger ist als die obere Grenze der Speicherverwendung. Daher verändert die Programmausführungseinheit 11 das zu startende Objekt weiter vom residenten Programm B zum residenten Programm C und startet das residente Programm C.
  • Wie in Teil (c) von 5 illustriert, wenn die residenten Programme A, B und C gestartet werden, erreicht die verwendet werdende Speichermenge 60 MB, was die Obergrenze der Speicherverwendung übersteigt, und somit tritt eine Speicherverknappung auf. In diesem Fall beendet die Programmausführungseinheit 11 das residente Programm C (d.h., das zuletzt gestartete residente Programm C), welches die Ursache dafür ist, dass die verwendet werdende Speichermenge die obere Grenze der Speicherverwendung übersteigt, um die Speicherverknappung zu überwinden, wie in Teil (d) von 5 illustriert. Weiter aktualisiert die Residentprogramm-Startsteuerung 14 die in der Speichereinheit 12 gespeicherte Startabfolgedefinition auf solche Weise, dass das residente Programm C, welches das zu startende aktuelle Objekt ist, bei dem nächsten Systemhochfahren zuerst zu starten ist. Das heißt, dass die Residentprogramm-Startsteuerung 14 die Startabfolgedefinition, in welcher das residente Programm C das zu startende Objekt ist, wie in 6 illustriert, in der Speichereinheit 12 speichert. Somit wird beim nächsten Systemhochfahren eine ähnliche Operation zur obigen Operation durchgeführt, nachdem das residente Programm C zuerst durch die Programmausführungseinheit 11 gestartet wird.
  • Wie oben beschrieben, wird in der vorliegenden Ausführungsform der Inhalt der Startabfolgedefinition durch Wechseln des Residentprogramms, das zuerst zu starten ist, modifiziert, ohne die Schleife der Startabfolgedefinition zu modifizieren. Entsprechend hat jedes der residenten Programme eine Chance, ausgeführt zu werden, während das System wiederholt hochgefahren und heruntergefahren wird und dies verhindert die Erzeugung eines residenten Programms, das gar nicht gestartet wird.
  • 7 ist ein Flussdiagramm, welches den Betrieb der Programmausführungsvorrichtung 10 gemäß der Ausführungsform 1 beim Systemhochfahren zeigt. Die unter Bezugnahme auf 5 beschriebene Operation wird durch die Programmausführungsvorrichtung 10, welche die Operation gemäß dem Flussdiagramm durchführt, implementiert.
  • Wenn die Stromversorgung der Programmausführungsvorrichtung 10 durch den Startschalter 21 eingeschaltet wird, um das System zu starten, erfasst die Programmausführungseinheit 11 die Startabfolgedefinition aus dem Speichereinheit 12 (Schritt S11) und startet ein residentes Programm, das ein zu startendes Objekt ist (Schritt S12). Dann überwacht der Ressourcenmonitor 13 eine Speichermenge, die in der Programmausführungsvorrichtung 10 verwendet wird, um zu bestätigen, ob die verwendet werdende Speichermenge nicht größer als die Obergrenze der Speicherverwendung ist oder nicht (Schritt ST13). Falls die verwendet werdende Speichermenge nicht größer als die Obergrenze der Speicherverwendung ist (JA in Schritt S13), wird ein zu startendes Objekt zum nächsten residenten Programm gewechselt (Schritt S14) und dann kehrt der Prozess zu Schritt S12 zurück.
  • Falls die verwendet werdende Speichermenge die Obergrenze der Speicherverwendung übersteigt (NEIN in Schritt ST13), beendet die Programmausführungseinheit 11 das zuletzt gestartete, residente Programm (Schritt S15). Weiter bestimmt die Residentprogramm-Startsteuerung 14 das residente Programm, welches das aktuell zu startende Objekt ist, das Objekt zu sein, das beim nächsten Systemhochfahren zu starten ist (Schritt S16) und speichert die Startabfolgedefinition, in welcher dieses residente Programm das zu startende Objekt ist, in der Speichereinheit 12 (Schritt S17). Somit wird der Hochfahrprozess des Systems abgeschlossen.
  • In der obigen Beschreibung wird festgestellt, ob eine Speicherverknappung auftritt oder nicht (Schritt S13), nachdem ein residentes Programm tatsächlich gestartet ist (Schritt S12). Falls jedoch die durch jedes residente Programm zu verwendende Speichermenge vorab wahrgenommen wird, kann festgestellt werden, ob eine Speicherverknappung auftreten wird oder nicht, vor dem Start eines residenten Programms. In diesem Fall kann das residente Programm gestartet werden und nur residieren, wenn festgestellt wird, dass keine Speicherverknappung auftritt.
  • Wenn beispielsweise die Information eines durch ein residentes Programm zu verwendenden Speicherbetrags in die Definitionsdatei geschrieben ist (2), die in einer Anwendung enthalten ist, kann die durch das residente Programm zu verwendende Speichermenge vorab bestimmt werden. Weiter kann die Information über eine zu verwendende Speichermenge, die in die Definitionsdatei geschrieben ist, ein gemessener Wert zum Zeitpunkt des vorherigen Starts des residenten Programms sein.
  • Die Operation der Programmausführungsvorrichtung 10 beim Systemhochfahren, wenn eine durch ein residentes Programm zu verwendende Speichermenge vorher bestimmt werden kann, wird unten detaillierter beschrieben. 8 ist ein Flussdiagramm, welches diese Operation illustriert.
  • Wenn die Stromversorgung der Programmausführungsvorrichtung 10 durch den Startschalter 21 eingeschaltet wird, um das System zu starten, erfasst die Programmausführungseinheit 11 die Startabfolgedefinition aus der Speichereinheit 12 (Schritt S21). Dann sagt die Programmausführungseinheit 11 eine zu verwendende Speichermenge vorher, wenn das residente Programm, welches das zu startende Objekt ist, gestartet wird, auf Basis der aktuell in der Programmausführungsvorrichtung 10 verwendet werdenden Speichermenge, die durch den Ressourcenmonitor 13 detektiert wird, und die durch das residente Programm, welches das zu startende Objekt ist, zu verwendende Speichermenge, und bestimmt, ob die zu dieser Zeit zu verwendende Speichermenge nicht größer als die Obergrenze der Speicherverwendung ist oder nicht (Schritt S22).
  • Wenn festgestellt wird, dass die zu verwendende Speichermenge nicht größer als die Obergrenze der Speicherverwendung ist, selbst falls das reduzierte Programm, welches das zu startende Objekt ist, gestartet wird (JA in Schritt S22), startet die Programmausführungseinheit 11 dieses residente Programm (Schritt S23). Dann ändert die Programmausführungseinheit 11 das zu startende Objekt zum nächsten residenten Programm (Schritt S24), und dann kehrt der Prozess zu Schritt S22 zurück.
  • Wenn andererseits festgestellt wird, dass die zu verwendende Speichermenge die Obergrenze von Speicherverwendung übersteigt, wenn das residente Programm, welches das zu startende Objekt ist, gestartet wird (NEIN in Schritt ST22), startet die Programmausführungseinheit 11 dieses residente Programm nicht. In diesem Fall bestimmt die Residentprogramm-Startsteuerung 14 das residente Programm, welches das aktuell zu startende Programm ist, als das beim nächsten Systemhochfahren zu startende Objekt (Schritt S25) und speichert die Startabfolgedefinition, in welcher dieses residente Programm das zu startende Objekt ist, in der Speichereinheit 12 (Schritt S26). somit wird der Hochfahrprozess des Systems abgeschlossen.
  • Wenn ein Anwender eine neue Anwendung in die Programmausführungsvorrichtung 10 einführt, fügt die Residentprogramm-Startsteuerung 14 das neue residente Programm (F) zur Abfolge der residenten Programme in der Startabfolgedefinition hinzu, die in der Speichereinheit 12 gespeichert ist, wie in 9 illustriert. Eine neue Anwendung kann an jegliche Position der Startabfolgedefinition hinzugefügt werden. Jedoch wird es bevorzugt, das beispielsweise die neue Anwendung an einer Position hinzugefügt werden kann, wo der Durchschnitt der durch das neue residente Programm zu verwendenden Speichermengen und der vor und nach dem neuen residenten Programm lokalisierten residenten Programme nahe an den Durchschnitt der durch alle in der Startabfolgedefinition enthaltenen residenten Programme zu verwendenden Speichermengen gelangt. Dies kann verhindern, dass eine Anwendung mit einer großen zu verwendenden Speichermenge an einer spezifischen Position konzentriert wird, wodurch mehr residente Programme simultan ausgeführt werden können.
  • In dem Fall, bei dem die durch das neue residente Programm F zu verwendende Speichermenge 20 MB beträgt, beträgt der Durchschnitt der durch alle in der Startabfolgedefinition nach Hinzufügung des residenten Programms F beinhalteten residenten Programme A bis F zu verwendende Speichermengen 20,0 MB, wie in 9 illustriert. Weiter, wie in 10 illustriert, ist der Durchschnitt der durch das neue residente Programm F und die residenten Programme vor und nach der Position, wo das neue residente Programm F hinzuzufügen ist, zu verwendenden Speichermengen wie unten genannt. Spezifisch, wenn das residente Programm F zwischen den residenten Programmen A und B hinzugefügt wird, wird der Durchschnitt 16,7 MB; wenn das residente Programm F zwischen den residenten Programmen B und C hinzugefügt wird, wird der Durchschnitt 20,0 MB; wenn das residente Programm F zwischen den residenten Programmen C und D hinzugefügt wird, wird der Durchschnitt 21,7 MB; wenn das residente Programm F zwischen den residenten Programmen D und E hinzugefügt wird, wird der Durchschnitt 20,0 MB; und wenn das residente Programm F zwischen den residenten Programmen E und A hinzugefügt wird, wird der Durchschnitt 21,7 MB. Vom Obigen her ist es besser, das residente Programm F zwischen den residenten Programmen B und C oder zwischen den residenten Programmen D und E hinzuzufügen. 11 illustriert die Startabfolgedefinition, in welcher das residente Programm F zwischen den residenten Programmen B und C hinzugefügt wird.
  • Ausführungsform 2
  • In der Ausführungsform 1 wird der Inhalt der Startabfolgedefinition durch Ändern eines residenten Programmes, welches zuerst zu starten ist, modifiziert, ohne die Schleife der Startabfolgedefinition zu modifizieren. Jedoch ist das Verfahren zum Modifizieren der residenten Programmstartabfolge nicht darauf beschränkt. In einer Ausführungsform 2, wenn eine residente Programmstartabfolge modifiziert wird, bestimmt eine Residentprogramm-Startsteuerung 14 zufällig die Abfolge der residenten Programme, wie in 12 illustriert. Gemäß auch diesem Verfahren können ähnliche Effekte zur Ausführungsform 1 erhalten werden.
  • 13 ist ein Flussdiagramm, welches die Operation einer Programmausführungsvorrichtung 10 gemäß der Ausführungsform 2 beim Systemhochfahren illustriert. In diesem Flussdiagramm wird Schritt S16 in 7 zum Bestimmen eines beim nächsten Systemhochfahrens zu startenden Objektes durch Schritt S16a zum zufälligen Bestimmen der Abfolge von residenten Programmen in der Startabfolgedefinition beim nächsten Systemhochfahren ersetzt und daher wird die Beschreibung davon hier weggelassen.
  • Ausführungsform 3
  • In der Ausführungsform 1, wenn aufgrund des Startens eines residenten Programmes Speicherverknappung auftritt, werden nachfolgende residente Programme nicht gestartet. Beispielsweise im Beispiel von 5, wenn aufgrund des Startens des residenten Programms C Speicherverknappung auftritt, wie im Teil (c) von 5 illustriert, wird der Systemhochfahrprozess in dem in Teil (d) von 5 illustrierten Zustand beendet und werden die residenten Programme D und E nicht gestartet.
  • Jedoch ist in dem in Teil (d) von 5 illustrierten Zustand die verwendet werdende Speichermenge 30 MB und es sind 20 MB bis zu den 50 MB, welche die obere Grenze der Speicherverwendung sind, übrig. Daher muss das residente Programm D, welches 15 MB als eine zu verwendende Speichermenge aufweist, ausführbar sein. Eine Ausführungsform 3 verhindert, dass die Speicherkapazität nicht ausreichend effektiv verwendet wird, wie im oben beschriebenen Fall.
  • Spezifisch führt eine Programmausführungseinheit 11 in der Programmausführungsvorrichtung 10 gemäß der Ausführungsform 3 wiederholt anhand der Startabfolgedefinition eine Operation durch, um das nächste residente Programm zu veranlassen, zu residieren, indem das residente Programm, welches die Ursache der Speicherverknappung ist, übersprungen wird. Die wiederholte Operation wird ausgeführt, bis eine Runde der residenten Programme in der Startabfolgedefinition beendet wird.
  • Diese Operation wird unter Bezugnahme auf 14 beschrieben. 14 illustriert die Operation basierend auf der in 3 illustrierten Startabfolgedefinition. Auch in diesem Fall wird angenommen, dass die Speicherkapazität der Programmausführungsvorrichtung 10 80 MB beträgt, und die Obergrenze der Speicherverwendung 50 MB ist.
  • Wenn die Stromversorgung der Programmausführungsvorrichtung 10 durch den Startschalter 21 eingeschaltet wird, um das System zu starten, startet die Programmausführungseinheit 11 das residente Programm A, welches ein zu startendes Objekt ist, gemäß der Startabfolgedefinition (3), die in der Speichereinheit 12 gespeichert ist. Wie in Teil (a) von 14 illustriert, verwendet das Starten des residenten Programmes A nur eine Speicherkapazität von 20 MB, was niedriger als die Obergrenze der Speicherverwendung ist. In diesem Fall ändert die Programmausführungseinheit 11 das zu startende Objekt zum residenten Programme B und startet das residente Programm B. Wie in Teil (b) von 14 illustriert, selbst falls die residenten Programme A und B gestartet werden, ist die verwendet werdende Speichermenge 30 MB, was immer noch niedriger ist als die Obergrenze der Speicherverwendung. Daher ändert die Programmausführungseinheit 11 das zu startende Objekt weiter zum residenten Programm C und startet das residente Programm C.
  • Wie im Teil (c) von 14 illustriert, wenn die residenten Programme A, B und C gestartet sind, erreicht die verwendet werdende Speichermenge 60 MB, was die Obergrenze der Speicherverwendung übersteigt, und somit tritt eine Speicherverknappung auf. In diesem Fall beendet die Programmausführungseinheit 11 das residente Programm C (das heißt das zuletzt gestartete residente Programm), welches die Ursache dafür ist, dass die verwendet werdende Speichermenge die Obergrenze der Speicherverwendung übersteigt, und danach ändert sie das zu startende Objekt zum residenten Programm D und startet das residente Programm D. Wie in Teil (d) von 14 illustriert, selbst falls die residenten Programme A, B und D gestartet sind, ist die verwendet werdende Speichermenge 45 MB, was keine Speicherverknappung verursacht. In diesem Fall ändert die Programmausführungseinheit 11 das zu startende Objekt zum residenten Programm E und startet das residente Programm E.
  • Wie in Teil (e) von 14 illustriert, wenn die residenten Programme A, B, D und E gestartet sind, ist die verwendet werdende Speichermenge 70 MB, was Speicherverknappung verursacht. In diesem Fall beendet die Programmausführungseinheit 11 das residente Programm E, welches die Ursache dafür ist, dass die verwendet werdende Speichermenge die Obergrenze der Speicherverwendung übersteigt, und ändert danach das zu startende Objekt zum residenten Programm A. Damit macht das zu startende Objekt eine Runde der residenten Programme in der Startabfolgedefinition und somit wird der Prozess zum Starten eines residenten Programms beendet.
  • Die Residentprogramm-Startsteuerung 14 modifiziert die Startabfolgedefinition so, dass das residente Programm, welches die erste Ursache dafür wird, dass die verwendet werdende Speichermenge die Obergrenze der Speicherverwendung übersteigt, zuerst beim nächsten Systemhochfahren gestartet wird. In der in 14 illustrierten Operation tritt die Speicherverknappung zum ersten Mal auf, wenn das residente Programm C gestartet wird, und daher wird das residente Programm C als das zuerst beim nächsten Systemhochfahren zu startende residente Programm eingestellt. Das heißt, dass die Residentprogramm-Startsteuerung 14 die Startabfolgedefinition, in welcher das residente Programm C das zu startende Objekt ist, wie in 6 illustriert, in der Speichereinheit 12 speichert. Somit wird beim nächsten Systemhochfahren eine ähnliche Operation zur obigen Operation durchgeführt, nachdem das residente Programm C zuerst gestartet ist.
  • Wie oben beschrieben, wird in der vorliegenden Ausführungsform, während eine Speicherverknappung aufgrund des Startens eines residenten Programms auftritt, nach einem residenten Programm gesucht, welches stattdessen gestartet werden kann, und falls ein solches residentes Programm gefunden wird, wird dieses Programm gestartet. Entsprechend kann die Anzahl von residierenden residenten Programmen mehr als bei Ausführungsform 1 vergrößert werden.
  • 15 ist ein Flussdiagramm, welches die Operation der Programmausführungsvorrichtung 10 gemäß der Ausführungsform 3 beim Systemhochfahren illustriert. Die unter Bezugnahme auf 14 beschriebene Operation wird durch die Programmausführungsvorrichtung 10 implementiert, welche die Operation gemäß dem Flussdiagramm durchführt.
  • Wenn die Stromversorgung der Programmausführungsvorrichtung 10 durch den Startschalter 21 zum Starten des Systems eingeschaltet wird, ermittelt die Programmausführungseinheit 11 die Startabfolgedefinition aus der Speichereinheit 12 (Schritt S31) und startet ein residentes Programm, das ein zu startendes Objekt ist (Schritt S32). Dann überwacht der Ressourcenmonitor 13 eine verwendet werdende Speichermenge in der Programmausführungsvorrichtung 10, um zu bestätigen, ob die verwendet werdende Speichermenge nicht größer als die Obergrenze der Speicherverwendung ist oder nicht (Schritt S33).
  • Falls die verwendet werdende Speichermenge nicht größer als die Obergrenze der Speicherverwendung ist (JA in Schritt S33), wird das zu startende Objekt zum nächsten residenten Programm gewechselt (Schritt S34). In diesem Fall, falls das zu startende Objekt keine Runde der residenten Programme in der Startabfolgedefinition macht (NEIN in Schritt S35), kehrt der Prozess zu Schritt S32 zurück.
  • Andererseits, im Schritt S33, falls die verwendet werdende Speichermenge die Obergrenze der Speicherverwendung übersteigt (NEIN in Schritt S33), beendet die Programmausführungseinheit 11 das zuletzt gestartete residente Programm (Schritt S36). In diesem Fall, falls es das erste Mal ist, dass die verwendet werdende Speichermenge die Obergrenze der Speicherverwendung übersteigt (JA in Schritt S37), bestimmt die Residentprogramm-Startsteuerung 14 das residente Programm, welches das aktuell zu startende Objekt ist, als das beim nächsten Systemhochfahren zu startende Objekt (Schritt S38) und dann schreitet der Prozess zu Schritt S34 fort. Falls es nicht das erste Mal ist, dass die verwendet werdende Speichermenge die Obergrenze der Speicherverwendung übersteigt (NEIN in Schritt S347), wird der Prozess in Schritt ST38 nicht durchgeführt und der Prozess schreitet zu Schritt S34 fort.
  • Der oben beschriebene Prozess wird wiederholt durchgeführt. Wenn das zu startende Objekt eine Runde der residenten Programme in der Startabfolgedefinition macht (JA in Schritt S35), wird bestätigt, ob das zu startende Objekt beim nächsten Systemhochfahren bereits bestimmt worden ist oder nicht (d.h., ob der Prozess in Schritt S38 bereits durchgeführt worden ist oder nicht) (Schritt S39). Falls das beim nächsten Systemhochfahren zu startende Objekt noch nicht bestimmt worden ist (NEIN in Schritt S39), bestimmt die Residentprogramm-Startsteuerung 14 das residente Programm, welches das aktuell zu startende Objekt ist, als das Objekt, das beim nächsten Systemhochfahren zu starten ist (Schritt S40) und speichert die als solche spezifizierte Startabfolgedefinition in der Speichereinheit 12 (Schritt S41).
  • Falls das beim nächsten Systemhochfahren zu startende Objekt bereits bestimmt worden ist (JA in Schritt S39), speichert die Residentprogramm-Startsteuerung 14 die Startabfolgesequenz, in welcher das zu startende Objekt spezifiziert ist, wie im Schritt S38 bestimmt, in der Speichereinheit 12, ohne den Prozess in Schritt S40 durchzuführen (Schritt S41). Somit ist der Hochfahrprozess des Systems abgeschlossen.
  • Selbst in der Ausführungsform 3 kann in dem Fall, bei dem die durch jedes residente Programm zu verwendende Speichermenge vorher wahrgenommen wird, bestimmt werden, ob eine Speicherverknappung auftritt oder nicht, ohne ein residentes Programm tatsächlich zu starten.
  • In der Ausführungsform 3 modifiziert die Residentprogramm-Startsteuerung 14 den Inhalt der Startabfolgedefinition so, dass das residente Programm, welches die erste Ursache dafür ist, dass die verwendet werdende Speichermenge einen gewissen Wert übersteigt, beim nächsten Systemhochfahren zuerst zu starten ist, ohne die Schleife in der Startabfolgedefinition zu modifizieren. Wenn jedoch die Startabfolgedefinition modifiziert wird, kann die Residentprogramm-Startsteuerung 14 zufällig die Abfolge von residenten Programmen in der Startabfolgedefinition durch Anwenden von Ausführungsform 2 bestimmen.
  • Ausführungsform 4
  • Während die Ausführungsform 1 das Beispiel beschreibt, in welchem die Programmausführungsvorrichtung 10 nur eine Startabfolgedefinition verwendet, zeigt eine Ausführungsform 4 ein Beispiel, in welchem die Programmausführungsvorrichtung 10 eine Mehrzahl von Startabfolgedefinitionen verwendet. Spezifisch verwaltet eine Residentprogramm-Startsteuerung 14 eine Mehrzahl von in 16 illustrierten Startabfolgedefinitionen und schaltet die Startabfolgedefinition, welche durch die Programmausführungseinheit 11 zu verwenden ist, anhand einer vorbestimmten Bedingung um. Der restliche Betrieb ähnelt demjenigen der Ausführungsform 1 (7).
  • Beispielsweise in dem Fall, bei dem eine Mehrzahl von Startabfolgedefinitionen gemäß einer aktuellen Positionsbedingung umgeschaltet wird, wird eine Mehrzahl von Startabfolgedefinitionen entsprechend den jeweiligen aktuellen Positionsbedingungen in der Speichereinheit 12 gespeichert. Die Residentprogramm-Startsteuerung 14 erfasst eine aktuelle Position beim Herauffahren der Programmausführungsvorrichtung 10 und erteilt eine Anweisung zum Lesen der Startabfolgedefinition anhand der aktuellen Position aus der Speichereinheit 12 an die Programmausführungseinheit 11 im Schritt S11 in 7.
  • Beispiele von erwägbaren Bedingungen von Kriterien zum Bestimmen, welche Startabfolgedefinition ausgewählt werden sollte, beinhalten einen Wetterzustand und einen Anwenderzustand, neben der aktuellen Positionsbedingung. Die Operation der Programmausführungsvorrichtung 10, die solche Bedingungen verwendet, kann ähnlich zur oben beschriebenen Operation sein und die Residentprogramm-Startsteuerung 14 kann eine Anweisung der Programmausführungseinheit 11 im Schritt S11 in 7 geben, die Startabfolgedefinition gemäß einem aktuellen Wetter oder einem Anwender aus der Speichereinheit 12 zu lesen.
  • Gemäß der Ausführungsform 4 kann die Startabfolgedefinition entsprechend einer aktuellen Position oder von Wetter zu der Zeit verwendet werden, wenn die Programmausführungsvorrichtung 10 gestartet wird. Weiter kann die Startabfolgedefinition für jeden Anwender, der die Programmausführungsvorrichtung 10 verwendet, gewechselt werden. Insbesondere in dem Fall, bei dem die Anwendung unabhängig durch jeden Anwender eingeführt werden kann, können sich durch jeden der Anwender eingeführte residente Programme voneinander unterscheiden, wie in 17 illustriert, und daher ist die Weise, in welcher die Startabfolgedefinition für jeden Anwender umgeschaltet werden kann, sehr effektiv.
  • Ausführungsform 5
  • Eine Ausführungsform 5 beschreibt eine Programmausführungsvorrichtung 10, die so konfiguriert ist, dass eine Priorität für jedes der Mehrzahl von residenten Programmen spezifiziert wird und eine Residentprogramm-Startsteuerung 14 eine Mehrzahl von Startabfolgedefinitionen verwaltet, von denen jede jeder Priorität entspricht.
  • 18 illustriert ein Beispiel, in welchem residente Programme in residente Programme A bis E klassifiziert sind, die hohe Priorität aufweisen und residente Programme a bis e, die niedrige Priorität aufweisen, und es wird eine Startabfolgedefinition entsprechend jeder Priorität verwendet. Beim Systemhochfahren startet die Programmausführungseinheit 11 jedes residente Programm entsprechend der Startabfolgedefinition korrespondierend zur Priorität des residenten Programms.
  • In diesem Fall können die residenten Programme mit niedriger Priorität nur gestartet werden, wenn es Raum bei der Speicherkapazität gibt, selbst nachdem alle residenten Programme mit hoher Priorität gestartet sind. Jedoch könnten in diesem Fall die residenten Programme mit niedriger Priorität gar nicht gestartet werden. Im Hinblick darauf wird die Abfolge, in welcher die residenten Programme gestartet werden, vorzugsweise so bestimmt, dass zumindest eines der residenten Programme mit jeder Priorität ausgeführt werden kann. Falls zumindest eines der residenten Programme mit jeder Priorität beim Systemhochfahren ausgeführt wird, haben alle der residenten Programme mit niedriger Priorität eine Chance, gestartet zu werden, während das System wiederholt gestartet und heruntergefahren wird, und dies kann die Erzeugung des residenten Programms verhindern, das gar nicht gestartet wird.
  • 19 ist ein Flussdiagramm, welches die Operation der Programmausführungsvorrichtung 10 gemäß der Ausführungsform 5 beim Systemhochfahren illustriert. Dieses Flussdiagramm illustriert die Operation, in welcher residente Programme mit hoher Priorität und residente Programme mit niedriger Priorität spezifiziert werden, und die Programmausführungsvorrichtung 10 führt zumindest eines der residenten Programme mit jeder Priorität aus. Es ist anzumerken, dass die Speichereinheit 12 in der Programmausführungsvorrichtung 10 die Startabfolgedefinition für residente Programme mit hoher Priorität und die Startabfolgedefinition für residente Programme mit niedriger Priorität wie in 18 illustriert speichert.
  • Wenn die Stromversorgung der Programmausführungsvorrichtung 10 durch den Startschalter 21 eingeschaltet wird, um das System zu starten, ermittelt die Programmausführungseinheit 11 die Startabfolgedefinition für residente Programme mit hoher Priorität und die Startabfolgedefinition für residente Programme mit niedriger Priorität aus der Speichereinheit 12 (Schritt S51). Dann startet die Programmausführungseinheit 11 ein zu startendes Objekt in den residenten Programmen mit hoher Priorität (Schritt S52). Als Nächstes überwacht der Ressourcenmonitor 13 eine in der Programmausführungsvorrichtung 10 verwendet werdende Speichermenge, um zu bestätigen, ob die verwendet werdende Speichermenge nicht größer als die Obergrenze der Speicherverwendung ist oder nicht (Schritt S53). Falls die verwendet werdende Speichermenge nicht größer als die Obergrenze der Speicherverwendung ist (JA in Schritt S53), wird ein in den residenten Programmen mit hoher Priorität zu startendes Objekt zu einem am nächsten am aktuell zu startenden Objekt gestartet (Schritt S54) und dann kehrt der Prozess zum Schritt S52 zurück.
  • Wenn die verwendet werdende Speichermenge die Obergrenze der Speicherverwendung übersteigt, aufgrund der wiederholten Prozesse in Schritt S52 bis S54 (NEIN in Schritt S53), beendet die Programmausführungseinheit 11 das zuletzt gestartete residente Programm mit hoher Priorität (Schritt S55). Mit diesem Prozess soweit, werden die residenten Programme mit hoher Priorität innerhalb des Bereichs gestartet, in welchem die verwendet werdende Speichermenge die Obergrenze der Speicherverwendung nicht übersteigt.
  • Dann startet die Programmausführungseinheit 11 ein zu startendes Objekt in residenten Programmen mit niedriger Priorität (Schritt S56). Als Nächstes bestätigt der Ressourcenmonitor 13, ob die verwendet werdende Speichermenge größer als die Obergrenze der Speicherverwendung ist oder nicht (Schritt S57). Falls die verwendet werdende Speichermenge nicht größer als die Obergrenze der Speicherverwendung ist (JA in Schritt S57), wird ein in den residenten Programmen mit niedriger Priorität zu startendes Objekt zu einem am Nächsten am aktuellen zu startenden Objekt geändert (Schritt S58) und dann kehrt der Prozess zu Schritt S56 zurück.
  • Falls die verwendet werdende Speichermenge die Obergrenze der Speicherverwendung übersteigt (NEIN in Schritt S57), bestätigt die Programmausführungseinheit 11, ob zwei oder mehr residente Programme mit niedriger Priorität gestartet sind oder nicht (Schritt S59). Es ist anzumerken, dass, da Schritt S56 vor Schritt S59 ausgeführt wird, zumindest eines der residenten Programme mit niedriger Priorität bereits im Schritt S59 gestartet worden ist.
  • Wenn nur ein residentes Programm mit niedrigerer Priorität gestartet wird (NEIN in Schritt S59), wird das Letztgestartete der aktuell gestarteten residenten Programme mit hoher Priorität verlassen, um die verwendet werdende Speichermenge zu reduzieren, während die Operation des gestarteten residenten Programms mit niedriger Priorität gehalten wird (Schritt S60). Weiter wird das in den residenten Programmen mit hoher Priorität zu startende Objekt zum vorherigen zum zu startenden aktuellen Objekt geändert (Schritt S61). Somit ist das in den residenten Programmen mit hoher Priorität zu startende Objekt das im Schritt S60 beendete Programm. Danach bestätigt der Ressourcenmonitor 13 wieder, ob die verwendet werdende Speichermenge nicht größer als die Obergrenze der Speicherverwendung ist oder nicht (Schritt S62), und falls die verwendet werdende Speichermenge die Obergrenze der Speicherverwendung übersteigt (NEIN in Schritt S62), kehrt der Prozess zu Schritt S60 zurück. Das heißt, dass die Prozesse in Schritten S60 und S61 wiederholt durchgeführt werden, bis die verwendet werdende Speichermenge nicht größer als die Obergrenze von Speicherverwendung wird. Damit kann die verwendet werdende Speichermenge gesenkt werden, um gleich oder kleiner zu sein als die Obergrenze der Speicherverwendung, während die Operation des einzigen residenten Programms mit niedriger Priorität, das aktuell gestartet ist, fortgesetzt wird.
  • Wenn die verwendet werdende Speichermenge nicht größer als die Obergrenze der Speicherverwendung wird (JA in Schritt S62), kehrt der Prozess zu Schritt S56 zurück. Somit, in dem Fall, bei dem die Menge von Speicherplatz, die durch den Prozess in Schritt S60 ansteigt, groß ist, kann das residente Programm mit niedriger Priorität weiter gestartet werden, wodurch die Speicherkapazität effektiv eingesetzt werden kann.
  • Andererseits, wenn zwei oder mehr residente Programme mit niedriger Priorität im Schritt S59 gestartet werden (JA in Schritt S59), wird das zuletzt gestartete der aktuell gestarteten, residenten Programme mit niedriger Priorität beendet, um die verwendet werdende Speichermenge so abzusenken, dass sie gleich oder kleiner als die Obergrenze der Speicherverwendung ist, während die Operation des residenten Programms mit hoher Priorität gehalten wird (Schritt S63). Danach bestimmt die Residentprogramm-Startsteuerung 14 das in den residenten Programmen mit jeder Priorität zu startende aktuelle Objekt, das Objekt zu sein, das beim nächsten Systemhochfahren zu starten ist (Schritt S64) und speichert die Startabfolgedefinition für residente Programme mit jeder Priorität in der Speichereinheit 12 (Schritt S65). Somit wird der Hochfahrprozess des Systems abgeschlossen.
  • In der Operation in 19 wird bestimmt, ob Speicherverknappung auftritt oder nicht (Schritte S53 und S57), nachdem das residente Programm tatsächlich gestartet ist (Schritt S52 und S56). Falls jedoch die durch jedes residente Programm zu verwendende Speichermenge vorab erkannt wird, kann festgestellt werden, ob Speicherverknappung auftritt oder nicht, vor dem Starten eines residenten Programms. In diesem Fall kann das residente Programm nur gestartet werden und residieren, wenn festgestellt wird, dass eine Speicherverknappung nicht auftritt.
  • Die Operation der Programmausführungsvorrichtung 10 beim Systemhochfahren, wenn eine durch ein residentes Programm zu verwendende Speichermenge vorher bestimmt werden kann, wird unten beschrieben. 20 ist ein Flussdiagramm, welches diese Operation illustriert.
  • Wenn die Stromversorgung der Programmausführungsvorrichtung 10 durch den Startschalter 21 eingeschaltet wird, um das System zu starten, ermittelt die Programmausführungseinheit 11 die Startabfolgedefinition für residente Programme mit hoher Priorität und die Startabfolgedefinition für residente Programme mit niedriger Priorität aus der Speichereinheit 12 (Schritt S71). Dann sagt die Programmausführungseinheit 11 eine zu verwendende Speichermenge voraus, wenn ein in den residenten Programmen mit hoher Priorität zu startendes Objekt und ein in den residenten Programmen mit niedriger Priorität zu startendes Objekt auf Basis der aktuell verwendet werdenden Speichermenge in der Programmausführungsvorrichtung 10, detektiert durch den Ressourcenmonitor 13, gestartet werden, die durch das, in den residenten Programmen mit hoher Priorität zu startende Objekt zu verwendende Speichermenge und die durch das in den residenten Programmen mit niedriger Priorität zu startende Objekt zu verwendende Speichermenge und bestimmt, ob die zu dieser Zeit zu verwendende Speichermenge nicht größer als die Obergrenze der Speicherverwendung ist oder nicht (Schritt S72).
  • Wenn festgestellt wird, dass die zu verwendende Speichermenge nicht größer als die Obergrenze der Speicherverwendung ist, selbst falls das in den residenten Programmen mit hoher Priorität zu startende Objekt und das in den residenten Programmen mit niedriger Priorität zu startende Objekt gestartet werden (JA in Schritt S72), startet die Programmausführungseinheit 11 das in den residenten Programmen mit hoher Priorität zu startende Objekt (Schritt S73). Dann wird das in den residenten Programmen mit hoher Priorität zu startende Objekt zu dem nächsten am aktuellen, zu startendes Objekt geändert (Schritt S74) und dann kehrt der Prozess zu Schritt S72 zurück. Mit den Prozessen in Schritten S72 bis S74 werden die residenten Programme mit hoher Priorität innerhalb des Bereichs gestartet, in welchem die verwendet werdende Speichermenge die Obergrenze der Speicherverwendung nicht übersteigt, während die zum Starten des in den residenten Programmen mit niedriger Priorität zu startenden Objekts erforderliche Speicherkapazität übrig bleibt.
  • Danach, wenn festgestellt wird, dass die zu verwendende Speichermenge die Obergrenze der Speicherverwendung übersteigt, falls das in den residenten Programmen mit hoher Priorität zu startende Objekt und das in den residenten Programmen mit niedriger Priorität zu startende Objekt gestartet werden (NEIN in Schritt S72), sagt die Programmausführungseinheit 11 eine zu verwendende Speichermenge voraus, wenn das in den residenten Programmen mit niedriger Priorität zu startende Objekt gestartet wird, auf Basis der aktuell verwendet werdenden, durch den Ressourcenmonitor 13 detektierten Speichermenge und der durch das in den residenten Programmen mit niedriger Priorität zu startende Objekt zu verwendenden Speichermenge und bestimmt, ob die zu dieser Zeit zu verwendende Speichermenge nicht größer als die Obergrenze der Speicherverwendung ist oder nicht (Schritt S75).
  • Wenn festgestellt wird, dass die zu verwendende Speichermenge nicht größer als die Obergrenze der Speicherverwendung ist, selbst falls das in den residenten Programmen mit niedriger Priorität zu startende Objekt gestartet wird (JA in Schritt S75), startet die Programmausführungseinheit 11 das in den residenten Programmen mit niedriger Priorität zu startende Objekt (Schritt S76). Dann wird das in den residenten Programmen mit niedriger Priorität zu startende Objekt zu dem einen am Nächsten am aktuellen zu startenden Objekt geändert (Schritt S77), und dann kehrt der Prozess zu Schritt S75 zurück. Wie zuvor beschrieben, wird in den Schritten S72 bis S74 die Speicherkapazität, die benötigt wird, um das in den residenten Programmen mit niedriger Priorität zu startendes Objekt zu starten, sichergestellt und daher wird eine JA-Bestimmung zumindest einmal im Schritt S75 durchgeführt, wodurch zumindest eines der residenten Programme mit niedriger Priorität gestartet wird.
  • Wenn andererseits festgestellt wird, dass die zu verwendende Speichermenge, die Obergrenze der Speicherverwendung übersteigt, wenn das in den residenten Programmen mit niedriger Priorität zu startende Objekt gestartet wird (NEIN in Schritt S75), wird ein anderes residentes Programm mit niedriger Priorität nicht gestartet. In diesem Fall bestimmt die Residentprogramm-Startsteuerung 14 das in den residenten Programmen jeder Priorität zu startende aktuelle Objekt als das beim nächsten Systemhochfahren zu startende Objekt (Schritt S78) und speichert dann die Startabfolgedefinition für residente Programme mit jeder Priorität in der Speichereinheit 12 (Schritt S79). Somit wird der Hochfahrprozess des Systems abgeschlossen.
  • Es ist anzumerken, dass die Priorität jedes residenten Programms nicht fest sein muss. Beispielsweise kann die Priorität gemäß einer vorbestimmten Bedingung (Bedingung wie etwa eine aktuelle Position, Wetter oder Anwender) geändert werden.
  • Ausführungsform 6
  • Während die Ausführungsformen 1 bis 6 beschreiben, dass die Programmausführungseinheit 11 ein residentes Programm nur beim Systemhochfahren startet, ändert in einer sechsten Ausführungsform die Programmausführungseinheit 11 ein residentes Programm, das zu residieren hat, bei einem festen Zyklus bei einer Startabfolgedefinition nach Systemhochfahren.
  • Spezifisch führt die Programmausführungseinheit 11 den Prozess in der Ausführungsform 1 (7) nach Systemhochfahren aus und beendet dann das am zuvorst gestartete residente Programm aus den residierenden residenten Programmen jedes Mal, wenn eine gewisse Zeitperiode verstrichen ist, und führt dann wieder den Prozess in 7 aus.
  • Diese Operation wird unter Bezugnahme auf 21 beschrieben. Wenn der Prozess in 7 auf Basis der Startabfolgedefinition in 3 beim Systemhochfahren ausgeführt wird, werden die residenten Programme A und B wie im Teil (a) von 21 illustriert gestartet. Nachdem eine gewisse Zeitperiode danach verstrichen ist, wird das residente Programm A, welches das am meisten zuvor gestartete ist, von den residenten Programmen A und B beendet und dann wird der Prozess in 7 wieder ausgeführt. Damit wird das residente Programm C gestartet, welches den Zustand erzeugt, in welchem die residenten Programme B und C wie im Teil (b) von 21 illustriert, residieren. Wenn eine solche Operation mit einem festen Zyklus wiederholt wird, wird der Zustand zu dem Zustand verändert, in welchem die residenten Programme C und D residieren, wie in Teil (c) von 21 illustriert, dem Zustand, in welchem die residenten Programme D und E residieren, wie in Teil (d) von 21 illustriert, und der Zustand, in welchem die residenten Programme E und A residieren, wie in Teil (e) von 21 illustriert, kehrt dann zum in Teil (a) von 21 illustrierten Zustand zurück. Diese Operation wird wiederholt, bis die Programmausführungsvorrichtung 10 ausgeschaltet wird.
  • In der vorliegenden Ausführungsform wird das residente Programm anhand der Startabfolgedefinition, während das System betrieben wird, umgeschaltet, wodurch ein ähnlicher Effekt zur Ausführungsform 1 erhalten werden kann, ohne den Betrieb des Systems herunter zu fahren. Die vorliegende Ausführungsform ist insbesondere für eine Vorrichtung effektiv, in welcher die Stromversorgungsschaltung nicht oft abgeschaltet wird, wie etwa einem Smartphone. Bemerkenswerterweise wird in dem Fall, bei dem der Prozess in 7 wiederholt ausgeführt wird, wenn der Betrieb des Systems heruntergefahren wird, das residente Programm am Nächsten an dem letzten residierenden residenten Programm, das heißt das residente Programm, welches die Ursache dafür ist, dass die verwendet werdende Speichermenge die Obergrenze der Speicherverwendung übersteigt, bei einem nächsten Systemhochfahren zuerst gestartet. Alternativ kann die Ausführungsform 2 angewendet werden, um zufällig die Abfolge von residenten Programmen in der Startabfolgedefinition zu bestimmen, die bei dem nächsten Systemhochfahren verwendet wird.
  • Weiter, während die Ausführungsform 5 ein Beispiel beschreibt, in welchem der Prozess in der Ausführungsform 1 (7) bei einem festen Zyklus nach dem Systemhochfahren ausgeführt wird, kann der Prozess in der Ausführungsform 3 (15) bei einem festen Zyklus ausgeführt werden.
  • Die Ausführungsformen der vorliegenden Erfindung können frei kombiniert, modifiziert oder weggelassen werden, wie angemessen, innerhalb des Schutzumfangs der Erfindung.
  • Während die Erfindung im Detail gezeigt und beschrieben worden ist, ist die vorstehende Beschreibung in allen Aspekten illustrativ und nicht beschränkend. Es versteht sich daher, dass verschiedene Modifikationen und Variationen erdacht werden können, ohne vom Umfang der Erfindung abzuweichen.
  • Bezugszeichenliste
  • 10
    Programmausführungsvorrichtung
    11
    Programmausführungseinheit
    12
    Speichereinheit
    13
    Ressourcenmonitor
    14
    Residentprogramm-Startsteuerung
    21
    Startschalter
    22
    Anzeige
    23
    Audioausgabevorrichtung

Claims (16)

  1. Programmausführungssystem, umfassend: eine Programmausführungseinheit, welche konfiguriert ist, eine Mehrzahl von Programmen, einschließlich einer Mehrzahl von residenten Programmen, auszuführen; und eine Residentprogramm-Startsteuerung, die konfiguriert ist, eine Abfolge zu steuern, in welcher die Mehrzahl von residenten Programmen gestartet wird, wobei: die Programmausführungseinheit sequentiell die Mehrzahl von residenten Programmen beim Systemhochfahren startet, anhand einer Startabfolgedefinition, die Information ist, die eine Abfolge spezifiziert, in welcher die Mehrzahl von residenten Programmen zu starten ist, und die Residentprogramm-Startsteuerung die Startabfolgedefinition beim aktuellen Systemhochfahren modifiziert und die modifizierte Startabfolgedefinition beim nächsten Systemhochfahren verwendet, wenn eine Ressourcennenge, die genutzt wird, aufgrund des Startens der Mehrzahl von residenten Programmen einen bestimmten Wert übersteigt.
  2. Programmausführungssystem gemäß Anspruch 1, wobei die Programmausführungseinheit ein residentes Programm, das eine Ursache dafür ist, dass eine verwendete Ressourcenmenge den bestimmten Wert übersteigt, daran hindert, zu residieren.
  3. Programmausführungssystem gemäß Anspruch 1, wobei: eine Abfolge der Mehrzahl von residenten Programmen in der Startabfolgedefinition in einer Schleifenweise spezifiziert ist; und die Residentprogramm-Startsteuerung die Startabfolgedefinition modifiziert, durch Ändern eines residenten Programms, welches zuerst zu starten ist.
  4. Programmausführungssystem gemäß Anspruch 3, wobei die Residentprogramm-Startsteuerung die Startabfolgedefinition so modifiziert, dass ein residentes Programm, welches die Ursache dafür ist, dass eine verwendete Ressourcenmenge den bestimmten Wert übersteigt, beim nächsten Systemhochfahren zuerst gestartet wird.
  5. Programmausführungssystem gemäß Anspruch 1, wobei die Programmausführungseinheit wiederholt anhand der Startabfolgedefinition eine Operation durchführt, zum Überspringen eines residenten Programms, welches eine Ursache dafür ist, dass die verwendete Ressourcenmenge den bestimmten Wert übersteigt, und veranlasst, dass das nächsten Programm residiert.
  6. Programmausführungssystem gemäß Anspruch 5, wobei: eine Abfolge der Mehrzahl von residenten Programmen in der Startabfolgedefinition in einer Schleifenweise spezifiziert ist, und die Residentprogramm-Startsteuerung die Startabfolgedefinition auf solche Weise modifiziert, das ein residentes Programm, welches die erste Ursache dafür ist, dass eine verwendete werdende Ressourcenmenge den bestimmten Wert übersteigt, beim nächsten Systemhochfahren zuerst gestartet wird.
  7. Programmausführungssystem gemäß Anspruch 1, wobei beim Modifizieren der Startabfolgedefinition die Residentprogramm-Startsteuerung eine Abfolge der Mehrzahl von residenten Programmen in der Startabfolgedefinition beim nächsten Systemhochfahren zufällig bestimmt.
  8. Programmausführungssystem gemäß Anspruch 1, wobei, wenn ein neues residentes Programm eingeführt wird, die Residentprogramm-Startsteuerung das neue residente Programm an irgendeiner Position in einer Abfolge der Mehrzahl von residenten Programmen in der Startabfolgedefinition hinzufügt.
  9. Programmausführungssystem gemäß Anspruch 8, wobei, wenn ein neues residentes Programm der Startabfolgedefinition hinzugefügt wird, die Residentprogramm-Startsteuerung das neue residente Programm an einer Position hinzufügt, wo ein Durchschnitt von durch das neue residente Programm und vor und nach der Position, wo das neue residente Programm hinzuzufügen ist, lokalisierten, residenten Programmen zu verwendenden Ressourcenmengen am Nächsten an einen Durchschnitt von durch alle in der Startabfolgedefinition enthaltenen residenten Programme zu verwendenden Ressourcenmengen kommt.
  10. Programmausführungssystem gemäß Anspruch 1, wobei die Residentprogramm-Startsteuerung die Mehrzahl von Startabfolgedefinitionen verwaltet und die Startabfolgedefinition, die zu verwenden ist, gemäß einer vorbestimmten Bedingung umschaltet.
  11. Programmausführungssystem gemäß Anspruch 1, wobei: eine Priorität für jedes der Mehrzahl von residenten Programmen eingestellt ist; die Residentprogramm-Startsteuerung die Mehrzahl der Startabfolgedefinitionen für jede Priorität verwaltet; und die Programmausführungseinheit sequentiell jedes residente Programm gemäß der Startabfolgedefinition startet, die der Priorität des residenten Programmes beim Systemhochfahren entspricht.
  12. Programmausführungssystem gemäß Anspruch 11, wobei die Programmausführungseinheit eine Abfolge der Mehrzahl von residenten Programmen so bestimmt, dass zumindest eines von residenten Programmen mit jeder Priorität ausführbar ist.
  13. Programmausführungssystem gemäß Anspruch 11, wobei die Priorität, die für jedes der Mehrzahl von residenten Programmen eingestellt ist, gemäß einer vorbestimmten Bedingung geändert wird.
  14. Programmausführungssystem gemäß Anspruch 1, wobei nach Systemhochfahren die Programmausführungseinheit ein residentes Programm zum Residieren bei einem festen Zyklus gemäß der Startabfolgedefinition wechselt.
  15. Programmausführungssystem gemäß Anspruch 14, wobei: eine Abfolge der Mehrzahl von residenten Programmen in der Startabfolgedefinition in einer Schleifenweise spezifiziert ist, und wenn ein residentes Programm nach Systemhochfahren gestartet wird, die Residentprogramm-Startsteuerung die Startabfolgedefinition so modifiziert, dass ein residentes Programm neben dem letzten residierenden residenten Programm beim nächsten Systemhochfahren zuerst gestartet wird.
  16. Verfahren zum Starten von residenten Programmen, umfassend: Starten eines residenten Programmes durch eine Programmausführungseinheit beim Hochfahren eines Programmausführungssystems gemäß einer Startabfolgedefinition, welche Information ist, die eine Abfolge spezifiziert, in der eine Mehrzahl von residenten Programmen gestartet wird; Bestimmen, durch einen Ressourcenmonitor, ob eine verwendete Ressourcenmenge aufgrund des Startens des residenten Programms einen bestimmten Wert übersteigt oder nicht, bevor oder nachdem die Programmausführungseinheit das residente Programm startet; und Modifizieren der Startabfolgedefinition beim aktuellen Systemhochfahren und Verwenden der modifizierten Startabfolgedefinition beim nächsten Systemhochfahren durch eine Residentprogramm-Startsteuerung, wenn bestimmt wird, dass eine verwendete Ressourcenmenge aufgrund des Startens des residenten Programms den bestimmten Wert übersteigt.
DE112014006861.6T 2014-08-07 2014-08-07 Programmausführungssystem und Verfahren zum Starten von residenten Programmen Withdrawn DE112014006861T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/070891 WO2016021024A1 (ja) 2014-08-07 2014-08-07 プログラム実行システムおよび常駐プログラムの起動方法

Publications (1)

Publication Number Publication Date
DE112014006861T5 true DE112014006861T5 (de) 2017-04-20

Family

ID=55263330

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112014006861.6T Withdrawn DE112014006861T5 (de) 2014-08-07 2014-08-07 Programmausführungssystem und Verfahren zum Starten von residenten Programmen

Country Status (5)

Country Link
US (1) US20180173540A1 (de)
JP (1) JP6054003B2 (de)
CN (1) CN106575234B (de)
DE (1) DE112014006861T5 (de)
WO (1) WO2016021024A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105389149A (zh) * 2015-11-03 2016-03-09 惠州Tcl移动通信有限公司 一种智能设备多屏幕运行实现方法及其系统
CN112084049A (zh) * 2019-06-14 2020-12-15 佛山市顺德区顺达电脑厂有限公司 用于监控基板管理控制器的常驻程序的方法
CN112148374A (zh) * 2020-08-20 2020-12-29 瑞芯微电子股份有限公司 一种SoC芯片启动顺序控制方法及系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2383825A1 (en) * 2002-04-24 2003-10-24 Ibm Canada Limited-Ibm Canada Limitee Dynamic configuration and self-tuning of inter-nodal communication resources in a database management system
US7111690B2 (en) * 2002-05-10 2006-09-26 Kleinert R Amil Manual slide post driver and extractor for “T”-type metal or fiberglass or plastic posts
US7702891B1 (en) * 2005-09-16 2010-04-20 Oracle America, Inc. Starting-up software modules for computing systems
JP2007148773A (ja) * 2005-11-28 2007-06-14 Fujitsu Ltd Bios搭載コンピュータ及びbiosローディングプログラム
JP2008097425A (ja) * 2006-10-13 2008-04-24 Mitsubishi Electric Corp 携帯情報端末および携帯情報端末の制御方法
US8917655B2 (en) * 2008-07-11 2014-12-23 Samsung Electronics Co., Ltd. Method and apparatus for allowing device supporting multiple PHY communication mode to communicate with device in wireless personal area network
CN102331947B (zh) * 2011-10-14 2013-12-11 中科创达软件股份有限公司 一种Android系统的重启方法
CN103823689A (zh) * 2012-11-19 2014-05-28 宏碁股份有限公司 开机加速方法与电脑系统装置

Also Published As

Publication number Publication date
CN106575234B (zh) 2020-10-27
US20180173540A1 (en) 2018-06-21
CN106575234A (zh) 2017-04-19
WO2016021024A1 (ja) 2016-02-11
JPWO2016021024A1 (ja) 2017-04-27
JP6054003B2 (ja) 2016-12-27

Similar Documents

Publication Publication Date Title
DE69822935T2 (de) Vorrichtung und Verfahren zur dynamischen Regelung der Betriebsmittelzuweisung in einem Computersystem
DE102013217995B4 (de) Verfahren und System zum Thread-Scheduling (Fadenzuteilung)
DE102015110469A1 (de) Informationverarbeitungsverfahren und zentrale steuervorrichtung
DE60226176T2 (de) Verfahren und programme zur einstellung von prioritätsstufen in einem datenverarbeitungssystem mit multiprogrammierung und priorisierte warteschlangenbildung
EP2400387B1 (de) Verfahren zur Performanceverbesserung von Computern
DE112012005589T5 (de) Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Computerprogramm
DE102017112752A1 (de) Ladeverfahren und elektronische Vorrichtung
DE102016118210A1 (de) Granulare Dienstqualität für Computer-Ressourcen
DE112006003444T5 (de) Verfahren und Vorrichtung zum Erfassen von Prozessorzustands-Übergängen
DE102007001147A1 (de) Tragbare elektronische Vorrichtung und Verfahren zum Laden von Ressourcendaten der elektronischen Vorrichtung
DE102010024154A1 (de) Netzteil, Verarbeitungssystem und Steuerverfahren
DE112011105672T5 (de) Verwaltung der Datennutzung einer Recheneinrichtung
DE102013103291A1 (de) Serverschrank und Leistungssteuerungsverfahren hierfür
DE102013227160A1 (de) Elektronische Vorrichtung
DE112014000340T5 (de) Vorablesezugriff auf Daten für einen Chip mit einem übergeordneten Kern und einem Scout-Kern
DE112014006861T5 (de) Programmausführungssystem und Verfahren zum Starten von residenten Programmen
DE112012001357T5 (de) Verwalten einer Portalanwendung
DE102013022564B4 (de) Aufrechterhalten der Bandbreiten-Servicequalität einer Hardware-Ressource über einen Hardware-Zähler
WO2013131556A1 (de) Verfahren und vorrichtung zur energieeffizienten steuerung einer anlage
DE102015200862A1 (de) Elektronische Steuereinheit
DE102014119335A1 (de) Informationsverarbeitungsverfahren und elektronische Vorrichtung
DE102012208151A1 (de) Stilllegen von Anwendungen
EP3217281A2 (de) Verfahren zur verwaltung der kartensoftware einer smartcard
WO2008155165A1 (de) Verfahren und vorrichtung zum betreiben eines technischen systems mit veränderung von prozess-prioritäten
DE102014201590B4 (de) Vorrichtungssteuereinrichtung und Vorrichtungssteuerverfahren

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence
R016 Response to examination communication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee