DE19843850A1 - Optimized distribution process for system resources involves initiating call to set up communications between programs, and loading program in address space by changing selected pre-started process - Google Patents

Optimized distribution process for system resources involves initiating call to set up communications between programs, and loading program in address space by changing selected pre-started process

Info

Publication number
DE19843850A1
DE19843850A1 DE1998143850 DE19843850A DE19843850A1 DE 19843850 A1 DE19843850 A1 DE 19843850A1 DE 1998143850 DE1998143850 DE 1998143850 DE 19843850 A DE19843850 A DE 19843850A DE 19843850 A1 DE19843850 A1 DE 19843850A1
Authority
DE
Germany
Prior art keywords
program
processes
address space
programs
started
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE1998143850
Other languages
German (de)
Inventor
Gerd Breiter
Georg Bildhauer
Michael Blum
Winfried Bruegmann
Thilo Boehm
Stephen Henkels
Bernd Jostmeyer
Thomas Raith
Mythili Venkatakrishnan
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to DE1998143850 priority Critical patent/DE19843850A1/en
Publication of DE19843850A1 publication Critical patent/DE19843850A1/en
Ceased legal-status Critical Current

Links

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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Abstract

The method involves starting a program on a system by initiating a program call to set up communications between at least two programs to run a program. The call is sent to a control program that has pre-started at least one process, in one or more defined address spaces, to enable data exchange between programs. The program is loaded in defined address spaces by changing a selected pre-started process. The state of the program is notifying to the control program. An Independent claim is also included for a process manager for managing address spaces within a system.

Description

Die vorliegende Erfindung beschreibt ein Verfahren zur Erhöhung der Anwenderzahl mit gleichzeitigem Zugriff auf einen Rechner.The present invention describes a method for Increase in the number of users with simultaneous access to a calculator.

Moderne Unix Anwendungspakete wie "Enterprise-Resource-Planungs-Anwendungen" generieren viele gleichzeitig laufende Prozesse auf dem jeweiligen Rechner. Auf einem S/390 Rechner unter dem Betriebssystem OS/390 wird jeder einzelne dieser Unix Prozesse normalerweise auf einem OS/390 Adreßraum abgebildet. Jeder OS/390 Adreßraum verbraucht aber sehr viele Betriebssystem Resourcen, d. h. Speicher und CPU-Zeit. Aus diesem Grund ist die Gesamtzahl der Adressräume, die das Betriebssystem OS/390 gleichzeitig betreiben und verwalten kann, stark limitiert (wenige hundert Prozesse). Um die nötige Anzahl der zu reduzieren, gibt es im Betriebssystem OS/390 Unix Services die Möglichkeiten sog. "Light Processes" zu generieren. Light Processes haben die besondere Eigenschaft, sich mit mehreren ihrer Art einen Adreßraum zu teilen. Zum Beispiel das Anzeigen einer Dateiliste (dir) aus einer Kommando Shell heraus. Das Anzeigen der Dateien erfolgt in dem vorher erzeugten Prozeßadreßraum zum Bereitstellen der Kommando Shell Funktionalität. Das Anzeigen der Dateien (dir) ist ein "Light Processes", also ein Unterprozeß innerhalb des Adreßraums. Ein Nachteil dieses Verfahrens ist es, daß die "Light Processes" vom jeweiligen Betriebssystem nicht ausreichend verwaltet werden. Dies bedeutet, bei "Light Processes" können Prozeßgrenzen überschritten werden. Ein und derselbe Speicherbereich kann von mehreren "Light Processes" überschrieben werden. Modern Unix application packages like "Enterprise resource planning applications" generate many processes running simultaneously on the respective computer. On an S / 390 computer running the OS / 390 operating system every one of these Unix processes usually on one OS / 390 address space shown. Any OS / 390 address space but consumes a lot of operating system resources, i. H. Memory and CPU time. For this reason, the total number of the address spaces that the OS / 390 operating system simultaneously can operate and manage, very limited (few hundred processes). To reduce the number of there is the OS / 390 Unix Services operating system Possibilities to generate so-called "light processes". Light Processes have the special property of dealing with several their way of sharing an address space. For example that Display a file list (dir) from a command shell out. The files are displayed in the previously generated process address space for providing the command Shell functionality. Displaying the files (dir) is a "Light Processes", ie a sub-process within the Address space. A disadvantage of this method is that the "Light Processes" from the respective operating system is not are managed adequately. This means at "Light Processes "process limits can be exceeded and the same memory area can be used by several "Light Processes "are overwritten.  

