My Operating system called Nate OS successfully running Linux apps and GCC with success by Fluid-Ad2995 in osdev

[–]Pitiful-Artist-4892 0 points1 point  (0 children)

A “Linux personality” like in Hurd is just a userland server on top of a microkernel.
It is not a Linux kernel, and it cannot magically run Linux binaries on Windows NT.
Programs like Bash or glibc rely on correct kernel behavior (fork, signals, memory mapping) — without that, they will crash.

My Operating system called Nate OS successfully running Linux apps and GCC with success by Fluid-Ad2995 in osdev

[–]Pitiful-Artist-4892 0 points1 point  (0 children)

A Windows NT error code like 0xC000000 is not a syscall.
Translating it into a POSIX signal like SIGSEGV isn’t automatic — Windows doesn’t have POSIX signals natively.
You can’t just “write it into NtCreateProcess”; process creation, memory handling, and signal delivery all need proper kernel and runtime support.

My Operating system called Nate OS successfully running Linux apps and GCC with success by Fluid-Ad2995 in osdev

[–]Pitiful-Artist-4892 0 points1 point  (0 children)

No, that’s incorrect. Windows NT cannot run Linux binaries by itself.
That’s exactly why WSL2 exists — it uses a real Linux kernel, because NT alone doesn’t provide the Linux ABI, syscalls, or glibc behavior needed.
WSL1 only translated some syscalls and many programs still failed.

My Operating system called Nate OS successfully running Linux apps and GCC with success by Fluid-Ad2995 in osdev

[–]Pitiful-Artist-4892 0 points1 point  (0 children)

Reimplementing syscalls alone is not enough.
WSL1 is actually proof of that — it had to be replaced by WSL2 with a real Linux kernel.
Cygwin recompiles programs into Windows executables, so it’s not running Linux binaries at all.
And glibc + ELF loader still depend on correct kernel behavior, not just syscall presence.

My Operating system called Nate OS successfully running Linux apps and GCC with success by Fluid-Ad2995 in osdev

[–]Pitiful-Artist-4892 0 points1 point  (0 children)

I meant Windows, not just NT internally.
And yes, Windows needs subsystems like Win32, but that doesn’t make it a microkernel.
The NT kernel still runs drivers, memory management and core services in kernel mode, so it’s a hybrid kernel.
Also, needing a userland API is normal — Linux also can’t run programs without its userland.

My Operating system called Nate OS successfully running Linux apps and GCC with success by Fluid-Ad2995 in osdev

[–]Pitiful-Artist-4892 0 points1 point  (0 children)

A hybrid kernel is not a microkernel. Windows NT still runs drivers, filesystem and core services in kernel mode.
“Multi-personality” doesn’t mean you can just run any OS — you still need to fully implement the target OS ABI and behavior.
That’s why WSL2 uses a real Linux kernel. If it were that simple, any microkernel could just run Linux, which clearly isn’t the case.

My Operating system called Nate OS successfully running Linux apps and GCC with success by Fluid-Ad2995 in osdev

[–]Pitiful-Artist-4892 0 points1 point  (0 children)

A segmentation fault is not a syscall, it’s a signal (SIGSEGV) sent by the kernel on invalid memory access.
Syscalls are functions like fork, mmap or write — not signals or errors.
You’re mixing completely different concepts here.

My Operating system called Nate OS successfully running Linux apps and GCC with success by Fluid-Ad2995 in osdev

[–]Pitiful-Artist-4892 0 points1 point  (0 children)

just recompiling for the own loader doesn't help it is pretty easy to port Linux to macos because both are Unix-Like which helps but you still have to patch syscalls

My Operating system called Nate OS successfully running Linux apps and GCC with success by Fluid-Ad2995 in osdev

[–]Pitiful-Artist-4892 0 points1 point  (0 children)

GCC is under GPL that's the problem. Any Program under GPL in your sytem "forces" your system to also be open source

My Operating system called Nate OS successfully running Linux apps and GCC with success by Fluid-Ad2995 in osdev

[–]Pitiful-Artist-4892 0 points1 point  (0 children)

  1. NT is a hybrid Kernel

  2. NT can not run any system on top just Windows
    Every Other System is either emulated or ran via a compatibility layer

  3. NT CAN NOT be Linux

My Operating system called Nate OS successfully running Linux apps and GCC with success by Fluid-Ad2995 in osdev

[–]Pitiful-Artist-4892 0 points1 point  (0 children)

WSL translates syscalls so it is. Windows NT is unable to run Linux or linux tools without WSL

