Asynchrone Dateilesungen des Kernels
Die AIO-API des Kernels nimmt einen Batch von Lesevorgängen an und gibt eine Kennung zurück. PS5PCEM führt den Batch bei der Einreichung aus, was die Schnittstelle erlaubt, und der Titel holt ein fertiges Ergebnis ab.
Repository-Notizen bis 10. Oktober 2026
Die Schnittstelle
Engines, die Assets streamen, reichen eine Liste von Lesevorgängen ein und fragen später, ob der Batch fertig ist. Ein so gebauter Titel kann eine Datei ohne die API nicht laden. PS5PCEM nimmt den Batch an, führt die Lesevorgänge aus, wenn er eingereicht wird, und legt die Ergebnisse unter der Kennung ab. Eine spätere Abfrage sieht einen Batch, der bereits abgeschlossen ist.
Sofort abzuschließen ist ein zulässiges Ergebnis der Schnittstelle. Aufrufer müssen eine Anfrage behandeln, die vor der Abfrage fertig wurde. Der Emulator schläft nicht, um Geräteverzögerung nachzuahmen, und er meldet den Batch nicht als fehlgeschlagen, um asynchroner zu wirken.
Wie sich das von APR unterscheidet
Kernel-AIO ist der Batch im POSIX-Stil auf Dateideskriptoren, die der Titel bereits geöffnet hat. APR ist der Beschleunigerpfad: Aus Pfaden werden Kennungen, und die Befehle leben in einem AMPR-Befehlspuffer mit Zählern und Abschlussereignissen. Ein Titel kann das eine, das andere oder beides nutzen.
Beide Pfade lesen die Installation des Titels als Daten, die der Emulator nicht erzeugt hat. Grenzen werden geprüft. Ein zu kurzer Puffer oder ein schlechter Deskriptor ist eine Fehlerrückgabe, kein teilweiser Schreibvorgang, der als Erfolg ausgegeben wird.
Was umgesetzt ist
- Einreichen eines Batches, eine Kennung und ein Abschluss, den der Titel abholen kann.
- Lesevorgänge auf den Dateien, die der Titel geöffnet hat.
- Sofortiger Abschluss, den die Gast-API erlaubt.
Was noch fehlt
- Es gibt keinen eigenen E/A-Thread, der Plattenverzögerung nachahmt.
- Der Prioritäts- und Bandbreiten-Scheduler der Konsole wird nicht nachgebildet.
- APR-Befehlspuffer sind eine andere API und werden nicht in Kernel-AIO umgeschrieben.
Verwandte Mechanismen
Worum es auf diesen Seiten geht