Extended process for a multiprocessor system
First Claim
1. A method for controlling the execution of a program in a multiprocessor system having a plurality of processors and a communication path interconnecting said plurality of processors, comprising the steps of:
- establishing a user process on first one of said processors;
said step of establishing said user process comprises the substeps ofcreating a process control block;
creating text and data and stack areas of memory to be identified by said process control blockbuilding a channel table having data structures to identify communication channels;
building a link list to identify data structures in said channel table;
inserting a list pointer into said process control block to identify said link list;
establishing a first stub process on a second one of said processors to be used only by said user process during the execution of file and I/O and other operations of said program;
said step of establishing said first stub process comprises the substeps ofcreating a process control block for said first stub process; and
creating a stack area of memory for said first stub process to be identified by said process control block for said first stub process;
establishing a second stub process on a third one of said processors to be used only by said user process during the execution of file and I/O and other operations by said program;
said step of establishing said second stub process comprises the substeps ofcreating a process control block for said second stub process;
and creating a stack area of memory for said second stub process to be identified by said process control to solving these and block for said second stub process;
setting up a first virtual communication channel between said user process and said first stub process via said communication path; and
setting up a second virtual communication channel between said user process and said second stub process via said communication path.
1 Assignment
0 Petitions
Accused Products
Abstract
In a multiprocessor system, a program'"'"'s execution that is controlled by controlling an extended process that spans a plurality of processors. The extended process comprises an user process on one processor for executing object code of the program and stub processes each on an individual one of said remaining processors for accessing system resources required for execution of the program. Each stub process gives the extended process access to the resources associated with the processor executing the stub process. Further, a stub process is unique to one particular extended process. Each stub process is interconnected to the user process by an individual virtual communication channel. The virtual communication channels are identified in each process by a port table that is unique to an individual process. When the user process accesses a local file, the access is through a user file table, a system file table, and an inode table. When the user process accesses a remote file, the access is through the port table, over the virtual channel identified from port table to a stub process, and then through the stub process'"'"' user file table, system file table, and inode table.
103 Citations
16 Claims
-
1. A method for controlling the execution of a program in a multiprocessor system having a plurality of processors and a communication path interconnecting said plurality of processors, comprising the steps of:
-
establishing a user process on first one of said processors; said step of establishing said user process comprises the substeps of creating a process control block; creating text and data and stack areas of memory to be identified by said process control block building a channel table having data structures to identify communication channels; building a link list to identify data structures in said channel table; inserting a list pointer into said process control block to identify said link list; establishing a first stub process on a second one of said processors to be used only by said user process during the execution of file and I/O and other operations of said program; said step of establishing said first stub process comprises the substeps of creating a process control block for said first stub process; and creating a stack area of memory for said first stub process to be identified by said process control block for said first stub process; establishing a second stub process on a third one of said processors to be used only by said user process during the execution of file and I/O and other operations by said program; said step of establishing said second stub process comprises the substeps of creating a process control block for said second stub process; and creating a stack area of memory for said second stub process to be identified by said process control to solving these and block for said second stub process; setting up a first virtual communication channel between said user process and said first stub process via said communication path; and setting up a second virtual communication channel between said user process and said second stub process via said communication path. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An apparatus for controlling the execution of a program in a multiprocessor system having a plurality of processors and a communication path interconnecting said plurality of processors, comprising:
-
means for establishing a user process on a first one of said processors; said establishing means of said user process comprises means for creating a process control block; means for creating text and data and stack areas of memory to be identified by said process control block; said user process establishing a means further comprises means for building a channel table having data structures to identify communication channels; said user process establishing means further comprises means for building a link list to identify data structures in said channel table; said user process establishing means further comprises means for inserting a list pointer into said process control block to identify said link list; means for establishing a first stub process on a second one of said processors to be used only by siad user process during the execution of file and I/O and other operations by said program; said means for establishing said first stub process comprises means for creating a process control block for said first stub process; and means for creating a stack area of memory for said first stub process to be identified by said process control block for said first stub process; means for establishing a second stub process on a third one of said processors to be used only by said user process during the execution of file and I/O and other operations by said program; said step of establishing said second stub process comprise means for creating a process control block for said second stub process; and means for creating a stack area of memory for said second stub process to be identified by said process control block for said second stub process; means for setting up a first virtual communication channel between said user process and said first stub process via said communication path; and means for setting up a second virtual communication channel between said user process and said second stub process via said communication path. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
Specification