Ein weiteres Verfahren existiert in Form eines Work Load Managers der Anmelderin. Der Work Load Manager implementiert eine ähnliche Funktionalität, d. h. er startet auch Adreßräume auf Anforderung und startet innerhalb dieser Adreßräume entsprechende Anwendungsprogramme. Der Work Load Manager verteilt Prioritäten für die vom ihm kontrollierten Prozesse; er kann aber ohne weiteres auf Prozeßebene die Anzahl der Adreßräume reduzieren. Die Anwendungen müssen aber entsprechend neu geschrieben oder umgeschrieben werden, um sie auf die Struktur des Work Load Managers anzupassen, d. h. die Semantik des Anwendungspaketes muß fundamental geändert werden, damit der Work Load Manager benutzt werden kann.Another method exists in the form of a work load Managers of the applicant. The Work Load Manager implemented a similar functionality, d. H. he starts too Address spaces on request and start within them Application programs corresponding to address spaces. The work load Managers distribute priorities for those controlled by them Processes; but he can easily do that at process level Reduce the number of address spaces. The applications must but be rewritten or rewritten accordingly, to adapt it to the structure of the Work Load Manager, d. H. The semantics of the application package must be fundamental be changed so that the Work Load Manager can be used can.

Aufgabe der vorliegenden Erfindung ist es, ein Verfahren zum optimierten Verteilen von gleichzeitig laufenden Prozessen auf vorhandene Ressourcen eines Rechnersystems zu ermöglichen.The object of the present invention is to provide a method for optimized distribution of simultaneously running processes to existing resources of a computer system enable.

Diese Aufgabe wird durch die Merkmale von Anspruch 1 und 9 gelöst. Weitere vorteilhafte Ausführungsformen sind in den Unteransprüchen niedergelegt.This object is achieved by the features of claims 1 and 9 solved. Further advantageous embodiments are in the Subclaims laid down.

Die Vorteile der vorliegenden Erfindung liegen in der Integration des erfinderischen Prozeßmanagers. Dieser startet eine vorbestimmte Anzahl von Adressräumen und Instanzen von "Light Processes" vor und erreicht dadurch eine Reduzierung der Ladezeit der Anwendungsprozesse. Der Prozeßmanager ermöglicht es, eine sehr hohe Anzahl von Prozessen auf dem System gleichzeitig zu betreiben und damit eine sehr hohe Anzahl von Benutzern gleichzeitig auf dem System arbeiten zu lassen.The advantages of the present invention lie in Integration of the innovative process manager. This starts a predetermined number of address spaces and Instances of "Light Processes" and thereby achieves one Reduction of the loading time of the application processes. The Process Manager enables a very large number of Operate processes on the system simultaneously and thus a very large number of users on the same time System.

Darüberhinaus verbessert der Einsatz des Prozeßmanagers eine optimale Systemperformance durch Verkürzung der Antwortzeit zum Endbenutzer. In addition, the use of the process manager improves optimal system performance by shortening the response time to the end user.  

Der Verbrauch von System Resourcen wird optimiert. Da der Prozeßmanager einen kompletten Systemblick über die von ihm verwalteten Prozesse hat, ist es ihm möglich, nicht sauber terminierte Anwendungsprogramme oder Hinterlassenschaften von beendeten Anwendungsprogrammen (nichtaufgeräumte Semaphoren, Sockets und File Descriptoren) zu finden und freizugeben.The consumption of system resources is optimized. Since the Process manager has a complete system view of him has managed processes, it is possible for him not to be clean scheduled application programs or legacies of terminated application programs (uncleaned Find semaphores, sockets and file descriptors) to release.

Im nachfolgenden wird die prinzipielle Funktionsweise des erfinderischen Prozeßmanagers kurz dargestellt:
Das Client Anwendungsprogramm initiiert einen Remote Aufruf über den das entsprechende Server-Anwendungsprogramm, das gestartet werden soll.
The principle of operation of the inventive process manager is briefly described below:
The client application program initiates a remote call via the corresponding server application program that is to be started.

Der Remote Request wird nicht direkt zum Server Anwendungsprogramm, sondern zu dem Prozeßmanager geroutet (kurz PM).The remote request does not become the server directly Application program, but routed to the process manager (short PM).

Der PM selektiert eine der von ihm bereits "vorgestarteten Instanzen" eines Server Shell Prozess (kurz SSP) und übergibt diesem den Socket über den mit dem Client-Anwendungsprogramm kommuniziert wird. Die SSP sind vorgestartete Instanzen der "Light Processes" in verschiedenen Adressräumen. Erzeugt ein Client Anwendungsprogramm einen Remote Request so wird einer dieser "Light Prozesses" in das entsprechende Server Anwendungsprogramm umgewandelt.The PM selects one of those that he has already "started." Instances "of a server shell process (SSP for short) and transfers the socket to the one with the Client application program is communicated. The SSP are pre-started instances of the "Light Processes" in different address spaces. Creates a client Application program a remote request so one of these "Light processes" in the corresponding server Application program converted.

