For microprocessors wherein a common method of memory addressing is not used in all modes, alternate preferred embodiments of the present invention provide an improved method of selecting the base addresses for the operating system subroutines to enable multi-mode addressing.
解答例
A preferred embodiment designed for use with the Intel 80286 and microprocessors with similar architecture includes the steps of selecting real memory segment base values that are in a format compatible with the protected mode mapping architecture and configuring the protected mode descriptor tables to produce a resulting base address identical to that obtained in real mode.
Device drivers, interrupt service routines, and portions of the operating system that are frequently used in both modes are thus placed in real memory at locations selected in this manner.
Preferred embodiments for use with the Intel 80286 microprocessor also preferably include an operating system subroutine that will examine the address of the I/O location designated by a device driver and produce a 32-bit (segment:offset) pointer which will address the desired memory location in the current mode.
When the system is in protected mode, the subroutine will program the GDT or LDT to achieve this result.
When the system is in real mode, the subroutine will preferably generate real mode addresses using internal diagnostic instructions to cause the 80286 to address memory locations above 1 megabyte although in real mode.
Alternately, information intended for storage at memory addresses above 1 megabyte can be temporarily stored in a buffer at addresses below 1 megabyte while the system is in real mode, and then transferred to the desired memory location above 1 megabyte when the system switches to protected mode.
Preferred embodiments for use with the Intel 80286 microprocessor also preferably include steps which are designed to eliminate compatibility problems between 8086 programs and the 80286.
Depending upon the nature of the system, software modifications or the addition of an auxiliary hardware element to disable the effect of address line A20 are provided.
Preferred embodiments include means for handling existing real mode programs which store the address of their own interrupt handling routines into the hardware interrupt vector table.
Special code enables the DOS to mode switch to real mode as required by such interrupt handler routines and switch back to protected mode to continue execution of the interrupted program.
Alternate preferred embodiments designed for use with programs that hook interrupt vectors include means for eliminating the problems caused by such programs in a multi-tasking environment.
The DOS includes a dispatcher that monitors the hardware vector table to detect hooks by application programs and transfers control to the interrupt handler routines of such application programs at appropriate times.
In one preferred embodiment, interrupt vectors are moved to new locations within the hardware interrupt table to facilitate operation of the dispatcher.
Alternate preferred embodiments may also include techniques for enlarging the amount of memory available to programs in the real mode.
First, 64K of the DOS is positioned in memory at location 1 megabyte.
Additionally, portions of the DOS which are comparatively large and infrequently used or relatively slow are placed in memory above 1 megabyte and used only in protected mode.
The mode switching techniques of the present invention enable such DOS code to be accessed by real mode programs by switching into and out of protected mode as necessary to perform the requested operation.
Auxiliary protection hardware may also be provided in alternate preferred embodiments to provide enhanced protection when running real mode programs I/O masking hardware can be provided to check each I/O operation attempted by the CPU against a list of valid I/O addresses.
Memory protection hardware can also be provided to check each memory operation attempted by the CPU against a list of authorized addresses stored in an auxiliary RAM.
The present invention is a Web based operating system that provides general access to resources distributed throughout the Internet.
It provides a graphical user interface through which users may perform common "desktop" operations, such as invoking applications, copying files, and setting sharing attributes of files, and translate them to the operations that are appropriate for the resources that are the target of the request.
Additionally, the invention provides a general-purpose attribute store or registry to keep the persistent state needed by the WebTop and other applications, including users preferences, application-invocation information, and application settings and any other attribute-type information.
This invention relates to operating systems, and more specifically, to Web based operating systems that give users general access to arbitrary resources distributed throughout the Internet.
The Internet provides a platform independent infrastructure that connects geographically dispersed users and applications in a unified manner.
It is the fastest growing network, richest in application development and open to all systems.
Furthermore, the World-Wide Web provides an environment that allows a wide range of applications to run on different platforms.
However, these are typically stand-alone applications, with their own proprietary data and resource structures, and thus largely blocked from interaction with other applications.
As a result, users are forced to deal with a wide variety of inconsistent user interfaces.
Moreover, users may be required to authenticate themselves to each site they visit, using potentially a different user name and password for each site.