![¿Cómo puedo permitir que los procesos de alta prioridad continúen cuando los procesos de baja prioridad hacen que la memoria libre sea baja?](https://rvso.com/image/36025/%C2%BFC%C3%B3mo%20puedo%20permitir%20que%20los%20procesos%20de%20alta%20prioridad%20contin%C3%BAen%20cuando%20los%20procesos%20de%20baja%20prioridad%20hacen%20que%20la%20memoria%20libre%20sea%20baja%3F.png)
Ok, no estoy seguro de si este es el lugar correcto para publicar esto. Es más una pregunta de "por qué no" que de "cómo" (se supone que no se puede hacer o no se puede hacer).
¿Por qué no permitimos que la RAM se divida en 2 (o más) bloques que puedan usarse para tipos separados de procesos? La principal motivación aquí es tener cerca del 100% de RAM utilizada, y se congelan mientras (supongo) la RAM se intercambia en el disco. La mayoría de las veces, esto se debe a alguna pérdida de memoria y se soluciona finalizando y reiniciando el proceso. Esto se puede hacer con unos pocos comandos, pero hay que esperar hasta que la máquina se "despegue". Si hubiera alguna noción de RAM particionada, podría configurar una prioridad, por ejemplo, particiones sistema/util + no sistema (con desbordamiento que permita la RAM del sistema). Luego, en lugar de una "congelación" (pérdida de memoria de la aplicación), podría solucionar fácilmente el problema.
Con mi conocimiento oxidado de la arquitectura de la memoria, no necesitaría cambiar mucho (ni nada) en el hardware; en lugar de eso, la memoria de paginación/virtual podría ampliarse en el software para admitir una bandera adicional y un administrador de coordinación.
Claramente existe un problema con lo anterior, ya sea técnicamente o simplemente no práctico. Solo estoy interesado en POR QUÉ no.