Browse Prior Art Database

SUPPORTING OPERATING SYSTEM BACKWARD COMPATIBILITY THROUGH KERNEL INITIALIZATION

IP.com Disclosure Number: IPCOM000131950D
Publication Date: 2005-Nov-22
Document File: 5 page(s) / 66K

Publishing Venue

The IP.com Prior Art Database

Related People

Ning Zhang: INVENTOR [+2]

Abstract

System information maintained by an operating system is updated very early in the kernel initialization process to ensure that the legacy applications and other modules and components that access the information either directly or through the legacy API would receive valid information, thereby achieving full backward compatibility. System variables that hold the system information are made to only have the pre-upgrade values.

This text was extracted from a Microsoft Word document.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 49% of the total text.

SUPPORTING OPERATING SYSTEM BACKWARD COMPATIBILITY THROUGH KERNEL INITIALIZATION

It is important for an operating system to support backward compatibility for legacy applications that are developed to run on the operating system.

One common way of supporting backward compatibility for legacy applications is to support the legacy Application Programming Interface (API) in an upgraded operating system such that the legacy applications would not be able to notice the differences between the older version and the new version of the operating system.  For instance, a legacy API function for returning product information may still be made available on the upgraded operating system for the legacy applications that call the function.

Stock Keeping Unit (SKU) or product information provides a good example because the product information that is maintained by an operating system often instructs applications with regard to how the applications should behave when the applications run on the operating system.  For instance, a system variable for the operating system may hold a type of the product information that identifies whether the operating system is for a workstation or a server.  User applications that run on the operating system such as word processing programs or spreadsheet programs would adjust their behavior according to the setting of the system variable.

In order to support full backward compatibility, however, it is also required that the source of information that is accessed through the legacy API contains data that is compatible with the legacy applications.  For instance, the upgraded operating system must support product information that can be understood by the legacy applications that call the legacy API.  New product information that is specific to the upgraded operating system may cause the legacy applications to malfunction because the new product information did not exist when the legacy applications were created.

Keeping the product information compatible is important in one other respect. Some legacy applications may access the product information directly without calling the legacy API.  Therefore, it is necessary to have the product information updated or initialized very early in the kernel initialization sequence.  For instance, initialization of system variables that hold the product information may have to be updated very early in the kernel initialization sequence because there may be some kernel modules and components that directly read the variables without calling the legacy API.

The product information can be kept compatible by forcing the system variables to only have product information that is used by the older version of the operating system.  This provides full backward compatibility for the legacy applications that either directly access the system variables or call the legacy API that returns the system variables.  Updating the system variables during early phases of the kernel initialization sequence...