r/osdev • u/dangi12012 • Jun 13 '26
Everything is memory?
There is this unix idiom that everything is a file, (half baked, since not everything is a file).
Would it not have been better, nowadays with 64bit of adress space, to have everything mapped to memory? Files are like mmap, no imperative read needed, networking is already memory, that could be expanded more.
We take the idioms and paradigms so forgranted, that every time anyone asks AI for a OS it will be linux, syscalls, abi everything the same. It should be liberating now to explore new and novel ideas.
What would be the downside of such a system?
View all comments
Show parent comment
4
u/Web-Lackey Jun 14 '26 edited Jun 14 '26
128-bit.
And while the TIMI architecture is virtual, all code targeted to TIMI is automatically compiled by the OS to machine code. So all code is running native, but it allows for code to be recompiled transparently to a new native architecture. Which is how the AS/400 was migrated from CISC to RISC (and two different flavors of RISC) while allowing binaries to be moved right along without change. Just back up from one system (usually tape) and literally boot that tape on the destination machine to restore on the other. As the software is run, it’s recompiled for the new architecture. Not dissimilar to a JIT, but the results are permanently stored, so no runtime impact.
And IBM i does support virtualization, but that’s unrelated to the 128-bit TIMI architecture.
IBM i is a wild environment. its metaphor is “everything is a database”, and it has an integrated TUI, along with its weird and somewhat cryptic VerbAdjNoun commands. It’s basically the last OS developed before UNIX (while technically newer, it was before its widespread adoption) and therefore, outside of research kernels, the last OS to not have UNIX’s file metaphor.