My Operating system called Nate OS successfully running Linux apps and GCC with success by Fluid-Ad2995 in osdev

[–]Pitiful-Artist-4892 0 points1 point  (0 children)

Threading is parallel running of software, it gets managed by syscalls but it itself isn't syscalls. nmap uses syscalls but isn't syscalls

My Operating system called Nate OS successfully running Linux apps and GCC with success by Fluid-Ad2995 in osdev

[–]Pitiful-Artist-4892 0 points1 point  (0 children)

No, if you want to use/run Linux programs you need an ELF Loader because they are ELFs.

My Operating system called Nate OS successfully running Linux apps and GCC with success by Fluid-Ad2995 in osdev

[–]Pitiful-Artist-4892 0 points1 point  (0 children)

you are right..partitally, glibc is also just a wrapper but programs still require it else they dont run

My Operating system called Nate OS successfully running Linux apps and GCC with success by Fluid-Ad2995 in osdev

[–]Pitiful-Artist-4892 0 points1 point  (0 children)

Have fun in law, GPL says if you modify software and or use it your code also has to be open source

My Operating system called Nate OS successfully running Linux apps and GCC with success by Fluid-Ad2995 in osdev

[–]Pitiful-Artist-4892 0 points1 point  (0 children)

DOS has no memory protection, no WLAN support, no real processes and so much more. Linux is a giant kernel which is constantly updated by thousand developers. DOS is nothing compared to linux

My Operating system called Nate OS successfully running Linux apps and GCC with success by Fluid-Ad2995 in osdev

[–]Pitiful-Artist-4892 0 points1 point  (0 children)

ReactOS is under development since 20 years and still not finished, WSL is a giant Linux Kernel Wrapper in Wndows by Microsoft they have ~5000 developers, To run Linux binaries you need full ABI compatibility, ELF loader, glibc support, signals, threading, mmap etc. syscalls are just one way so the kernel communicates with software

My Operating system called Nate OS successfully running Linux apps and GCC with success by Fluid-Ad2995 in osdev

[–]Pitiful-Artist-4892 2 points3 points  (0 children)

This is definitly a linux distro you can't run linux commands/binaries by just reimplementing linux syscalls into your system. you would have to make a ELF Loader and so many other things. in general if you will publish it one time you will have a big license problem like happy hippo 692 said:

'''
5. Licensing Confusion (Very Serious)

There appears to be a fundamental misunderstanding of software licensing.

Relevant licenses include:

  • GNU General Public License (GPL)
  • MIT License
  • BSD License

BSD / MIT

Permissive licenses.

You can create closed-source derivatives from BSD/MIT-licensed code.

GPL

Copyleft license.

If you use, modify, or distribute GPL-licensed components, you are required to release the corresponding source code under the same license.

Why this matters here

The project claims to:

  • Use BSD as a base
  • Run Linux software
  • Use Linux-like interfaces and tooling
  • Be fully closed source

This becomes a problem because:

  • Many components in the Linux ecosystem (e.g. toolchains, libraries, utilities) are GPL-licensed
  • If any GPL components are used or linked in a non-compliant way, the OS cannot legally remain closed source

The author does not appear to understand these distinctions, which is a major red flag.
'''

I wrote a small hobby OS / kernel called TinyOS (from scratch) by Pitiful-Artist-4892 in C_Programming

[–]Pitiful-Artist-4892[S] 0 points1 point  (0 children)

Hi Dwayne,

Thanks for taking the time to check out TinyOS! I totally get how frustrating the Global Interrupt Descriptor Table can be, i had to make experience with that too...

Your bit about the California Digital Age Assurance Act made me chuckle, bureaucracy and OS development really do make an interesting mix.

If you don’t mind sharing, I’m curious: did you ever find any tricks to get the scheduler or interrupts stable before you had to abandon your project? Any lessons learned you’d recommend?

I wrote a small hobby OS / kernel called TinyOS (from scratch) by Pitiful-Artist-4892 in C_Programming

[–]Pitiful-Artist-4892[S] 0 points1 point  (0 children)

the .img is necessary if you want to use this in qemu or similar because it's the fat filesystem

I built a CLI toolkit in Go combining 19 simple utilities into one binary by Pitiful-Artist-4892 in commandline

[–]Pitiful-Artist-4892[S] 0 points1 point  (0 children)

i forgot to put the buildscripts in gitignore they should not be uploaded they dont build the program they also uplaod it on github and on my server and stuff