Graphics Card Sharing via Register Bank Switching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for sharing a graphics card among multiple Operation Systems (OSs) are inefficient, as they require significant modifications to device drivers and can lead to errors due to complex register simulations, resulting in poor display performance and system instability.
Innovation Solution
A method where a primary Guest Operation System (GOS) uses all graphics card resources, while secondary GOSs use a portion, allowing shared access without modifying the primary GOS's drivers, and incorporating a switching control unit to manage display control register banks and memory resources for seamless switching and reliable display.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple GOSs directly operate the physical graphics card device in serial manner with complete resource separation, then display output is achieved for multiple OSs, but device driver modification amount increases significantly
Solution Approach 1:
The graphics card memory is segmented into multiple independent memory regions, with each region allocated to a specific GOS. This allows each GOS to have its own dedicated memory space while sharing the physical graphics card device, reducing the need for extensive driver modifications compared to complete resource separation.
Solution Approach 2:
A virtual machine manager is introduced as an intermediary layer between the GOSs and the physical graphics card device. The virtual machine manager handles resource allocation and coordination, allowing GOSs to access the graphics card through virtualization without requiring extensive driver modifications in each GOS.
2Adaptability or versatility
If all graphics card registers are simulated for each GOS, then resource separation is achieved, but system stability decreases due to simulation errors
Solution Approach 1:
Instead of simulating all graphics card registers for each GOS, the patent implements partial simulation only for the necessary register functions required by each GOS. This reduces the complexity and potential for simulation errors while maintaining adequate resource separation.
Solution Approach 2:
The patent creates simplified copies of graphics card register functionality specific to each GOS's needs, rather than complete simulations. These partial copies provide the necessary resource isolation without the complexity and instability risks of full register simulation.
3Productivity
If one GOS uses the physical graphics card exclusively, then display performance is optimized, but other OSs cannot have display output
Solution Approach 1:
The patent merges multiple GOSs' display capabilities through shared access to the physical graphics card device. By combining resource sharing with selective allocation, multiple GOSs can simultaneously maintain display output capabilities while utilizing the same physical hardware.
Solution Approach 2:
The patent implements dynamic resource allocation where the graphics card memory and register banks can be dynamically assigned to different GOSs based on current display needs. This dynamic switching allows optimized performance for the active GOS while maintaining capability for multiple OSs to have display output.
Data Source
AI summary
The present invention provides a method and a computer system for sharing a graphics card among multiple Operation Systems (OSs). The method includes: detecting a first GOS to be displayed, the first GOS being a primary GOS or one of at least one secondary GOS; determining the kind of the first GOS, so that different display control register bank(s) and graphics card memory resources are allocated to the first GOS depending on whether it is a primary GOS or a secondary GOS; controlling the display control register bank(s) allocated to the first GOS to connect to a display output port; obtaining display contents based on the graphics card memory resources allocated to the first GOS; and displaying the display contents based on display mode parameters in the display control register bank(s) connected to the display output port. According to the present invention, it is possible to share the graphics card among the multiple OSs without modifying the drivers of the primary GOS.