Der SSP führt die notwendigen Security-checks durch und führt danach das Server-Anwendungsprogramm, genauso wie es der originäre Mechanismus, z. B. der "Rexec daemon", auch getan hätte, aus. Werden von dem neuen Server Anwendungsprogramm weitere Prozesse auf dem Server mit Hilfe der "spawn" Funktionen gestartet, so geschieht dies ebenfalls unter Kontrolle des Process managers. Diese neuen Prozesse werden soweit das möglich ist ebenfalls im gleichen Adreßraum gestartet.The SSP carries out the necessary security checks and then runs the server application program, just like it the original mechanism, e.g. B. the "Rexec daemon", too would have done out. Be from the new server Application program using other processes on the server the "spawn" functions started, this also happens under the control of the process manager. These new processes  as far as possible, are also in the same Address space started.

Bei früheren OS/390 System überprüfte der OS/390 Unix Services bei einem solchen "spawn" Aufruf nicht, ob der Prozeß noch in dem gleichen Adreßraum Platz hatten oder nicht.In previous OS / 390 systems the OS / 390 checked Unix Services with such a "spawn" call do not know whether the Process still had space in the same address space or Not.

Falls kein Platz mehr im Adreßraum war, kommt es oft vor, daß bei einem solchen Aufruf der gesamte Adreßraum zerstört wurde und damit natürlich auch die Prozesse aller anderen Benutzer innerhalb dieses Adreßraumes zerstört wurden. Der erfinderische PM überprüft nun mit verschiedenen Algorithmen vorher, ob noch Platz im entsprechenden für ein weiteres Server-Anwendungsprogramm ist oder nicht. Im letzteren Fall erzwingt der PM, daß das neue Server-Anwendungsprogramm in einem neuen Adreßraum gestartet wird.If there was no more space in the address space, it often happens that with such a call, the entire address space is destroyed and of course the processes of everyone else Users within this address space have been destroyed. The inventive PM now checks with different ones Algorithms beforehand, whether there is still space in the corresponding one is another server application program or not. in the in the latter case, the PM forces the new one Server application program started in a new address space becomes.

Ist bereits vorab bekannt, daß ein bestimmter Benutzer ein Server-Anwendungsprogramm startet, das seinerseits sehr viele weitere dieser Anwendungsprogramme mit Hilfe von "spawn" Aufrufen startet, so kann den Programmen dieses Benutzers ein eigener Adreßraum zugewiesen werden.Is already known in advance that a certain user Server application program starts, which in turn very much many more of these application programs with the help of "spawn" calls starts, so the programs can do this Users can be assigned their own address space.

Dadurch wird ein häufiger Start von zusätzlichen Adreßräumen vermieden, was zu weiteren Performance-Optimierungen im Gesamtsystem führt.This will result in a frequent start of additional address spaces avoided, which leads to further performance optimizations in Overall system leads.

Wichtig ist, daß die gesamte Funktionalität des PM für die Anwendungen, die er kontrolliert, transparent ist. Der PM erhält weitestgehend die Semantik der Anwendungsprogramme auf Client- und Serverseite, so daß in diesen Programmen nur geringe Änderungen vorgenommen werden müssen, damit sie unter der Kontrolle des PM laufen können. It is important that the entire functionality of the PM for the Applications that he controls are transparent. The PM largely receives the semantics of the application programs on the client and server side, so that in these programs only minor changes need to be made for them can run under the control of the PM.  

Beispielsweise wird der "fork" Aufruf nicht von PM unterstützt, so dass "fork" - "exec" Sequenzen in den Anwendungsprogrammen in "spawn" Aufrufe umgewandelt werden müssen, damit diese Programme unter PM Kontrolle im gleichen mit anderen Programmen zusammen laufen können. Die Verbindung zwischen den Anwendungsprogrammen und dem PM wird derzeit durch das Einbinden einer spezifischen "Includefile" in das Anwendungsprogramm ermöglicht. Diese "Includefile" definiert eine Menge von Standardaufrufen, wie beispielsweise "spawn" in den entsprechenden PM-Aufruf ("bpa_spawn") um, so daß an allen Stellen im Anwendungsprogramm an denen der entsprechende Originalaufruf kodiert ist, dieser durch den entsprechenden PM-Aufruf ersetzt wird.For example, the "fork" call is not made by PM supported so that "fork" - "exec" sequences in the Application programs can be converted into "spawn" calls need for these programs to be under PM control in the same can run together with other programs. The Connection between the application programs and the PM is currently being implemented by incorporating a specific "Include file" in the application program. This "include file" defines a lot of Standard calls, such as "spawn" in the corresponding PM call ("bpa_spawn") so that at all Places in the application program where the corresponding Original call is coded by the corresponding one PM call is replaced.

Zum Erhalt der Semantik der Anwendungsprogramme im gleichen Adreßraum ist es notwendig, die "Shared Memory" Funktionalität des Systems entsprechend anzupassen. Die Adressierung von Speicher in einem Adreßraum geschieht linear, so daß zwei Anwendungsprogramme, die Shared Memory an derselben Stelle anlegen möchten, dies normalerweise nicht können, wenn sie im selben Adreßraum laufen.To maintain the semantics of the application programs in the same Address space it is necessary to use the "shared memory" Adjust functionality of the system accordingly. Memory is addressed in an address space linear, so that two application programs, the shared memory want to invest in the same place, usually cannot if they run in the same address space.

