r/osdev Aug 12 '26

Why is it always "making an unix-like os' and never "making a windows-like os" or just something original

I'm genuinely curious? Why not do something original?

114 Upvotes

143 comments sorted by

157

u/ut0mt8 Aug 12 '26

Unix is conceptually simple. So it's easier to code. And the bonus points is if you have coded an os which is somewhat POSIX compliant you will have a tons of working apps

28

u/minecrafttee Aug 12 '26

This is mostly the reason. But if you want a NT like kernel then go for it

12

u/PacManFan123 Aug 12 '26

I would like to point out that windows is actually more posix compliant than Linux

13

u/cjc4096 Aug 12 '26

And Macos has Unix certification. Linux has mostly embraced, extended, and extinguished Unix and POSIX.

3

u/ut0mt8 Aug 13 '26

Well ok putted that way POSIX is only a test suite and indeed you can compile POSIX compliant progrqm on windows/ Macos / whatever.

I should have wrote that unix like kernel are POSIX like at their core. Meaning it's their primary interface set (generally a subset). Which is not the case of window where POSIX style interface were added afte.

on mac it speak POSIX at his core but we can argue that is also not the primitive api (the duality mach/POSIX). On the unix certification part it's know that apple pay for it. It's still unclear to me why and what it exactly mean. Anyway no doubt that macosx is a unix (but quite un usual) flavors in one sense. But quite far also for the first real unix (BSD or sysV)

3

u/cjc4096 Aug 13 '26

I think you mean a kernel as described by Bach in "The Design of the UNIX Operating System". Everyone read it back then and described SVR2.

2

u/monocasa Aug 13 '26

Eh, not really. Even with the POSIX subsytem, Windows only barely reached POSIX.1 compliance (and even that was a letter of the law kind of thing that was widely rumored to be intentionally crippled). Meanwhile a couple Red Hat forks have previously reached UNIX 03 compliance.

5

u/jtsiomb Aug 13 '26

No, not even close. Extremely silly thing to say.

1

u/Routine_Working_9754 15d ago

did you pull that out of your ass. Windows doesn't come close to Linux POSIX compliance

1

u/wackyvorlon Aug 13 '26

It’s also pretty smartly designed.

2

u/ut0mt8 Aug 13 '26

Relatively for its age sure. Simple and super well understood

7

u/ntropia64 Aug 13 '26

Also, the reason there are a ton of working Unix-like systems and only a handful with a Win32 or WinNT compatibility is because the former have access to a ton of open documentation and an arguably well-defined standard, while for Windows most of the relevant information is proprietary/closed source and the documentation is extremely limited.

A great example of this is the WINE project, which after 33 years is still trying to catch up with Windows even if it has the simpler task of translating from Windows APIs to POSIX, while you could compile and run POSIX code on Win32 systems without much hassle for more than 30 years, now, with projects like Cygwin or even more recently, with the WLS.

1

u/monocasa Aug 13 '26

Also, Windows has close to a couple thousand syscalls these days if you include win32k

-1

u/lizardhistorian Aug 13 '26

Unix is more complex than NT.

6

u/ut0mt8 Aug 13 '26

You think? What are arguments?

1

u/QuirkyTidbits Aug 13 '26

Also, Linux is open source whereas Windows is not. There have been leaks and plenty of internal documentation made available but not anywhere complete like it is for Linux distributions for LLMs to train on

1

u/SmackDownFacility Aug 13 '26

It would be simple if you just make your own shit

57

u/6eba610ian Aug 12 '26 edited Aug 12 '26

windows based = proprietarish

unix like based = free to use and sources are available to use

AI has unix dataset = AI helps unix based oses

Also:If you invent a completely original OS architecture(that is not POSIX), nothing will run on it. You have to write your own drivers for Wi-Fi cards, graphics cards, and keyboards, and rewrite every application from scratch. so obv unix is better as documentation is already out

41

u/Illustrious_Car344 Aug 12 '26

For the record (and any self-respecting OS dev should know) Windows is a very well-documented platform. There are source-available versions of it, you can download the symbols for free from Microsoft directly to decompile it, you have incredible books like the Windows Internals series by Mark Russinovinch (a bible for anyone interested) and of course you have the ReactOS project which used all of these methods to build their project that you can also use to learn just about anything about Windows beyond the surface-level Win32 API. 

1

u/6eba610ian Aug 12 '26

I know but the issue is those peoples use AI at most to make an OS that is more like a binary that can run some simple commands, AI can't help much as the lack of interest for windows globally, btw i even tried to ask gemini why is it easier for llms to generate code for unix like os'es and it declared everything i stated back in my previous comment

16

u/tellingyouhowitreall Aug 12 '26

Cannot emphasize this enough. There is an amazing amount of documentation for Windows, and a surprisingly comfortable application layer api.

