|
|
|
|
|
by namr2000
377 days ago
|
|
This is a really impressive project, but I wish the Github page had more information about the design of the system, e.g 1. Is it intending to be a unix-like system? 2. is libc supported? I see that you have XECLib which looks like a custom libc impl? 3. What are the principles behind IPC? I see that there's "PostBox IPC" and that's how windows communicate with the window manager, but from a quick glance I'm not sure how the window manager communicates with the video driver. 4. What's the object format? I see there's docs for XELoader but it doesn't get into how it works or how the linker produces the object files that it loads. This clearly took a ton of effort and it's a cool project! |
|
- Xeneva is not intending to be Unix like, but some core principles of Unix are followed.
- Xeneva has its own libc implementation called XECLib that are attached to Xeneva's own system call interface.
- Xeneva supports IPC via shared memory, IPC via socket and IPC via its own message based communication called PostBox IPC. Xeneva currently use framebuffer for Graphics Output, no working video driver is implemented. The framebuffer is mapped onto Windows Managers address space and the Windows Manager composes the final image to framebuffer by writing to that mapped virtual address.
- Xeneva uses PE format for executable,no doubt ELF support can be implemented. XELoader is a dynamic linker and loader process which is responsible for resolving running processes symbols by linking it to its specific shared library. Whenever a new process get spawned,and an executable is loaded, the XELoader loads all required shared libraries and link them to the process.
You can refer to our website - getxeneva.com to get a hint of our future goals and vision.
Thank you, Team XENEVA.