Der PM löst dieses Problem ebenfalls "transparent", so daß die Semantik des Anwendungsprogrammes an dieser Stelle ebenfalls nicht angepasst werden muß.The PM also solves this problem "transparently" so that the semantics of the application program at this point also does not have to be adjusted.

Einer der entscheidenden Vorteile des PM liegt in der Erhaltung der Semantik des Prozeßmodells.One of the key advantages of the PM is that Preservation of the semantics of the process model.

Portierte Unix Anwendungen, die nach der Re-Compilation den PM verwenden, finden ein unverändertes semantisches Prozeßmodell vor. Die Abbildung der Originalprozesse auf "Light Processes" im gleichen Adreßraum erfolgt ohne die Notwendigkeit einer Änderung der Architektur. Ported Unix applications that after re-compilation Using PM will find an unchanged semantic Process model. The mapping of the original processes on "Light processes" in the same address space takes place without the Need to change the architecture.  

Daraus ergibt sich ein erheblich reduzierter Portierungsaufwand. Wird von einem Server-Anwendungsprogramm ein weiteres Server-Anwendungsprogramm gestartet, so entsteht hier eine Vater-Kind Beziehung. Beendet sich der Vaterprozeß, so ist es oftmals bei solchen Anwendungen sinnlos, daß die von ihm gestarteten Kindprozesse weiterhin im System verbleiben und das System belasten (norphant Processes"). Der PM implementiert eine "Process Garbage Collection", die bei Bedarf solche Prozesse entdeckt und sie "aufräumt".This results in a significantly reduced Porting effort. Used by a server application program started another server application program, so a father-child relationship arises here. The ends Father process, it is often the case with such applications pointless that the child processes he started continue remain in the system and load the system (norphant Processes "). The PM implements a" Process Garbage Collection ", which, if necessary, discovers such processes and them "clean up".

Ebenfalls werden vom PM Hinterlassenschaften von unsauber terminierten Anwendungsprogrammen (Semaphore, Sockets und Filedescriptoren) entdeckt und "aufgeräumt".The PM also left unclean legacies terminated application programs (semaphores, sockets and File descriptors) discovered and "cleaned up".

Die vorliegende Erfindung wird anhand eines bevorzugten Ausführungsbeispieles in Verbindung mit Figuren näher beschrieben, wobeiThe present invention is based on a preferred one Exemplary embodiment in connection with figures described, wherein

Fig. 1 den Stand der Technik der Adreßraumverwaltung in dem IBM OS/390 System zeigt Fig. 1 shows the prior art, the Adreßraumverwaltung in the IBM OS / 390 system displays

Fig. 2 zeigt die Implementierung der vorliegenden Erfindung in das in Fig. 1 dargestellte System FIG. 2 shows the implementation of the present invention in the system shown in FIG. 1

Fig. 3 eine konkrete Implementierung der vorliegenden Erfindung in Form eines Prozeßmanagers zeigt Fig. 3 shows a specific implementation of the present invention in the form of a process manager

Fig. 4 den Kommunikationsfluß zwischen einem Client System, dem erfinderischen Prozeßmanager und einem Server System zeigt Fig. 4 shows the flow of communication between a client system, the inventive process manager and a server system

Fig. 5A-C das dynamische Verhalten des Adreßraums und Prozeßverwaltung gemäß der vorliegenden Erfindung zeigt. Fig. 5A-C the dynamic behavior of the address space and process management according to the present invention.

Fig. 1 zeigt den Verbrauch von Adreßräumen für Benutzer im IBM OS/390 System. Der GUI Prozeß stellt das Benutzer- Interface dar und verbindet mit dem Server-Prozeß. Der Server Prozeß - hier am Beispiel einer Shell - startet auf Anforderung einen oder mehrere Datenbankentreiber (DB driver). Der DB driver stellt eine Verbindung zur Datenbank her und ermöglicht damit, Datenbankabfragen und Datenverknüpfung der Shell. Jeder Prozeß (Shell/DB driver) erfordert einen eigenen Adreßraum. Das System OS/390 ist in der Lage mehrere Hundert Adreßräume zu verwalten. Wird diese Anzahl überschritten, wird die Systemantwortzeit unangemessen lang. Fig. 1 shows the consumption of address spaces for users in the IBM OS / 390 system. The GUI process represents the user interface and connects to the server process. The server process - here using the example of a shell - starts one or more database drivers (DB driver) on request. The DB driver establishes a connection to the database and thus enables database queries and data linking of the shell. Each process (Shell / DB driver) requires its own address space. The OS / 390 system is able to manage several hundred address spaces. If this number is exceeded, the system response time becomes inappropriately long.

