4 ms·
can someone explain ISA Transparent?
by captn3m0 8y ago
can someone explain ISA Transparent?
- adrianratnapala 8y agoI am guessing it means that binaries native to the OS has only one instruction set which the kernel JITs onto the local CPU. That ISA might be some byte-code, or else are in a well known ISA (such as x64) which gets translated at need. Another possibility is that the kernel supports multiple source ISAs and translates them at need.
- nineteen999 8y agoI think that's a bit of a stretch of the imagination, how did you get to there? From the forum posting at https://forum.osdev.org/viewtopic.php?f=2&t=32714 https://forum.osdev.org/viewtopic.php?f=2&t=32714: * Arch: - x86 32bit (though the kernel is designed to be ISA transparent, arch. dependent parts are handled with arch_ stubs) Given that it's written in C, it presumably means that the architecture specific code is abstracted behind an API. No different to Linux AFAICS.
- gpderetta 8y agoCalling portable source ISA independent is strange. Architecture independent binaries plus JIT or install time compilation is the first thing I would have thought as well.
- manwar 8y agoThe term is contextual in kernel development, ISA dependent kernel would be designed around the architecture (for example, ToaruOS, a great OS and one of my inspirations, is designed around x86, working closely to the architecture, which has always been the developer's intention).
- Something1234 8y agoMaybe you can run it on different architectures like arm or mips?
- manwar 8y agoISA transparent means that the kernel parts are completely independent of CPU architecture, you still need (minimal) architecture dependent code but it is isolated in "arch/" directory in the kernel source. This is mainly to avoid #ifdef __i386__ /* Code here */ #endif found in Linux. Also it makes porting the kernel easier.
- monocasa 8y agoUnfortunately it's a bit much to say that it's ISA independent given that it only supports 332bit x86 currently.
- manwar 8y agoI do agree that it's a stretch to claim that it's ISA independent without much proof to show it. However, I have reviewed many architectures while designing it and made sure (up to my skill of course) that the design would fit as many architectures as possible. You may check the code base yourself, I'd be happy to be corrected and/or enlightened, after all, that's the beauty of open-source projects