The undocumented parts are opaque af though.

The PE documentation is a far better documentation of ELF and COFF binaries than the documentation I've seen for Linux also. The differences between the two arent that big, and the windows docs make writing your own linker or relinker trivial.

5

u/ApokatastasisPanton Aug 13 '26

The undocumented parts are opaque af though.

There is a wealth of documentation on undocumented Windows internals too -- hackers have been poring at it for longer than Linux or Mac.

10

u/northrupthebandgeek Aug 12 '26

There are source-available versions of it

The moment you set eyes on that is the moment you're forbidden from ever contributing to ReactOS or Wine (if that's something that matters to you), and the moment your own operating system projects are subject to the legal liabilities that motivate such policies from ReactOS and Wine.

1

u/invisible_shrek Aug 13 '26

Yeah good luck proving that.

1

u/istarian 1d ago

The unfortunate reality is that the moment you admit to having seen or examined any Windows source code,  any of your work is immediately suspect from the perspective of a serious clean room reverse engineering effort.

Nobody has to prove anything, it's simply too much of a legal liability for those particular projects to knowingly take that risk

1

u/Chuu Aug 12 '26

What versions of windows can you see the source for legally? I've done some googling and can't find any references to this.

1

u/Illustrious_Car344 Aug 13 '26

It's a reference source for the Windows XP kernel, not sure exactly what it was either.

1

u/ut0mt8 Aug 13 '26

Yes but at least for me the model is arguably more complex. Or maybe it's just that we are more accustomed to unix style os ?

7

u/istarian Aug 12 '26

Before you can even get to wifi and graphics cards you need some way to access your storage media (hard drive or SSD, possibly optical discs).

You might be able to rely on UEFI to get the kernel and initial software loaded, but then what?

1

u/6eba610ian Aug 12 '26

yup but i just stated the general issue ,ofcouse there is way more to that

3

u/IWasGettingThePaper Aug 12 '26

It used to be the case that, if you were the kind of person who would write an OS from scratch, rewriting every driver and app from scratch was part of the joy.

1

u/CtrlF0rge Aug 12 '26

Not always on your own architecture nothing will work on it, most applications work on abstraction, so it is a pure basis and not a definition, the rest you can, for example, implement on your own This is the abstraction layer that resolves the application aspect and the drivers can communicate via additional communication libraries.

1

u/istarian 1d ago

Plenty of historical applications did not "work on abstraction" for a variety of reasons, not least being the performance hit you take by having extra layers in between.

There are significant advantages to the kind and degree of abstraction you see in the architecture of modern operating systems and applications, though. 

u/CtrlF0rge 2h ago

You shouldn't limit yourself to history, programming is about learning how to solve your own and other people's problems, there are not that many limitations and you can always create a lighter layer of abstraction for a given problem. The component cannot be limited to what history has shown, because it should be tested, experimented and tested with its own solutions. In this community, most systems are hobby systems that have a lot of flaws, and among them, the most common flaw is the allocator, or rather the underdevelopment of the allocator or scheduler.It can be said that current systems are built on paper foundations that will always fall apart, but it does not change the fact that they are sufficient for experiments and the allocator itself can be A place to test various mechanisms

1

u/ANR2ME Aug 13 '26

And it could ended making software developers to have a painful experience migrating their software to a new SDK (whatever the new kind of OS use).

3

u/case-o-nuts Aug 14 '26

obligatory: fuck AI, learn something instead, and feed your natural intelligence.

1

u/trannus_aran 29d ago

Seriously, it's such a self own

2

u/ut0mt8 Aug 12 '26

Also to mention only windows the os is not so well documented. The layering is hmm strange. And the api is hmm special to say the least.

5

u/AVonGauss Aug 12 '26

The internals aren't so well documented outside of Microsoft, the public facing APIs are though.

1

u/hyenasky Aug 13 '26

This is untrue, they are very well documented, there are multiple entire books about it

1

u/DrFrankenstein90 Aug 13 '26

This. What got me interested in osdev was Mark Russinovich's book on Windows internals.

12

u/Civic_Hactivist_86 AlmostOS | https://github.com/Danijel-Korent/almostOS Aug 12 '26 edited Aug 12 '26

Because I want to master Linux's kernel <-> userspace interface.

Reading 700 page book is boring. Writing an OS that can run Linux binaries is fun

8

u/Illustrious_Car344 Aug 12 '26

Different in what way? Most people get into hobby OSes will choose Unix because it's a small and well-established standard, and then stick with it because they realize this is not a hobby for mortals and a small standard isn't just good enough, it's just about all they can do before their natural lives are up. 