Fig. 2 zeigt eine Implementierung der vorliegenden Erfindung in ein System wie es in Fig. 1 dargestellt ist. Die Implementierung der Erfindung führt zu einer Reduzierung der verwalteten Adreßräume, d. h. viele Server Anwendungen (Shell/DB driver) werden in einem Adreßraum verwaltet. Der Prozeßmanager verwaltet die Adreßräume und die ausgeführten Prozesse. FIG. 2 shows an implementation of the present invention in a system as shown in FIG. 1. The implementation of the invention leads to a reduction in the managed address spaces, ie many server applications (shell / DB driver) are managed in one address space. The process manager manages the address spaces and the processes executed.

Fig. 3 zeigt eine Anwendungssystemarchitektur bestehend aus einem Client Rechner und einem Server Rechner mit laufendem Prozeßmanager. Das Client Anwendungsprogramm stellt das Endbenutzerinterface (GUI) dar, welches auf dem Client Rechner läuft. Von diesem Client Anwendungsprogramm aus wird mit Hilfe eine Remote Kommandos, z. B. "rexec", das entsprechende Server Anwendungsprogramm auf dem Server gestartet. Diese Funktion emuliert das Standard Remote Interface im Client Anwendungsprogramm. Das Remote Interface überprüft, ob der entsprechende Server unter der Kontrolle des Prozeßmanagers läuft. In diesem Fall wird der entsprechende Port zur Kommunikation mit dem Prozeßmanager ermittelt und mit diesem Port dann das Standard Unterprogramm (z. B "rexec") aufgerufen. Das Client Anwendungsprogramm und das dazugehörige gestartete Server Anwendungsprogramms kommunizieren über TCP/IP. Mehrere Server Anwendungsprogramme werden im gleichen Adreßraum vom Prozeßmanager verwaltet. Abhängig von der Anzahl der Server Anwendungsprogramme werden mehrere Adreßräume vom Prozeßmanager verwaltet. Der Prozeßmanager verwaltet Adressräume in Form von Server Shell Prozeßmanagern. Server Shell Prozeßmanager ist der Hauptprozeß (SSPM) innerhalb eines definierten Adreßraumes. Er startet und kontrolliert die "Server Shell Prozesse" (SSP) in dem definierten Adreßraum. Die Server Shell Prozeßmanager (SSPM) stellt Server Shell Prozesse zur Verfügung. Server Shell Prozesse sind vorgestartete Instanzen der "Light Prozesses" in verschiedenen Adreßräumen. Aufgabe dieser Server Shell Prozesse ist es, einen TCP/IP Kommunikationspunkt bereitzustellen, um das Client Anwendungsprogramm mit dem Server Anwendungsprogramm zu verbinden. Erzeugt ein Client Anwendungsprogramm einen Remote Request, so wird einer dieser "Server Shell Prozesses" in das entsprechende Server Anwendungsprogramm umgewandelt. Dem Server Shell Prozeß hat damit eine sogenannte Platzhalterfunktion für ein Server Anwendungsprogramm. Bei Beendigung des Server Anwendungsprogramms startet der Server Shell Prozeßmanager einen neuen Platzhalter in Form eines Server Shell Prozesses. Der Prozeßmanager Daemon verwaltet die Server Shell Prozeßmanager Adreßräume und die darin laufenden Prozessen (Server Shell Prozesse oder Anwendungsprogramme) mit Hilfe einer Tabelle. Diese Tabelle beinhaltet Namen der ausgeführten Programme und deren Prozeßidentifikationsnummer mit dem dazugehörigen Prozeßstatus. Fig. 3 shows an application system architecture consisting of a client computer and a server computer with a running process manager. The client application program represents the end user interface (GUI) that runs on the client computer. From this client application program, a remote command, e.g. B. "rexec", the corresponding server application program started on the server. This function emulates the standard remote interface in the client application program. The remote interface checks whether the corresponding server is under the control of the process manager. In this case, the corresponding port for communication with the process manager is determined and the standard subroutine (eg "rexec") is then called with this port. The client application program and the associated started server application program communicate via TCP / IP. Several server application programs are managed in the same address space by the process manager. Depending on the number of server application programs, several address spaces are managed by the process manager. The process manager manages address spaces in the form of server shell process managers. Server Shell Process Manager is the main process (SSPM) within a defined address space. It starts and controls the "Server Shell Processes" (SSP) in the defined address space. The Server Shell Process Manager (SSPM) provides server shell processes. Server shell processes are pre-started instances of the "light processes" in different address spaces. The task of these server shell processes is to provide a TCP / IP communication point in order to connect the client application program with the server application program. If a client application program generates a remote request, one of these "server shell processes" is converted into the corresponding server application program. The server shell process thus has a so-called placeholder function for a server application program. When the server application program ends, the server shell process manager starts a new placeholder in the form of a server shell process. The process manager daemon manages the server shell process manager address spaces and the processes running in them (server shell processes or application programs) using a table. This table contains names of the executed programs and their process identification number with the associated process status.

