Method for generating an operating system by a static link-editor
First Claim
1. In a computer system, a method of generating an operating system by the computer system including generating a load module of the operating system from object modules of a kernel program and a plurality of driver programs by a static link-editor, the method comprising the steps of:
- linking object modules of a kernel program to prepare a first load module, said kernel program including a plurality of kernel subroutine programs, an interrupt-processing program, a driver table initializing program and a driver table;
linking object modules of a plurality of driver programs, a linkage library and a driver definition table to prepare a second load module, the object modules of each of said driver programs including a read/write sequence having a read/write instruction for reading or writing data in a working area of said kernel program, and the object module of said linkage library including a read/write linkage procedure for executing said read/write instruction;
linking each of said driver programs and said read/write linkage procedure according to the read/write sequence in each of said driver programs;
rewriting a portion of said read/write instruction including said read/write sequence into a starting address of said read/write linkage procedure linked to said step of linking each of said driver programs and said read/write linkage procedure, wherein read/write linkage procedure interrupts to said kernel subroutine program controlling said working area are started from a predetermined starting address of the load module corresponding to execution of said read/write sequence;
storing addresses corresponding to each of said driver programs to said driver table of said first load module by referring to said driver definition table when said driver table initializing program is executed; and
storing addresses corresponding to one of said kernel subroutine programs to said driver program by executing said interrupt processing program upon a call sequence for calling one of said kernel subroutine programs when said driver program is executed.
1 Assignment
0 Petitions
Accused Products
Abstract
In an operating system generation method of a computer, a symbolic name is converted into an identification code, which is further converted into an address. This enables an inter-reference operation to be achieved between a kernel and input/output device drivers, thereby independently generating the input/output device drivers and the kernel. As a result, depending on the hardware configuration of the user system, input/output device drivers can be incorporated into the operating system.
-
Citations
2 Claims
-
1. In a computer system, a method of generating an operating system by the computer system including generating a load module of the operating system from object modules of a kernel program and a plurality of driver programs by a static link-editor, the method comprising the steps of:
-
linking object modules of a kernel program to prepare a first load module, said kernel program including a plurality of kernel subroutine programs, an interrupt-processing program, a driver table initializing program and a driver table; linking object modules of a plurality of driver programs, a linkage library and a driver definition table to prepare a second load module, the object modules of each of said driver programs including a read/write sequence having a read/write instruction for reading or writing data in a working area of said kernel program, and the object module of said linkage library including a read/write linkage procedure for executing said read/write instruction; linking each of said driver programs and said read/write linkage procedure according to the read/write sequence in each of said driver programs; rewriting a portion of said read/write instruction including said read/write sequence into a starting address of said read/write linkage procedure linked to said step of linking each of said driver programs and said read/write linkage procedure, wherein read/write linkage procedure interrupts to said kernel subroutine program controlling said working area are started from a predetermined starting address of the load module corresponding to execution of said read/write sequence; storing addresses corresponding to each of said driver programs to said driver table of said first load module by referring to said driver definition table when said driver table initializing program is executed; and storing addresses corresponding to one of said kernel subroutine programs to said driver program by executing said interrupt processing program upon a call sequence for calling one of said kernel subroutine programs when said driver program is executed.
-
-
2. In a computer system, a method of generating an operating system by the computer system including generating a load module of the operating system from object modules of a kernel program and a plurality of driver programs by a static link-editor, each of said driver programs including a plurality of driver-function subroutine programs and coupling-routine programs for executing one of driver-function subroutine programs corresponding to a call from said kernel program, said kernel program including a driver call sequence for calling one of a plurality of driver-function subroutines and a driver function subroutine table for storing a starting address of each of said driver function subroutine programs, said driver call sequence including a name of the driver program and a name of the driver-function subroutine program in said driver program, and said object modules including a driver-definition information table for indicating a relationship between each name of said driver program and each of said starting addresses of said coupling routine programs in each of said driver programs, the method comprising the steps of:
-
linking object modules of a kernel program to prepare a first load module, said kernel program including a plurality of kernel subroutine programs, an interrupt-processing program, a driver table initializing program and a driver table; linking object modules of a plurality of driver programs, a linkage library and a driver definition table to prepare a second load module; storing addresses corresponding to each of said driver programs to said driver table of said first load module by referring to said driver definition table when said driver table initializing program is executed; and storing addresses corresponding to one of said kernel subroutine programs to said driver program by executing said interrupt processing program upon a call sequence for calling one of said kernel subroutine programs when said driver program is executed; and linking said driver-definition information table with other driver definition tables of said object modules, wherein said kernel program calls said coupling-routine program by referring to said driver-definition information table corresponding to execution of said driver function subroutine call sequence, and said coupling-routine program executes the driver-function subroutine program according to a calling of said kernel program, said coupling-routine program returns said starting address of said executed driver-function subroutine program to said kernel program after execution of said driver-function subroutine program, and said kernel program stores said returned starting address in said driver function subroutine table and executes said driver function subroutine program directly corresponding to execution of said driver call sequence for calling said driver function subroutine program again.
-
Specification