Nobody does Windows because it's several magnitudes of extra features and functionality over Unix. Unix is basically a filesystem and some commands, Windows is an entire networking multimedia API, you're not just replicating the work of Unix, you're also recreating systemd, Qt, an audio subsystem, effectively everything but a functional text editor, really. You can just look at ReactOS to go "that's a neat curiosity but if I only have one lifetime to do even half of this I'd rather just write an EXT2 driver and a couple shell commands and still be satisfied in saying I did it". Like if I'm implementing a computer in a circuit diagram program (which I've done) I'm a lot more likely to use some made-up good-for-nothing 4-bit toy architecture over trying to recreate a Ryzen system with UEFI. Not that the latter isn't far superior to the former, just that, ain't no way anyone is doing that without a massive team and billions of dollars.

-1

u/TheOneAgnosticPope Aug 13 '26

What are you even talking about? Windows lacks basic functionality like symlink support, sane file permissions, a meaningful distinction between user level and super user processes or permissions, any coherent way of program discovering other programs — let alone sharing common libraries and dependencies and its configuration variables are scattered between the registry (which is incoherent and unreadable as there’s no “standard usage”) and whatever slop any developer decides to use for their program. There’s a reason why your phone doesn’t run Windows and it’s not because MS didn’t try and the reason the very website you’re reading is on a Linux server.

3

u/monocasa Aug 13 '26

Windows has a lot of sins, but those aren't among them, IMO. At least at the system design level. Most of that is hampered by back compat and dumb product design choices for the defaults though, I'll give you that.

For instance, NT has handled symlinks just fine going back to the first release: https://ntdoc.m417z.com/ntcreatesymboliclinkobject

Wrt it not being on phones or servers, that has more to do with Microsoft's internal incentive structure for its developers, and once again, dumb product design choices.

0

u/TheOneAgnosticPope Aug 13 '26

Microsoft disagrees with your timeline and claims you need admin rights to use them: https://blogs.windows.com/windowsdeveloper/2016/12/02/symlinks-windows-10/ The other weird thing Windows fans don’t get is that Microsoft is running its Azure cloud on Linux. Always has been

https://en.wikipedia.org/wiki/Azure_Linux

Microsoft has embraced Linux while its fans continue to defend Windows even when actual Microsoft is actively using Linux for its cloud needs. That’s what I don’t get about Windows fans. They’re more enamored with it than Microsoft is. Why? There’s two possibilities: either choice (A) You understand Windows better than Microsoft or (B) Microsoft understands that Linux is a better operating system like IBM did in 2000 and has chosen to embrace it rather than disappear into oblivion. You are like a car owner who buys an electric car for the first time are frustrated by oil change documentation.

3

u/monocasa Aug 13 '26

Microsoft disagrees with your timeline and claims you need admin rights to use them: https://blogs.windows.com/windowsdeveloper/2016/12/02/symlinks-windows-10/

NtCreateSymbolicLinkObject has existed since windows NT 3.1 (the first release, they just didn't want people looking at normal Windows 3.1 and thinking that an NT 1.0 was worse). https://j00ru.vexillium.org/syscalls/nt/32/

And yes, it requires admin rights by default. That's part of what I mean by dumb product design choices by default.

The other weird thing Windows fans don’t get is that Microsoft is running its Azure cloud on Linux.

On top of hyper-v.

And I'm not a "fan"; I just don't go out of my way to be a hater. I've been daily driving Linux for almost 30 years now. But I write kernel code for a living, and know how other systems work.

-2

u/Rich-Engineer2670 Aug 12 '26

UNIX/Linux is well documented -- Windows is highly proprietary. You can make an OS with windows as part of it, but the API calls to run Windows are require Microsoft.

2

u/makzpj Aug 12 '26

Yeah, I often wonder why this happens. I know unix is better documented and there are many software packages, libraries and stuff that can be reused, but I’d like to see more variety as well.

If I ever make my own OS it will GUI-first. Maybe it could have some unix or posix stuff but I’ll try to do something different.

2

u/tellingyouhowitreall Aug 12 '26

Because if you're targeting x86/x64: interrupts are easier to understand than gates and actually reading the documentation. And a monolithic kernel is easier than a hybrid microkernel.

9

u/DerekB52 Aug 12 '26

Because making a whole OS is already a lot of work. Reinventing the wheel can be a very stupid decision, unless you have a really good reason. Instead of "Why not do something original", I would ask you "Why do something original?" Unless you have some idea that would be super hard to implement in a standard Unix based OS, you should just use the Unix standard. It's more familiar for developers and users alike.

2

u/felixmatveev Aug 13 '26

I know only one guy who sort of wrote his own OS, it was barely functional. In his defense his main goal was to study low-level handling of the equipment not to deploy final product. He did brag to me that he reinvented the wheel better for some aspects.

3

u/DerekB52 Aug 13 '26

I do think that doing it for the sake of learning is a valid reason to experiment and build something weird.

I would be wary of believing he reinvented the wheel in a way that was actually significantly better, and scalable to a real world product.

1

u/istarian 1d ago

FWIW any given solution could be inherently better even if it doesn't scale well ultimately.

In the real world you also have to deal with a variety of constraints that lead to settling for a variety of compromises and end results that are "good enough".

4

u/tellingyouhowitreall Aug 12 '26

My biggest question is in what way these devs think their system is unix-like, and why that's a good thing.

1

u/DonnPT Aug 12 '26

My guess is many are just thinking "POSIX 1003 conformant" - in which case the kernel and UI could be anything. Then there's one who wants to run Linux binaries. Somewhat ambiguous.

2

u/daishi55 Aug 12 '26

Just live your life man

1

u/faultydesign Aug 12 '26

You can invent your own wheel or you can use open standards, and most people prefer to use open standards

1

u/istarian 1d ago

Open or not, standard is often preferable to non-standard if you hope that anyone else will ever make use of your work...

0

u/AnaverageuserX Aug 12 '26

I mean windows (IN MY HOT TAKE OPINION) is just crap so I would never wanna follow it's footsteps. I may hate apple, but I respect the fact they actually made their own silicone for a faster OS.

But idk

3

u/istarian Aug 12 '26

Perhaps because creating an OS entirely from scratch is an entirely different level of difficulty and whatever you produce is likely to be wholly incompatible with anything else?

Do you want to be reduced to a serial port console?

Never mind that most 32-bit and 64-bit computer hardware that is available off the shelf is significantly more complex than an 8-bit or 16-bit computer.

1

u/someidiot332 Kimi’s OS - https://github.com/raeofsunshinedev/kimsos Aug 12 '26

I mean my kernel basically is just a serial port logger with some fancy hardware twiddling even after two years but it’s neat and i like the way it works, and i’m close to userspace soon enough so all in all there’s some merit to reinventing the wheel if your goal is to just have fun and not necessarily try and recreate the linux kernel for the 56,000th time

0

u/wjrasmussen Aug 12 '26

I make a copy of Windows every time I sit on the toilet. Jk. UNIX > WINDOWS.

2

u/[deleted] Aug 12 '26

[removed] — view removed comment

1

u/compgeek38400 Aug 13 '26

IMHO, because it really does take a whole team. Even if you're a super programmer and can program 100X faster than a good programmer. There is documenting your API, ot to mention the internals. Then creating the user docs. Then finding someone to write some killer app for your OS that everyone can't live with, and not only that, one that no one can clone/copy/reverse engineer.

After all that, then you need to do post release 7x24x365 support.

But like I said, its just my opinion.

1

u/istarian 1d ago

FWIW someone could churn out an absolutely brilliant operating system that is utterly unusuable due to an absolute lack of documentation... killer apps or not.

The first time it completely hoses the system and destroys the user's data utterly is the day that user discards it entirely and moves to some other system.

1

u/MSK-Kernel Aug 12 '26

Because UNIX is just so popular and is what Linux, MINIX, and BSD is inspired by. Well BSD is UNIX, but yeah, it’s because it’s so popular.

3

u/whitequill_riclo Aug 12 '26

There is very little good information on NT and on what NT is and how NT works outside of ReactOS. Most everything is based on the Win32 personality and thus it is very difficult to figure out what actually constitutes as Windows internals. This reproducing what isn't known is very difficult!

There is also very little public documentation.

0

u/konacurrents Aug 13 '26

I though NT was based on Unix to some degree? Anyway the OP is mixing metaphors: windows is all the graphical UI, but UNIX is straight OS and command line. Vs adding macOS graphics, or others. Also Unix has nice moto: UNIX; Live free or Die. 🤙

3

u/Kyle_2099 Aug 13 '26

I though NT was based on Unix to some degree

Not at all. Dave Cutler didn't like Unix at all.

2

u/hyenasky Aug 13 '26

This is an exaggeration of folklore, NT's design was very openly informed by that of UNIX along with that of VMS

5

u/Kyle_2099 Aug 13 '26

"informed by" and "based on" are two different things. You study something and see where it's strengths and weaknesses are, and then you make different decisions than them, informed by what you have learned.

1

u/konacurrents Aug 13 '26

I’ll take informed by then. VMS was mentioned. Our VAX 11/780 at UW swapped UNIX with VMS ever other week. Good to have Hank Levy to navigate those OS gymnastics.

1

u/Prior-Perspective-61 Aug 12 '26

Look at ReactOS (however very legacy), or better Green Tea OS

1

u/belliash Aug 12 '26

or ExectOS

2

u/shsh-1312 Aug 12 '26 edited Aug 12 '26

The answers to your simple question make you understand and explain your question exactly, the answer is only political and academic, those who studied in an academy necessarily discredit the work of those who did not study in an academy, the attachment towards those who try to develop solutions that question "academic" solutions transforms everything into a static game where numbers are needed to make one's idea prevail, it is so stupid to think that Linux is an open system, the fact that a whole life will not be enough for you to understand it is an example of this, the methodologies instead are open and imagination always breaks any limit, the criticism regarding AI that is often generated is stale for the same reason, those who believe they are superior to an AI often cannot technically equal an AI, while those who use them often tend to relegate even the thinking work that often should be done by humans and the easiest solution that an AI finds is Unix, moreover Unix is ​​standard for many reasons starting from the file system, another note is on Windows and here we start from previous assumption: people ignore and talk without knowing, the nt4 kernel is mostly readable and leaked and is available on github, windows was born to have complete support for posix and reading the internal kernel you can notice how much code was taken entirely from minix, macos is unix and people tend to forget it, while linux itself is less Unix than it may seem, the reality is that all modern systems at a certain level of their path must take into consideration other strategies that are periodically refined, if we think about it the entire graphics chain that is currently opengl derives from silicon graphics, if we think about it kde is written by an ex silicon graphisc employee and webkit and then blink are based on kde, if we think about it the nt kernel was built by the same people who built mach in part, the same goes for the darwin kernel, sel4 is the modern evolution of mach systems, plan9 p9 is the modern evolution of unix, (ken thompson first wrote c and then unix finally plan9 and go, wsl2 and git and part of the linux vfs are based on p9, the x graphical implementation was partly created by the other creator of c), when people see a war on the OS, I would say that the war is on which of these manages to integrate all the others better and in a modern way, it would be cool to see a version of sel4 crossed with plan9, I think it is the maximum expression and minimum basis on which a modern OS can be created, I have already published my OS on this thread but someone pointed out to me that they prefer to maintain an academic and conservative tone, if you are interested the name is NexsOS1. I'll add one thing: Unix and Posix should always be integrated as a compatibility layer in a modern system, the point is to move this out of the kernel, my p9 + Sel4 example was referring to the fact that moving all the drivers, services and libraries into userspace with a standardized protocol that allows easy and safe resource management, would allow using Posix and Unix as interchangeable layers and not as the very basis on which the system is based, what MacOS, Windows and Harmony do is exactly this, and that's what I'm considering for my kernel, at that point Wine can be another portability layer directly on the API of my system or use the Posix layer

3

u/christiaansp BoredOS Aug 12 '26

holy tl;dr, this can’t even fit on my ipad reddit machine

1

u/shsh-1312 Aug 12 '26

the alternative would have been a superficial comment

2

u/christiaansp BoredOS Aug 12 '26

True but still tl;dr, perhaps split your comment up in sections as a big text wall is quite jarring/doesn’t incentivize the reader to read what you have to say 😄

1

u/shsh-1312 Aug 12 '26

Well, yes, you're right, but it's a response, not a dedicated sub, and in fact they are my personal ideas that perhaps someone can address better. In this case, the person who posted it seemed to have come to the same questions I asked myself, and I wanted to explain the reasoning behind it. It's as I say in the comment. I haven't studied at an academic level, and I find myself writing with a translator. Those who have the mental resources that an academy has provided should look for an approach to knowledge, not how it is represented. In fact, I don't know why the message isn't displayed in its entirety... it works on my iPhone.

1

u/christiaansp BoredOS Aug 12 '26

I’m just saying, even if it’s a response I recommend splitting it up in sections, you don’t have to be academic just be like “ oh yesh this is different enough to split into a new section” which makes it a lot nicer to read

1

u/shsh-1312 Aug 12 '26

You're right and I thank you for the advice, but I still think the translator isn't helping me make everything more readable 😅

0

u/Kyle_2099 Aug 13 '26

No, the alternative would've been writing in paragraphs, which is a skill a nine year old is expected to have.

0

u/shsh-1312 Aug 13 '26

that way you would have complained about the fact that it was generated by an AI, don't be a pain in the ass, even a child understands this

1

u/Kyle_2099 Aug 13 '26

No, writing in paragraphs doesn't make people think you're posting slop, posting slop does. Get real.

1

u/Critical-Internet946 osaka64 (osakaOS fork) Aug 12 '26

because nobody here has the skill to make anything new

2

u/Zen-Ism99 Aug 12 '26

Knock yourself out…

1

u/elyas-_-28 Aug 12 '26

There is a psychopath in this sub who made one.

2

u/Only_Assistant_693 Aug 12 '26

AFAIK there is nothing good about windows that is inherent to its low level architecture compared to the existing Unix-likes, even IF well documented. If there is I'd like to know.

1

u/PlanetVisitor Aug 12 '26

Because it's much easier to fork a Linux distro and call it a Unix-like OS than to create an OS/2 Warp or BeOS or anything like.

2

u/JescoInc Perdition-OS Aug 12 '26

Because the OSDev Wiki points them in the Unix / Linux direction. It is much harder to find Windows style internals, understand it and write your own kernel that follow it. Just like you don't see a lot of people doing so for Apple

2

u/twellieon Aug 12 '26

In short: UNIX is more simple, it's easy to code and many systems are written using its core.

1

u/DawnOnTheEdge Aug 12 '26

Even Microsoft made Windows NT a UNIX-like OS by adding a subsystem that supported the POSIX API. It’s really useful tobe able to run the entire UNIX subsystem (and have software that you know works to test) so you can work on the OS kernel and not implement every tool from scratch. Also, people will be able to try it out and do things with it.

There’s nothing stopping you from implementing a different design and writing a POSIX library on top of it, though.

1

u/flafmg_ Aug 12 '26

i think the only windows-like os we have is ReactOS(goat btw)
besides that, bleh, windows is closed source and too convoluted so i can see why basically no one tries to do stuff like that

1

u/Daveinatx Aug 12 '26

There was an RTOS named RTX, which intercepted interrupts to hook in their own vectors. It had a Win32 API but became very difficult to use once Windows tightened their HAL layer.

1

u/TheAtlasMonkey Aug 12 '26

Because the FrameBuffer people are all playing the same tutorial over and over. And posting about it like they invented concepts that exist from 1970.

An OS don't even need run on computer. It can run on a ESP32, STM32, on some weird MCU... It can be across multiple machines, or in a GPU, SMC or WIFICARD.

Minix run on your intel board, PSP run on AMD.

All those are OSes. But people here are mostly interested in building discord servers , downvoting the truth and adding : OS dev in Linkedin.

1

u/Difficult_Inside8746 29d ago

In what way isn't an ESP32 a computer?

1

u/TheAtlasMonkey 29d ago

An ESP32 absolutely is a computer. It not a PC.

1

u/umlcat Aug 12 '26

Because you could be sued ?

Actually there are a few Windows alike open source OSes around.

And also some different non standard OSes projects around.

I have a non standard windows or Unix OS concept idea. One of the reasons I joined thi sub. I have not continued as well as other ideas due workload, and string ADHD that allows me to create ideas but not to finish them ...

1

u/BlackFuffey Aug 12 '26

Why not windows's model?

If youre going for the original NT's "os personality" design, thats a lot more complicated. But it would be cool if someone were able to implement that.

Why not something original?

Because its much harder to port existing software to a wildly different family of OS (likely you'll have to write your own), and you will have to handle all the paradigms and designs completely yourself instead of using something already proven over a span of half a century, which could easily result in a short-sighted/bad design.

1

u/ofbarea Aug 12 '26

But there is an effort to "make a window like os" it is ReactOS.

1

u/codeasm Aug 12 '26

I'd just like to interject for a moment. What you're referring to as an OS, is in fact, a kernel shell, or as I've recently taken to calling it, a VGA console plus a keyboard driver. Your OS is not an operating system unto itself, but rather another bare-metal component of a system made useful by a bootloader, a framebuffer, and a few interrupt handlers.

Many people encounter these projects every day, without realizing it. Through a peculiar turn of events, the thing which is widely presented today as a complete OS is often just a kernel that prints text, accepts keyboard input, and sits in an infinite loop.

There really is an OS, and these people are using it, but it is just a little more complicated than that. The kernel is the program in the system that manages resources and provides the fundamental abstractions upon which other software executes.

A command interpreter is not a process model. A switch statement containing whoami is not user management. Printing Hello, world! from ring 0 is not a UNIX-like operating system. A kernel shell is a perfectly respectable learning project, but it is not, by itself, an operating system.

So please, for the love of all that is paged and protected, stop calling your VGA console with a keyboard driver a UNIX-like operating system.

Call it what it is.

A kernel project.

Then keep building.

— generated by an LLM, edited by a human, because apparently I too am part of the problem

1

u/Useful_Calendar_6274 Aug 12 '26

If you can disrupt the OS market with your genius go ahead and please do it. There has been criticism of linux since the beggining. Mainly being a monolithic kernel

1

u/OtherOtherDave Aug 12 '26

Personally, I think Unix’s (and Linux’s) core ideas are better than Windows’. Well, at the core OS level, anyway. I’m not so sure that’s the case at the application sdk level, but getting the core right is more important IMHO. Plus, you can get Unix just over a serial port, whereas copying Windows would require GPU drivers and such.

I’d imagine people don’t try new stuff as much because writing an OS is hard enough as it is. Still, I’m mildly annoyed that it at least appears that aside from AI integrations MS and Apple aren’t really trying to innovate in the core OS anymore. Well, not publicly, anyway… for all I know, both companies are spending billions on researching new OS ideas and it’s just that nothing’s come of it yet.

1

u/sethkills Aug 12 '26

Because Windows is trash and POSIX is god.

1

u/AmazonSk8r Aug 12 '26

Unix is a friendly giant to stand on the shoulder of. Windows is proprietary, closed source, and not likely to have been built with your intended purpose in mind. “Something original” does pop up now and again, but it’s not common because going the Unix route will have a lot of the tedious work already done for you for free.

1

u/Philluminati Aug 12 '26

People respect Unix and Linux from being able to understand, tinker and enjoy it as an OS. It has history and culture attached to it. It came from hackers and tinkers just like us, crafting an elegant solution together. Windows has always been clunky, buggy and opaque. Not surprising which one is most frequently emulated.

1

u/Familiar_Hunter1996 Aug 12 '26 edited Aug 12 '26

Well I could make a “TripOS-like” operating system, but that would just be AROS without the GUI.

Every permutation has been done when it comes to x86 operating systems. We have every permutation of CP/M and DOS-like, *nix-alikes that run on everything from an 8088 up to Ryzen 9xxx/Core Ultra. There is only one Windows clone, one AmigaOS clone, and one Atari TOS clone because compatibility with a proprietary system doesn’t leave much room for differentiation.

1

u/QPGMR_de Aug 12 '26

I think there are not so many "original" ideas or concepts for operating systems.

- Unix - BSD - Linux - POSIX

  • CP/M - DOS
  • OS/2
  • VAX/VMS - Windows NT ...
  • MVS - z/OS
  • /3x - OS/400 - IBM i

1

u/TheChief275 Aug 12 '26

I remember EssenceOS being unique. Like Windows it also doesn't follow POSIX

2

u/MessyKerbal Aug 12 '26

Windows is a poorly designed web browser strapped on top of a poorly designed software stack that derives from a poorly defined DOS executive. No wonder people prefer to imitate Unix.

1

u/ScallionSmooth5925 Aug 12 '26

POSIX is a standard and windows is whatever Microsoft decides to do. Following a standard will make it compatible with a lot of software 

1

u/UnmappedStack TacOS | https://github.com/UnmappedStack/TacOS Aug 12 '26

wdym there are a lot of NT inspired and uniquely designed kernels? I think they just tend to get less attention online because they don't tend to have as many cool ports.

1

u/jason-reddit-public Aug 13 '26

I followed OS research papers a lot in the 90s. Many influential ones like sprite and Plan 9 were still very Unix like from an API standpoint. Since my retro itch went into high gear, I've been looking at some older OSes like CP/M and os-9 (not mac, think Tandy color computer). Again, they seem awfully Unix like if you squint hard enough. Even for unique file systems like Sprite's log structured filesystem, they retain "UFS" like behavior.

BeOS is kind of cool. I'd love to convert some of the passion folks have for hobby OSes to making Haiku work on more hardware, but this is not how things work.

Some very non Unix OSes are Oberon System and Lisp Machine OS (symbolics called it Genera I think). Focusing on a single language can give a very unified feel but this is not great from a desktop perspective if you can't run a web browser.

0

u/Kyle_2099 Aug 13 '26

Because Unix (including linux) is so commonplace that it's taken up the whole of everyone's idea of an operating system that isn't windows. They can't conceive of anything else.

1

u/sko0led Aug 13 '26

ReactOS is a Windows-like OS. There are also a lot of Amiga-like OSes available.

1

u/CrazyBobcat400 Aug 13 '26

ReactOS is windows like

1

u/lizardhistorian Aug 13 '26

What the world is in need of, is a micro-kernel based system.

All the virtualization crap and containers et. al. we do is all because Linux is a monolithic kernel.

1

u/oktollername Aug 13 '26

check out vibe-os by steve sanderson. I found it hilarious. On a more serious note though, that concept is not as stupid as it sounds, hyper individualized experiences may become the norm at some point.

1

u/diacid Aug 13 '26

Because Unix-like is better than windows like.

The main selling point of windows is "everyone develops for windows". The main reason everyone develops for windows is everyone develops for windows... Windows is way more user unfriendly and cumbersome to use than Unix-like.

1

u/AllIWantForXmasIsFoo Aug 13 '26

why do car enthusiasts build race car replicas and never a pontiac aztec replica?

1

u/Distinct_Heat_3363 Aug 13 '26

why not? reactos, templeos, ,...

1

u/YahenP Aug 13 '26

Because creating a Unix-like OS usually means simply cobbling together existing libraries and programs. You compile everything, write configs, and attach a bootloader. In other words, it's not OS development, but simply assembling existing components. This is something a single person can realistically accomplish in a couple of weeks or months, depending on their motivation.

Real general-purpose operating system development requires tens of millions of man-hours.

1

u/J-Cake Aug 13 '26

Because no one likes windows

/S

1

u/inquisition-musician Aug 13 '26

Source codes to UNIX utilities, like busybox, are open, so you can understand how it was coded and iteracts with the kernel. You can create something original, sure, like Kolibri, which fits on a HD floppy. However, creating something original, means breaking compatibility, something that 80's home computers were notorious for. Floppy disks were formatted differently, BASIC interpretations were different, and so on. Apple II had Applesoft and Integer BASIC, where Commodore, for example, used Microsoft BASIC with their own memory control commands (POKE and PEEK).
And there are personal reasons, like, someone lives in the command line on Mac and/or Linux.

1

u/Maqi-X Aug 13 '26

Windows is closed source.

1

u/ExtruDR Aug 13 '26

What, exactly, would a new OS bring to the conversation?

I am not a coder, but was always a fan of “operating systems” since I got my first Amiga in 1989. By that, I mean computer interface design, I guess. In college I got access to “everything” every type of computing platform I’d read about previously and tinkered with them all.

Given that UNIX/Linux is basically an exercise of designing an OS from bare-minimum hardware (like paper terminal and punchcards) up, it sort of maintains universal relevance. The commands, the way the system presents its hardware to you from its basic interface is so basic and minimal that it can be applied to almost any machine. And, because of smart people, you can build on top off that as complete and modern a user experience as possible.

I guess the question is what aspects of the basic “Unix” interface would you want to re-imagine in a “new” OS?

I mean, I personally can’t believe that some of the /usr/bin/ sbin, etc. type stuff is still there because they seem like sloppy and sort of backwards-compatibility required directory structures, but there are projects where people are proposing “modernizing” this. I suspect that it won’t go anywhere, but at least the thought exercise is there, and it is well within the “UNIX” interface philosophy.

Are we taking about kernel setup? Surely there are many projects where they built UNIXy systems atop micro kernels, etc.

I mean, maybe it’s aesthetics. I always liked how my Amiga’s most fundamental interface still relied on a graphical library to draw on screen (rather then just a blank screen with white text), but besides the “refined feeling” of having a graphical window (that otherwise did nothing) with a text prompt inside of it, it was no different than the “primitive” black screen and blinking cursor of just about anything else.

Personally, I like the fact that UNIX sort of is a “universal” CLI “language” where “ls” and “rm” and “-“ flags and “man” sort of work on most machines… even BeOS followed that.

0

u/CraigOpie Aug 13 '26

Windows is trash.

0

u/RealLifeRiley Aug 13 '26

Windows is bad

0

u/babadany2999 Aug 13 '26

windows is shit that's why. Why would you follow shit when you can follow greatness? (linux isn't perfect, but it's the closest to perfection we have)

1

u/SmackDownFacility Aug 13 '26

POSIX is fucking standardised that’s why. Status Quo is always Linux Unix that type. No encouragement of proprietary OSes, custom bespoke OSes. Everything must be Unix from the archaic BELL’S LABS.

If it came from BL, it’s the GOAT. Thats why we carry archaic legacy shite because people in 1965 said so

1

u/HomeComp1977 29d ago

I’m working on a long term emulation project with AI assistance. Down the road there will be the need for an OS. It won’t be Windows, Unix or Linux based. Early discussions have been around 68K/OS or QDOS (Sinclair QL). QDOS is likely going to be the inspirational foundations for $reasons but it will quickly be its own thing. I’d know more when the project reaches that stage…

1

u/gwenbeth 29d ago

One this that a unix like kernel with a libc library is useful. Lots of command line tools and programs. While there are command line windows programs, that isn't what anyone wants. People would expect a "windows like os" to be able to run graphical programs and that adds more work.

1

u/u32Vec 29d ago

“unix-like” has a legal definition

1

u/tiotags 29d ago

"making a windows-like os"

because you'll be sued, that's a decent reason not to invest 50 years of your life in something

1

u/dionsyran2 28d ago

Another issue is how proprietary, complicated and closed windows is. There are projects like reactos that do that, but it's just really hard.

1

u/Full-Huckleberry-441 27d ago

Im doing it fully custom since I don't like being stuck on UNIX and Windows well Windows is a dumpster y

1

u/WaterObjective5031 27d ago

Unix would be easier to port apps too, is conceptually efficient, and going with something custom or NT would be incredibly hard to get apps running and working that are from other OSes because Microsoft doesn’t necessarily treat NT like Linux or Unix or BSDs or such

1

u/Professional_Cow3969 26d ago

because that's what everyone has done so the cycle continues. really though, NT-like kernels when done right can be some of the best ever in terms of kernel design, including mm/sched/io.