Fig. 4 beschreibt den Kommunikationsfluß zwischen Client, Prozeßmanager und Server Anwendungsprogramm. Wird vom Endbenutzersystem (Client Anwendung) durch einen Remote Aufruf (z. B. "rexec"; 1) der Start eines weiteren Anwendungsprozesses in OS/390 initiiert, so verteilt der Prozeß Manager Daemon (2) diese ankommenden Anforderungen gleichmäßig auf die von ihm vorgestarteten Server Shell Prozesse (3) in dem entsprechenden Adreßraum. Diese rufen dann die angeforderte Server Anwendung auf (4) und kommunizieren direkt (5) mit der Client Anwendung. Diese Festlegungen erfolgen durch den Prozess Manager Daemon, der Teil des Prozeßmanager ist. Fig. 4 describes the flow of communication between client, process manager and server application program. If the end user system (client application) initiates the start of a further application process in OS / 390 by means of a remote call (eg "rexec"; 1), the process manager daemon (2) distributes these incoming requests evenly among them pre-started server shell processes (3) in the corresponding address space. These then call up the requested server application (4) and communicate directly (5) with the client application. These determinations are made by the process manager daemon, which is part of the process manager.

Fig. 5A zeigt den Prozeßmanagerzustand nach konfigurierten Start Up mit zwei Server Shell Prozeßmanagern und vorgestarten Server Shell Prozessen. Die Anzahl von gestarteten Server Shell Prozeßmanagern ergibt sich durch den Parameter PrestartedAS (Adress Space). Die Anzahl von vorgestarteten Server Shell Prozessen wird durch den Parameter Prestarted SSPPerAS festgelegt. Durch den Parameter MaxSSPPerAS läßt sich auch eine maximale Anzahl von Adressen pro Adreßraum festlegen. Fig. 5A shows the process manager state after the configured start-up with two server shell process managers and pre-launch server shell processes. The number of started server shell process managers is determined by the parameter PrestartedAS (address space). The number of pre-started server shell processes is determined by the parameter Prestarted SSPPerAS. The MaxSSPPerAS parameter can also be used to define a maximum number of addresses per address space.

Fig. 5B zeigt ein Zustand des Prozeßmanagers in dem einige vorgestarteten Server Shell Prozesse bereits Server Anwendungen (RCS = Remote Connected Server) ausführen. Durch Unterschreiten des Parameters MinFreeSSP = 2 erkennt der Prozeßmanager Daemon das neue Prozeßplatzhalter vorgestartet werden müssen. Der Parameter StartAddSSP = 4 führt dazu, das vier zusätzliche ServerShell Prozess Platzhalter nachgestartet, wobei zwei von ihnen durch die Beispielkonfiguration in einem neuen Adreßraum vorgestartet werden. Zusammenfassend bedeutet dies, im Falle, daß die Anzahl der vorgestarteten Server Shell Prozesse in ihren jeweiligen Adreßräumen nicht mehr ausreicht, so werden diese automatisch vom Prozeßmanager nachgestartet. Dieser Vorgang wird positives Trimmen genannt. Fig. 5B shows a state of the process manager where some prestarted server shell processes are already running server applications (RCS = Remote Connected Server). By falling below the parameter MinFreeSSP = 2, the process manager daemon recognizes that the new process placeholder must be restarted. The parameter StartAddSSP = 4 causes the four additional ServerShell process placeholders to be restarted, whereby two of them are pre-started in a new address space using the sample configuration. In summary, this means that in the event that the number of pre-started server shell processes in their respective address spaces is no longer sufficient, these are automatically restarted by the process manager. This process is called positive trimming.

Fig. 5C zeigt ein Zustand des Prozeßmanagers nach Beenden von mehreren Server Shell Anwendungen, wobei ein Adreßraum geschlossen wird und fünf Server Shell Prozesse entsprechend der Konfiguration MaxFreeSSP = 6 als Platzhalter erhalten bleiben. Werden gestartete Adreßräume oder vorgestartete Server Shell Prozesse nicht mehr benötigt, so werden diese durch den PM terminiert. Dies wird negatives Trimmen genannt. FIG. 5C shows a state of the process manager after termination of a plurality of server shell applications, wherein an address space is closed and retained according to the configuration MaxFreeSSP = 6 as a placeholder five server shell processes. If started address spaces or pre-started server shell processes are no longer required, these are terminated by the PM. This is called negative trimming.

Claims (9)

