US 11,720,368 B2
Memory management of data processing systems
Andrew D. Myrick, San Francisco, CA (US); David M. Chan, Palo Alto, CA (US); Jonathan R. Reeves, San Francisco, CA (US); Jeffrey D. Curless, San Jose, CA (US); Lionel D. Desai, San Francisco, CA (US); James C. McIlree, San Jose, CA (US); Karen A. Crippes, San Jose, CA (US); and Rasha Eqbal, Union City, CA (US)
Assigned to APPLE INC., Cupertino, CA (US)
Filed by Apple Inc., Cupertino, CA (US)
Filed on Mar. 8, 2021, as Appl. No. 17/194,600.
Application 17/194,600 is a division of application No. 15/962,298, filed on Apr. 25, 2018, granted, now 10,956,172.
Application 15/962,298 is a division of application No. 14/973,371, filed on Dec. 17, 2015, granted, now 9,983,887, issued on May 29, 2018.
Claims priority of provisional application 62/171,821, filed on Jun. 5, 2015.
Prior Publication US 2021/0191734 A1, Jun. 24, 2021
Int. Cl. G06F 9/4401 (2018.01); G06F 3/06 (2006.01); G06F 9/50 (2006.01); G06F 11/14 (2006.01); G06F 9/48 (2006.01)
CPC G06F 9/4406 (2013.01) [G06F 3/0608 (2013.01); G06F 3/0653 (2013.01); G06F 3/0673 (2013.01); G06F 9/4401 (2013.01); G06F 9/442 (2013.01); G06F 9/485 (2013.01); G06F 9/5016 (2013.01); G06F 11/1438 (2013.01)] 13 Claims
OG exemplary drawing
 
1. A non-transitory machine-readable medium having instructions stored therein, which when executed by a data processing system, cause the data processing system to perform a method for memory management, the method comprising:
monitoring, by a memory usage monitor executed by the data processing system, a memory usage of a program;
monitoring, by a state monitor executed by the data processing system, an operating state of the program;
in response to determining that the operating state of the program is an active state and the memory usage of the program exceeds a first predetermined threshold, performing a first memory usage reduction action, wherein when the program is in the active state, the program maintains an inter-process call (IPC) communication session with at least one kernel component of an operating system; and
in response to determining that the operating state of the program is an inactive state and the memory usage of the program exceeds a second predetermined threshold, performing a second memory usage reduction action.