Process migration - Fronda, Francisco V.; Tordilla, John Patrick P.; Vidal, Chaz F. (1995)
Process migration is the ability of a process or a program to migrate or to continue its execution from one node in a network to another computer in the same system. Consider a program working on a computer in a distributed system. Process migration would involve suspending that running program, moving the running program in memory to another computer in the system, and then resuming the program in the different computer at the point where it was suspended. The research sets out to answer the following questions: Can process migration be implemented such that it can work of different computer platforms and machines/ processors (e.g. Intel, Sun, Macintosh) and Operating Systems (e.g. MS-DOS, Windows, Macintosh)n This means migrating a process between different machines running different operating systems. Also, as a start, can a process migration system be implemented on Intel 386 machines running MS-DOSn In other words, would process migration work on the same computers running the same Operating Systems The goal of the process migration software (PM) is to be able to stop a running process and save its image on disk. From that image, the software must be able to restore the original state of the stopped process and resume its execution on any 80286 or 80386 PC provided it is running under DOS. From this summary, one can determine that the main tasks of the software are: suspend a process, save its image on disk, and resume the execution of the suspended process from that saved image. It is clear that PM must be able to save the correct information in order to ensure that the state of the suspended process is not changed so that the process will still execute as if nothing happened. In order to take a proper "snapshot" of a suspended process, PM must be able to save the register values at time of suspension, the Program Segment Prefix and Environment Block, the program code and data and memory control blocks, as well as video information. PM must save the register values, program workspace, and video buffer so that when resumed, the process can execute from where it left off. While register values reflect the state of the process at the time of suspension, the program workspace contains the instructions that are to be executed by the process. Saving the video information enables the process' interface with the user to be restored. What we were able to design was an implementation of process migration on a machine with an 8086 architecture running on DOS. Although this implementation is not a hundred percent efficient, we were able to meet the minimum requirements that we have set out to do.We were able to develop a working program that would enable the user to suspend simple programs running in DOS at his command and be able to resume the execution of the same program from where it left off at possibly another DOS-based computer system. We strongly suggest that process migration should be implemented at the operating system level and not as a separate software utility because it being part of the OS would provide the most control on memory, devices and processes themselves. Although this would either mean a creation of new operating systems or the incorporation of process migration in existing systems; in the long run, process migration in the OS level would be more efficient and less problematic. We also recommend that further research for the improvement of PM for DOS should be done. This will meet practical benefits for DOS users.
Thesis (B.S. Computer Science)--University of the Philippines Diliman.
Keywords: Systems migration; Distributed operating systems (Computers); Electronic data processing -- Distributed processing; Process migration