1. Verfahren zum Starten eines Programms auf einem System gekennzeichnet durch folgende Schritte:
  • a) Initiieren eines Programmaufrufs zur Herstellung der Kommunikation zwischen zumindest zwei Programmen zwecks Ausführung eines Programms
  • b) Senden des Programmaufrufs an ein Steuerungsprogramm, wobei das Steuerungsprogramm in einem oder mehreren definierten Adreßräumen jeweils zumindest einen Prozeß vorgestartet hat, um den Datenaustausch zwischen Programmen zu ermöglichen
  • c) Laden des Programmes im definierten Adreßraum durch Umwandeln eines ausgewählten vorgestarteten Prozesses
  • d) Mitteilen des Zustandes des Programms an das Steuerungsprogramm
1. Procedure for starting a program on a system characterized by the following steps:
  • a) Initiate a program call to establish communication between at least two programs for the purpose of executing a program
  • b) Sending the program call to a control program, the control program having started at least one process in each case in one or more defined address spaces in order to enable the data exchange between programs
  • c) Load the program in the defined address space by converting a selected pre-started process
  • d) Communicating the status of the program to the control program
2. Verfahren nach Anspruch 1 dadurch gekennzeichnet, daß das Initiieren des Programmaufrufs durch ein Client Programm erfolgt, um ein Server Programm zu starten.2. The method according to claim 1, characterized in that the initiation of the program call by a client Program is done to start a server program. 3. Verfahren nach Anspruch 1 oder 2 dadurch gekennzeichnet, daß das Steuerungsprogramm ein Adreßraummanagement enthält, das mittels Adreßraumverwaltungprozesse (SSPM) Adreßräume öffnet, innerhalb dieser Adreßräume Prozesse als Platzhalter vorstartet (SSP) und deren Zustandsinformationen an das Steuerungsprogramm zurückgibt. 3. The method according to claim 1 or 2 thereby characterized that the control program a Address space management contains that by means of Address space management processes (SSPM) opens address spaces, processes as placeholders within these address spaces pre-starts (SSP) and their status information to the Control program returns.   4. Verfahren nach Anspruch 1 bis 3 dadurch gekennzeichnet, daß das Steuerungsprogramm eine Funktion zur Annahme von initiierten Anfragen zum Initiieren eines Programmstarts enthält und gleichzeitig die Anfrage auf definierte Sicherheitsanforderungen überprüft und gegebenenfalls an die vorgestarteten Prozesse weitergibt.4. The method according to claim 1 to 3, characterized in that the control program has an accept function of initiated requests to initiate a Program starts and at the same time the request on Checked defined security requirements and if necessary, to the pre-started processes passes on. 5. Verfahren nach Anspruch 1 bis 4 dadurch gekennzeichnet, daß die Funktion zur Annahme von Anfragen zum Initiieren eines Programmstarts von außen über eine Remote Execution Schnittstelle erfolgt.5. The method according to claim 1 to 4, characterized in that the function to accept requests for Initiate a program start from the outside via a Remote execution interface takes place. 6. Verfahren nach Anspruch 4 dadurch gekennzeichnet, daß das Vorstarten und das Beenden der Programme und deren übergeordnete Adreßraumverwaltungsprozesse in Abhängigkeit der geforderten Programme durch das Adreßraummanagement unter Berücksichtigung voreingestellter Parameter erfolgt.6. The method according to claim 4, characterized in that the starting and ending of the programs and their parent address space management processes in Dependency of the required programs by the Address space management under consideration preset parameters. 7. Verfahren nach Anspruch 6 dadurch gekennzeichnet, daß das Adreßraummanagement die jeweiligen Adreßräume auf deren Kapazität zur Aufnahme weiterer Prozesse überprüft und in dem jeweiligen Adreßraum berücksichtigt oder neue Adreßräume öffnet.7. The method according to claim 6, characterized in that the address space management opens the respective address spaces their capacity to accommodate further processes checked and in the respective address space taken into account or opens new address spaces. 8. Verfahren nach Anspruch 1 bis 7 dadurch gekennzeichnet, daß das Steuerungsprogramm Reste von unsauber beendeten Prozessen (Semaphoren, geöffnete Sockets) identifiziert und eliminiert.8. The method according to claim 1 to 7, characterized in that the control program ended remnants of dirty Processes (semaphores, open sockets) identified and eliminated. 9. Prozeßmanager zur Verwaltung von Adreßräumen innerhalb eines Systems, wobei in dem System gleichzeitig eine Vielzahl von Programmen ausgeführt werden, enthaltend folgende Komponenten:
  • a) eine Adreßraummanagementkomponente zur Eröffnung von Adreßräumen und Platzierung von vorgestarteten Prozessen als Platzhalter für auszuführende Programme
  • b) eine Komponente zur Annahme von Anfragen zur Ausführung von Programmen
  • c) eine Komponente zur Sicherheitsüberprüfung der Anfragen
  • d) eine Komponente zur Weiterleitung der Anfrage an einen freien vorgestarteten Prozeßplatzhalter
  • e) eine Komponente zum Identifizieren und Eliminieren von unsauber beendeten Prozessresten
  • f) eine Komponente zum Erfassen und Verteilen von Informationen über die Adressräume mit deren untergeordneten Prozessen an die Adreßmanagementkomponente und an die Komponente nach d).
