Lecturas de archivo asíncronas del kernel
La API AIO del kernel acepta un lote de lecturas y devuelve un identificador. PS5PCEM realiza el lote en el momento del envío, lo que la interfaz permite, y el título recoge un resultado ya terminado.
Notas del repositorio hasta el 10 de octubre de 2026
La interfaz
Los motores que transmiten recursos envían una lista de lecturas y más tarde preguntan si el lote ha terminado. Un título construido así no puede cargar un archivo sin la API. PS5PCEM acepta el lote, ejecuta las lecturas cuando se envía y guarda los resultados bajo el identificador. Un sondeo posterior observa un lote que ya se ha completado.
Completar de inmediato es un resultado permitido por la interfaz. Quienes llaman deben manejar una petición que terminó antes del sondeo. El emulador no duerme para imitar la latencia del dispositivo, y no informa del lote como fallido para parecer más asíncrono.
En qué se diferencia de APR
La AIO del kernel es el lote al estilo POSIX sobre descriptores de archivo que el título ya abrió. APR es la ruta del acelerador: las rutas se vuelven identificadores, y los comandos viven en un búfer de comandos de AMPR con contadores y eventos de finalización. Un título puede usar una, la otra o las dos.
Ambas rutas leen la instalación del título como datos que el emulador no produjo. Los límites se comprueban. Un búfer corto o un descriptor incorrecto es un retorno de error, no una escritura parcial presentada como éxito.
Qué está implementado
- Envío por lotes, un identificador y una finalización que el título puede recoger.
- Lecturas realizadas contra los archivos que abrió el título.
- Finalización inmediata, que la API del invitado permite.
Qué falta todavía
- No hay un hilo de E/S aparte que imite la latencia del disco.
- El planificador de prioridad y de ancho de banda de la consola no está modelado.
- Los búferes de comandos de APR son otra API y no se reescriben como AIO del kernel.
Mecanismos relacionados
Qué describen estas páginas