Operating System Working Set Management for Boot Time Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing techniques for increasing main memory free space are limited in effectively managing working set sizes for individual processes, leading to inefficient use of physical memory and prolonged boot times due to the inability to optimize paging based on process-specific characteristics.
Innovation Solution
The method involves suspending selected processes during boot to reduce their working set sizes, allowing for a more significant decrease in the overall working set size without interfering with boot processing, and utilizing the freed memory to expand the cache area for faster boot file loading.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If the working set size is decreased to increase free memory amount, then the cache area can be expanded, but the process may experience page faults and performance degradation
Solution Approach 1:
The patent implements dynamic working set management by allowing the working set size to vary over time. During boot processing, the working set size is temporarily decreased to expand cache area, and then restored to normal after boot completion. This dynamic adjustment resolves the contradiction by making the working set size adaptive to different system states rather than fixed.
Solution Approach 2:
The patent performs preliminary expansion of the cache area by temporarily reducing the working set size before boot processing begins. This preliminary action ensures that sufficient cache space is available for boot files, improving boot performance without affecting normal operation where the working set size is restored.
2Speed
If the cache area is expanded by reducing working set size, then boot file loading speed improves, but boot processing may be interfered with due to memory shortage
Solution Approach 1:
The patent dynamically adjusts the working set size based on the system boot state. During boot processing, the working set size is temporarily reduced to expand cache area for faster boot file loading. After boot completion, the working set size is restored to prevent performance degradation. This dynamic adjustment resolves the contradiction by making cache expansion temporary and context-aware.
Solution Approach 2:
The patent changes the working set size parameter from its normal value to a reduced value during boot processing, and then restores it after boot. This parameter change enables the system to optimize cache area for boot performance without permanently affecting process execution, resolving the contradiction between boot speed and system stability.
3Quantity of substance
If processes are suspended during boot to reduce working set size, then free memory increases, but the process execution is delayed
Solution Approach 1:
The patent suspends processes preliminarily during boot processing to reduce their working set size and increase free memory for cache expansion. After boot completion, the suspended processes are resumed and their working set sizes are restored. This preliminary suspension temporarily delays process execution but achieves the goal of expanding cache for boot performance.
Solution Approach 2:
The patent implements dynamic process state management by suspending processes during boot and resuming them afterward. This dynamic state change allows the system to reduce working set sizes temporarily when needed for cache expansion, while restoring normal process execution afterward, resolving the contradiction between memory availability and execution timing.
Data Source
AI summary
For increasing a free memory amount, a computer is provided with a main memory and a virtual memory area. Working sets having a predetermined size in a main memory are allocated to virtual address spaces. The area from which working sets are removed is a free memory area, and a cache area is set to a part of the area. During booting, a predetermined process not affecting the booting is suspended. The size of the working set of the suspended process is decreased by swapping out the memory page into the virtual memory area. As a result, the size of the free memory area increases, and along therewith, the OS increases the size of a cache area, thus enabling more boot files to be read ahead and reducing the boot time.