9. Process manager for managing address spaces within a system, a large number of programs being executed in the system at the same time, comprising the following components:
  • a) an address space management component for opening address spaces and placing pre-started processes as placeholders for programs to be executed
  • b) a component for accepting requests to execute programs
  • c) a component for security verification of inquiries
  • d) a component for forwarding the request to a free pre-started process placeholder
  • e) a component for identifying and eliminating improperly finished process residues
  • f) a component for capturing and distributing information about the address spaces with their subordinate processes to the address management component and to the component according to d).
DE1998143850 1998-09-24 1998-09-24 Optimized distribution process for system resources involves initiating call to set up communications between programs, and loading program in address space by changing selected pre-started process Ceased DE19843850A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE1998143850 DE19843850A1 (en) 1998-09-24 1998-09-24 Optimized distribution process for system resources involves initiating call to set up communications between programs, and loading program in address space by changing selected pre-started process

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE1998143850 DE19843850A1 (en) 1998-09-24 1998-09-24 Optimized distribution process for system resources involves initiating call to set up communications between programs, and loading program in address space by changing selected pre-started process

Publications (1)

Publication Number Publication Date
DE19843850A1 true DE19843850A1 (en) 2000-03-30

Family

ID=7882122

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1998143850 Ceased DE19843850A1 (en) 1998-09-24 1998-09-24 Optimized distribution process for system resources involves initiating call to set up communications between programs, and loading program in address space by changing selected pre-started process

Country Status (1)

Country Link
DE (1) DE19843850A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4970639A (en) * 1988-05-20 1990-11-13 International Business Machines Corporation Virtual machine architecture independent program loader
US5029078A (en) * 1987-06-22 1991-07-02 Mitsubishi Denki K.K. Program loading method with relocation address

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5029078A (en) * 1987-06-22 1991-07-02 Mitsubishi Denki K.K. Program loading method with relocation address
US4970639A (en) * 1988-05-20 1990-11-13 International Business Machines Corporation Virtual machine architecture independent program loader

Similar Documents

Publication Publication Date Title
DE69829442T2 (en) System and method for transparent, global access to physical devices in a computer system
DE60125705T2 (en) Apparatus and method for implementing an HTTP program stack on a client
DE69735348T2 (en) Scalable and extensible system management architecture with dataless endpoints
DE69724877T2 (en) Method and device for operating an aggregation of server computers using a dual-purpose proxy server
DE60125989T2 (en) PROCESS AND APPARATUS FOR IMPROVED FILE MANAGEMENT
DE69635469T2 (en) Synchronization between different computer provider environments
DE69736586T2 (en) A method and computer program product for reducing inter-buffer data transfers between separate data processing components
DE69827747T2 (en) Printer system and transfer device to transfer printer control program
DE69814900T2 (en) METHOD AND SYSTEM FOR SUPPORTING DISTRIBUTED SOFTWARE DEVELOPMENT WITHOUT AWARENESS OF THE DISTRIBUTED CHARACTERISTICS OF THE SOFTWARE
EP1456742B1 (en) Method, device system and computer program for saving and retrieving print data in a network
DE69932465T2 (en) File distribution system and its method
DE10047266B4 (en) Method and apparatus for booting a workstation from a server
DE69728601T2 (en) Client-server architecture with concurrent servers
DE69734432T2 (en) Method and apparatus for sending client method calls in a server computer system
DE10393771T5 (en) Fast backup storage and fast data recovery (FBSRD)
DE4033336A1 (en) METHOD FOR GENERATING A FAILURE MESSAGE AND MECHANISM FOR FAILURE MESSAGE
DE4218025A1 (en) DATA STORAGE MANAGEMENT SYSTEM AND METHODS OF MEMORY ASSIGNMENT BASED ON SEVERAL SERVICE CLASSES
DE19822543A1 (en) Order allocation method, data processing system, client data processing node and computer readable storage medium
DE112005001995B4 (en) A computer arrangement and method for offering services to users over a network
DE10059796A1 (en) Activities processor for processing business data in component based environment, determines life time behavior of activity instance based on parameters of descriptor
DE10051022B4 (en) Method, system and computer program product for the reconfiguration of logical printers in a printer network system when changing from one monitoring program to a second monitoring program
DE102004022480A1 (en) Data integration system with programmatic source and destination interfaces
DE69733918T2 (en) Method and device for operating a user computer without vendor software
DE69637098T2 (en) SAFETY DEVICE AND METHOD FOR A DATA PROCESSING SYSTEM
DE60005051T2 (en) PROCEDURE-BASED PROCESS AND SYSTEMS FOR USING THE FREE PROCESSING PERFORMANCE OF ONE OR MORE NETWORKED COMPUTERS TO SOLVE COMPLICATED SCIENTIFIC PROBLEMS

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection