Patent US5339406A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5339406A Expired / Lapsed US ⏱️ 0.0 years remaining

Reconstructing symbol definitions of a dynamically configurable operating system defined at the time of a system crash

Assignee: Sun Microsystems Inc
•
Filing: 1992-04-03
•
Granted: 1994-08-16
•
Expires: 2012-04-03
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A relocatable segment list builder, a system image dump driver, and a system image dump saver are provided to a dynamically configurable operating system being executed on a computer system. The operating system includes a root executable segment and a number of pageable relocatable segments that are loaded on an as needed basis. The relocatable segment list builder maintains in memory a non-pageable relocatable segment list, which comprises names of the relocatable segments that are loaded in any particular point in time. The system image dump driver dumps an image of the operating system including the non-pageable relocatable segment list to a dump device at the time of a system crash. In addition, a system image saver is provided to the computer system. The system image saver builds a system image dump file, which comprises the relocatable segment list dumped using the operating system image dumped. The system image saver also builds a companion system image dump symbol definition file, which comprises all symbol definitions of the operating system defined at the time of the system crash regardless of whether the relocatable segments containing the symbol definitions are paged out of memory or not. The system image saver determines which relocatable segments are loaded at the time of the crash using the system image dump file built. The system image saver then reconstructs the symbol definitions using the symbol and string tables of the root executable and the relocatable segments loaded at the time, which are stored in mass storage. As a result, all system definitions contained in loaded relocatable segments of the operating system at the time of the crash, regardless of whether the containing relocatable segments are paged out of memory or not, are available to aid in debugging the system crash.

Inventors

  • 👤 Michael W. Carney
  • 👤 Timothy Marsland
  • 👤 William F. Pittore

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 18:39
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/0703; G06F11/0766; G06F11/0778; G06F11/0706; G06F11/0721; G06F11/14; G06F11/1402; G06F11/1415

Claims Analysis

Total Claims: 19
Claim 1
Independent Claim 338 words
In a computer system comprising a central processing unit (CPU) executing a dynamically configurable operating system, wherein said operating system comprises symbol definitions that change dynamically, a method for reconstructing said symbol definitions at the time of a system crash that aids in debugging said system crash, said method comprising the steps of: maintaining a non-pageable relocatable segment list in a memory, said list comprising names of relocatable segments of said operating system that are loaded into said memory and linked at any particular point in time, said operating system comprising a root executable segment that is loaded from a system library into said memory during system start up and a plurality of relocatable segments that are loaded from said system library into said memory and linked on an as needed basis, said system library containing a first copy of said operating system; dumping an image of said operating system in said memory at the time of a system crash, said system image dump comprising images of unpaged sections of said root executable and relocatable segments, and said list, in said memory at the time of said system crash, said root executable and relocatable segments comprising individually pageable and non-pageable sections; determining said relocatable segments that are loaded in said memory and linked at the time of said system crash using said relocatable segment list dumped; and building a system image dump symbol definition file comprising all symbol definitions of said operating system defined at the time of said system crash regardless whether said symbol definitions are paged out or not, said symbol definition file being built using said root executable and selected ones of said relocatable segments stored on mass storage, said selected ones of said relocatable segments being said relocatable segments that are determined to be loaded in said memory at the time of said system crash, said mass storage comprising a second copy of said operating system; whereby allowing said system image symbol definition file to be used in aid of debugging said system crash.
Claim 2
Dependent Claim 338 words
In a computer system comprising a central processing unit (CPU) executing a dynamically configurable operating system, wherein said operating system comprises symbol definitions that change dynamically, a method for reconstructing said symbol definitions at the time of a system crash that aids in debugging said system crash, said method comprising the steps of: maintaining a non-pageable relocatable segment list in a memory, said list comprising names of relocatable segments of said operating system that are loaded into said memory and linked at any particular point in time, said operating system comprising a root executable segment that is loaded from a system library into said memory during system start up and a plurality of relocatable segments that are loaded from said system library into said memory and linked on an as needed basis, said system library containing a first copy of said operating system; dumping an image of said operating system in said memory at the time of a system crash, said system image dump comprising images of unpaged sections of said root executable and relocatable segments, and said list, in said memory at the time of said system crash, said root executable and relocatable segments comprising individually pageable and non-pageable sections; determining said relocatable segments that are loaded in said memory and linked at the time of said system crash using said relocatable segment list dumped; and building a system image dump symbol definition file comprising all symbol definitions of said operating system defined at the time of said system crash regardless whether said symbol definitions are paged out or not, said symbol definition file being built using said root executable and selected ones of said relocatable segments stored on mass storage, said selected ones of said relocatable segments being said relocatable segments that are determined to be loaded in said memory at the time of said system crash, said mass storage comprising a second copy of said operating system; whereby allowing said system image symbol definition file to be used in aid of debugging said system crash.
Claim 3
Dependent Claim 26 words
The method as set forth in claim 1, wherein, said method further comprises the step of building a system image dump file using said image dumped.
Claim 4
Dependent Claim 81 words
The method as set forth in claim 1, wherein, said step of building a system image dump symbol definition file comprises the steps of: extracting symbol table entries from a symbol table of said root executable segment in said system library; merging said extracted symbol table entries into a combined symbol table; extracting string table entries from a string table of said root executable segment in said system library; and merging said extracted string table entries into a combined string table.
Claim 5
Dependent Claim 35 words
The method as set forth in claim 3, wherein, said extracting and merging steps are repeated for each of said relocatable segments that is loaded in said memory at the time of said system crash.
Claim 6
Dependent Claim 93 words
The method as set forth in claim 3, wherein, each of said symbol table entries comprises a name index pointing to an offset into the corresponding string table where a symbol name is located, a symbol value representing an address of a memory object, a symbol size, a symbol type, at least one binding attribute, and a section index pointing to an offset into a section header table where a section name is located, said memory object being referred to by said symbol name, said section name being affiliated with said symbol name.
Claim 7
Dependent Claim 30 words
The method as set forth in claim 3, wherein, each of said string table entries comprises at least one null terminated character starting at an offset into said string table.
Claim 8
Dependent Claim 420 words
In a computer system comprising a central processing unit (CPU) executing a dynamically configurable operating system, wherein said operating system comprises symbol definitions that change dynamically, an apparatus for reconstructing said symbol definitions of said operating system defined at the time of a system crash to aid debugging said system crash, said apparatus comprising: a non-pageable relocatable segment list comprising names of relocatable segments of said operating system that are loaded into said memory by said CPU and linked at any particular point in time, said operating system comprising a root executable segment that is loaded from a system library into said memory by said CPU during system start up and a plurality of relocatable segments that are loaded from said system library into said memory by said CPU and linked on an as needed basis, said system library being coupled to said CPU and said memory, said system library containing a first copy of said operating system; maintenance means coupled to said CPU for maintaining said non-pageable relocatable segment list; dumping means coupled to said CPU for dumping an image of said operating system in said memory at the time of a system crash onto a dump device, said system image dump comprising images of unpaged sections of said root executable and relocatable segments, and said list, in said memory at the time of said system crash, said root executable and relocatable segments comprising individually pageable and non-pageable sections, said dump device being coupled to said memory; determining means coupled to said CPU for determining said relocatable segments that are loaded in said memory and linked at the time of said system crash using said relocatable segment list dumped, said dump device being coupled to said CPU; and first building means coupled to said CPU for building a system image dump symbol definition file on a storage device comprising all symbol definitions of said operating system defined at the time of said system crash regardless whether said symbol definitions are paged out or not, said symbol definition file being built using said root executable and selected ones of said relocatable segments stored in mass storage, said selected ones of said relocatable segments being said relocatable segments that are determined to be loaded in said memory at the time of said system crash, said storage device being coupled to said CPU, said mass storage comprising a second copy of said operating system; whereby allowing said system image symbol definition file to be used in aid of debugging said system crash.
Claim 9
Dependent Claim 420 words
In a computer system comprising a central processing unit (CPU) executing a dynamically configurable operating system, wherein said operating system comprises symbol definitions that change dynamically, an apparatus for reconstructing said symbol definitions of said operating system defined at the time of a system crash to aid debugging said system crash, said apparatus comprising: a non-pageable relocatable segment list comprising names of relocatable segments of said operating system that are loaded into said memory by said CPU and linked at any particular point in time, said operating system comprising a root executable segment that is loaded from a system library into said memory by said CPU during system start up and a plurality of relocatable segments that are loaded from said system library into said memory by said CPU and linked on an as needed basis, said system library being coupled to said CPU and said memory, said system library containing a first copy of said operating system; maintenance means coupled to said CPU for maintaining said non-pageable relocatable segment list; dumping means coupled to said CPU for dumping an image of said operating system in said memory at the time of a system crash onto a dump device, said system image dump comprising images of unpaged sections of said root executable and relocatable segments, and said list, in said memory at the time of said system crash, said root executable and relocatable segments comprising individually pageable and non-pageable sections, said dump device being coupled to said memory; determining means coupled to said CPU for determining said relocatable segments that are loaded in said memory and linked at the time of said system crash using said relocatable segment list dumped, said dump device being coupled to said CPU; and first building means coupled to said CPU for building a system image dump symbol definition file on a storage device comprising all symbol definitions of said operating system defined at the time of said system crash regardless whether said symbol definitions are paged out or not, said symbol definition file being built using said root executable and selected ones of said relocatable segments stored in mass storage, said selected ones of said relocatable segments being said relocatable segments that are determined to be loaded in said memory at the time of said system crash, said storage device being coupled to said CPU, said mass storage comprising a second copy of said operating system; whereby allowing said system image symbol definition file to be used in aid of debugging said system crash.
Claim 10
Dependent Claim 36 words
The apparatus as set forth in claim 7, wherein, said apparatus further comprises second building means coupled to said CPU for building a system image dump file on said storage device using said system image dumped.
Claim 11
Dependent Claim 85 words
The apparatus as set forth in claim 7, wherein, said first building means builds said system image dump symbol definition file by: extracting symbol table entries from a symbol table of said root executable segment in said system library; merging said symbol table entries into a combined symbol table on said storage device; extracting string table entries from a string table of said root executable segment in said system library; and merging said string table entries into a combined string table on said storage device.
Claim 12
Dependent Claim 37 words
The apparatus as set forth in claim 9, wherein, said first building means repeats said extracting and merging for each of said relocatable segments that is loaded into said memory at the time of said system crash.
Claim 13
Dependent Claim 93 words
The apparatus as set forth in claim 9, wherein, each of said symbol table entries comprises a name index pointing to an offset into the corresponding string table where a symbol name is located, a symbol value representing an address of a memory object, a symbol size, a symbol type, at least one binding attribute, and a section index pointing to an offset into a section header table where a section name is located, said memory object being referred to by said symbol name, said section name being affiliated with said symbol name.
Claim 14
Dependent Claim 30 words
The apparatus as set forth in claim 9, wherein, each of said string table entries comprises at least one null terminated character starting at an offset into said string table.
Claim 15
Dependent Claim 310 words
A computer system comprising: a central processing unit (CPU); a memory coupled to said CPU for storing a dynamically configurable operating system executed by said CPU, said operating system comprises a root executable segment that is loaded from a system library into said memory at the time of system start up, a plurality of relocatable segments that are loaded from said system library into said memory on an as needed basis, and a relocatable segment list maintained in said memory comprising names of said relocatable segments that are loaded at any particular point in time, said root executable and relocatable segments comprising individually pageable and non-pageable sections, said relocatable segment list being non-pageable; a paging device coupled to said memory for storing said paged sections of said loaded root executable and relocatable segments in said memory; a dump device coupled to said memory and CPU for storing a dumped image of said operating system in said memory at the time of a system crash, said system image dumped comprising images of said unpaged sections of said root executable and relocatable segments and said relocatable segment list in said memory at the time of said system crash; a first storage device for storing said system library comprising said root executable and relocatable segments of said operating system; a second storage device for storing a system image dump symbol definition file comprising all symbol definitions of said operating system defined at the time of said system crash, said symbol definition file being built using said root executable segment and selected ones of said relocatable segments in said system library, said selected ones of said relocatable segments being said relocatable segments determined to be loaded at the time of said system crash, said relocatable segments being determined to be loaded at the time of said system crash using said relocatable segment list dumped.
Claim 16
Dependent Claim 310 words
A computer system comprising: a central processing unit (CPU); a memory coupled to said CPU for storing a dynamically configurable operating system executed by said CPU, said operating system comprises a root executable segment that is loaded from a system library into said memory at the time of system start up, a plurality of relocatable segments that are loaded from said system library into said memory on an as needed basis, and a relocatable segment list maintained in said memory comprising names of said relocatable segments that are loaded at any particular point in time, said root executable and relocatable segments comprising individually pageable and non-pageable sections, said relocatable segment list being non-pageable; a paging device coupled to said memory for storing said paged sections of said loaded root executable and relocatable segments in said memory; a dump device coupled to said memory and CPU for storing a dumped image of said operating system in said memory at the time of a system crash, said system image dumped comprising images of said unpaged sections of said root executable and relocatable segments and said relocatable segment list in said memory at the time of said system crash; a first storage device for storing said system library comprising said root executable and relocatable segments of said operating system; a second storage device for storing a system image dump symbol definition file comprising all symbol definitions of said operating system defined at the time of said system crash, said symbol definition file being built using said root executable segment and selected ones of said relocatable segments in said system library, said selected ones of said relocatable segments being said relocatable segments determined to be loaded at the time of said system crash, said relocatable segments being determined to be loaded at the time of said system crash using said relocatable segment list dumped.
Claim 17
Dependent Claim 36 words
The computer system as set forth in claim 13, wherein said second storage device is further used for storing a system image dump file, said system image dump file being built using said system image dumped.
Claim 18
Dependent Claim 35 words
The method as set forth in claim 1, wherein, said first copy and said second copy of said operating system are the same copy of said operating system, said mass storage storing said system library.
Claim 19
Dependent Claim 35 words
The apparatus as set forth in claim 7, wherein, said first copy and said second copy of said operating system are the same copy of said operating system, said mass storage storing said system library.

References Cited (Backward Citations)

US3787813A Cited
US3778776A Cited
US4926316A Cited
US4636940A Cited
US4814971A Cited
US4847749A Cited
US5101494A Cited
US5038319A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-08-15 1998-02-14 1998-08-16 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-08-15 2002-02-14 2002-08-16 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-08-15 2006-02-14 2006-08-16 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag