I'm learning to make my own OS (for larping purposes, obviously) and was thinking about making a *nix. I've seen alot of hate for unices being too hard and having very limited software support, but past that, not much else. Why do people hate Unix and its various clones, decendants, and forks?
What are some drawbacks to using a *nix OS?
kys
There are two classes of people who actively hate *nix. Windowsbabbies who are afraid of terminal windows, and LARPers who pretend they remember lisp machines. In other words, people who see *nix as something for elitist snobs, and elitist snobs.
If you're designing a new OS, there is no practical reason to avoid basing it off of *nix. There are multiple major standards of *nix software that are fully free and open source for you to fork or study as you please, to include tons and tons of hardware drivers, which makes your life as the developer a lot easier. And the bigger codebase you get to work from comes with a much wider community of support than you'll get trying to base your new OS off of anything that isn't *nix, which again makes your life a lot easier.
Really, the only reason to make something that isn't *nix is for originality points, and that's fine and all, but be aware that almost nobody will use it. We live in a world where 90% of computer users use Windows, and 90% of the remaining 10% use something based on *nix. Like, if you've got some revolutionary new OS planned then that's cool, but you're going to have almost no users and close to 0 help. If you've never designed your own OS before you may as well make it *nix so the internet can hold your hand through it, and later you can apply what you learned to your own original OS. In fact, learning *nix inside and out would be the best way to figure out what exactly it is that you hate about it so you can make something that's objectively better.
Except for the fact that Plan 9 made it irrelevant 24 years ago.
at first glance this looked like a posibly interesting NixOS thread but turns out op just needs to kys himself.
kys fag kys.
If I were to make a "new" OS based on something else, I'd copy pic related. I mean, not the code, but the overall design and spirit: a graphical interface that is polished and streamlined to the max. No command line, if you can't click it doesn't exist.
Oh boy, another Unix OS. I just can't wait.
Open source developers are fuming at the very thought of what you're suggesting. You dare suggest that making the user to type intuitive commands such as "-nfge+ -f -de"dir/" rofl\#*afdom sudo -xlarp" isn't the ultimate form of perfection?
You get all the brain damage due to a too early and vendor accomodating standardization. Look at Plan 9 if you want what UNIX was supposed to be.
unix hater's handbook: web.mit.edu
It's a research OS that is extremely outdated, yet UNIX weenies think it's perfect.
Because they are poorly designed and implemented. For example with Linux the OOM killer is annoying. It will kill any process it wants. Unfortunately, sometimes it kills something which crashes my system or kills X so all my applications also get killed to. There is absolutely no reason there couldn't be some sort of menu that let ME choose what I want to be killed? Why couldn't it kill stuff that doesn't essentially kill all my running programs? UNIX weenies will have some excuse on why this way is the way it should be and I should just change the way I use the machine or buy more memory to fix the problem.
It's hard to participate in a non-free technological ecosystem, that's for sure the biggest.
Could you kill yourself very fast?
tclsh
There's no such retarded problems in Net or Open BSD.
Except that Plan 9 was never relevant.
...
Due to idiots getting sucked into using an OS that wasn't meant for anything more advanced than a typewriter.
I'm sure if you got the lisp fag in here he could write veritable book on the subject (or copy paste someone elses). Unfortunately all the major OSes are considered unix under his definition, so your not going to get very far if you try avoiding it.
there hasn't been a "new" OS of any consequence in half a century (DOS and UNIX). The primary component of an operating system, not it's permission model, or IPC system, or anything else, is the software it can run. Making a new OS from scratch makes you immediately shittier in this dimension, no matter how far you improve in any other.
all memory is allocated by the kernel. The kernel knows there are N MB of memory. It knows it needs K MB of memory to draw the menu. So when it hits N-K MB of used memory, it pauses and displays the menu. Linux doesn't do this because most people don't want it to behave this way. UNIX systems are designed to restart quickly. In general, instead of trying to correct errors, it's easier for everyone to restart. So that's what you do on UNIX - and on windows.
UNIX is designed to be written by larpers. The basic design model is "if you can avoid doing is, don't bother". This enrages lisp weenies, but makes your job as the implementer much easier. If, once you've written a unix clone, you still have a hankering for OS dev, then you could try LISP esotera, but I think that will satiate you well enough.
- don't emulate 70s mainframe, instead try to innovate. there are a ton of UNIX look-a-likes, why not make something more fresh?
- uniform GUI, like Haiku
- don't make too great sacrifises for portability's sake.
- don't try to support all architectures, just pick one, for example, AArch64 or x86-64
- make it more fault-tolerant. what if you could restart subsystems instead of crashing? See MINIX.
- have asynchronous I/O syscalls
- don't adhere to "everything is a file" if it doesn't make sense, like with efivars.
- have a sane filesystem layout and don't implement legacy cruft, see lists.busybox.net
- make the command-line shell support complex graphics, like TempleOS
I would recommend against pigeonholing yourself into a specific design. There is plenty of neat shit out there to learn from.
a couple more
Why would you want to make something that sucks? There's too much garbage software out there already.
They suck because the quality of everything is bad. It's only "hard" in the sense that nothing has a consistent design (each "tool" and command's options need to be memorized separately instead of OS-wide rules) and it puts huge roadblocks between you and the hardware. It's very easy for x86 hardware to check for stack overflow (with segment limits) and extend the stack automatically like Multics, but UNIX doesn't use segments. There are so many times that UNIX is so misdesigned and broken that it would be easier to do something with no operating system at all than it is on UNIX, which sucks. Even system calls and file copying are broken. The point of an OS is to do the hard parts so they don't have to be repeated in every application, not to produce a piece of shit that everyone has to work around constantly. Lisp machines have one GC, metaobject system, and powerful error handling mechanism used for everything, which reduces the size of every program that runs on it. UNIX is millions of lines of code that makes everything that runs on more bloated. That's why they call UNIX the "un-operating system."
UNIX weenies already have OSes they want to use and will never use OP's OS even if it was an exact Linux clone because they already have Linux and the rest of that bullshit. UNIX weenies want C and "ar" and "awk" and all that crap. They don't want "UNIX-like" that differs from UNIX any more than Plan 9 or Linux. The people who would be interested in a new OS are UNIX haters or at least aren't UNIX weenies and don't care if they have to type "copy" instead of "cp" or if it uses \ or > as a path separator instead of /.
Plan 9 is just UNIX with the bare minimum of changes needed to call it a different OS. It uses "tar" to copy directory hierarchies because the commands are slight modifications of the UNIX source code.
You're post is great except for this part. UNIX is not research. That's just bullshit to explain why everything sucks. If it is research, what were they "researching"? Nobody can ever answer this. Multics started as research and became a commercial OS before UNIX existed. Multics was so far ahead of UNIX that it already did things in the 60s that UNIX can't do now and will never be able to do. Poorly imitating parts of a successful and widely known commercial product doesn't make something research.
That's more of the "Bloatware is Proprietary" phenomenon. Because C is so unproductive, programs are also bloated, and because everything is poorly designed, there is a lot of duplicate code. These C flaws lead to massive multi-million line browsers to run pages that require hundreds of kilobytes of JavaScript that has to work around their bugs even though the web page doesn't even support some of the browsers that have those bugs, like autoconf for the web.
The PDP-11 is a 16-bit 70s minicomputer. They're totally different classes of hardware, like a semi truck and a plastic tricycle.
This is good advice. There's a lot more than UNIX out there.
Subject: why Unix sucksSome Andrew weenie, writing of Unix buffer-length bugs, says:> The big ones are grep(1) and sort(1). Their "silent> truncation" have introduced the most heinous of subtle bugs> in shell script database programs. Bugs that don't show up> until the system has been working perfectly for a long time,> and when they do show up, their only clue might be that some> inverted index doesn't have as many matches as were expected.Unix encourages, by egregious example, the mostirresponsible programming style imaginable. No errorchecking. No error messages. No conscience. If a studenthere turned in code like that, I'd flunk his ass.Unix software comes as close to real software as TeenageMutant Ninja Turtles comes to the classic Three Musketeers:a childish, vulgar, totally unsatisfying imitation.
Not really. At best the Lispfag is a salty copypaster and borderline namefag who sometimes posts other people's useful ideas, and at worst he's a cheap whore who sucks off any non-Unix OS, a blabberer who insists bloated trash like firefox and systemd come from people following the unix philosophy, and thinks operating systems are a collection of features. If you're interested in Multics, Symbolics machines, and system programming langues other than C (and you should be if you're interested in OS design), you're better off reading the Multicians website and random papers than his rambling boomer spergouts and PL/I shilling.
(checked)
based
btw cool it with the multics praising. multics is unbased
keked
Rule 7 bans self-identification through signatures and he sign every fucking post with the same couple usenet copypastas.
It's a server OS that can't handle spaces in filenames.
Then why doesn't someone REPORT him. Why does no one ever seem to use the report feature?
Nothing. Unix is perfect, nothing better could possibly be made. We just conveniently invented perfection right away, effortlessly.
Yes, we don't have enough versions of Unix yet. There will never be enough. You should make a new Linux distribution too. There is no reason to be original when you can just copy perfection.
What those quotes are actually being posted by more than 1 person?
What if those aren't from usenet?
What if I told you before I was on his side I would report every single post he made for violating a specific rule and then the mods changed that rule so it would be allowed.
...
8ch.net
8ch.net
8ch.net
based UNIX haters poster
(checked)
nooooiiiice work
I lol'd
Are they even quotes? The dude never says who he's quoting.
bruh, you can use MinGW and git bash on Windows
my Windows 10 development workflow is basically the same as my Linux one
Unix including Linux is the best OS among open source OSes!
Make it a non-*nix for the simple purpose of experimentation. Your OS will never have the userbase or coverage of something like GNU/Linux or Windows anyways. Even if it did get to a point of high popularity, designibg it in a unique way would hflp it carve out a niche.
And it has a lot of competition too, like... well, nothing. Could it be popular because it's the only dude open source dude option? Nah, I'm sure that it's just a coincidence. Certainly it's the only option because it's perfect, just like the 50 year old horrendous, unbelievably stupid design flaws are really just features if you think about it.
If it's just Unix, there is no reason to use it because Leegnooks exists. It would just be another retarded attempt to recreate exactly the same thing all over again for no reason. The kind of mentality that created this lack of options in the first place. Software in general has been so stagnant because of the cancer that is forking. Just think about the amount of people that are wasting their time on forks when they could be creating new shit, not even counting the amount of people trying to make Unix function. Half a century of effort for this thing to be able to kinda compete with Windows a little bit maybe. Not even because of merit, but mostly because Microsoft has been really busy repeatedly shooting itself in the face every time they release fucking anything. And Windows has barely ever been good at all to begin with. I guess Windows 95 was kinda nice at the time.
It's a hacked-together mess that is unsuitable for modern platforms.
But instead of making actual progress, we are full of fuckers who wank over it.
lol true, I do that all the time. I blame pornhub though, not my system.
Those are some real hot opinions you have there.
Nothing particularly wrong with unix besides the poor execution of its ideas and the historical cruft mixed with modern insanity we've been left with.
If you get all that right, then you just might have the best OS in history.
monolithic kernels are too bloated to manage and micro kernels do jack shit cause no one develops for them.
NT kernel is funnily enough, a micro kernel. So all the suckless fags should be using windows ;^)
contribute to developing gnu/hurd or plan9 instead.
What we need isn't more of the same but instead something that works that isn't a shitty monolithic kernel held together with tape.
the only thing that comes to mind is no native DAW or Video Editing worth talking about (if I was forced, I would run these within Wangblows in a networkless VM)
wrong
They tried making a microkernel at first, but quickly stuffed fucking everything into the kernel.
Every single kernel driver will contradict with userspace naming.
This is unavoidable.
As an example, i915 graphics in kernel is actually i965 in userspace.
You can use i915 in userspace but good fucking luck doing anything with it.
How would you share storage? Plugging a USB disk back and forth between host and vm?
you can parse and extract files from the virtual disk file. Not the path of least resistance though.
Mainframe computers are better than Unix, Linux, Windows, and macOS computers.
You know, I'll take your pill, Lisper, whatever color it may be. While learning Emacs I started to kinda see how plain uncomfortable everything is in Unix. Every time I thought to myself “Hmm… How do I make my Emacs setup work with that other program I use the way I did it with Vim?” I came to realization that either Emacs already has the functionality of that other program, there's a package for Emacs with this functionality or you can easily emulate this functionality using Emacs Lisp, and, on top of that, it'll be much better in terms of interconnectivity than anything you can achieve with shell scripts. Why? Because pipes aren't the pinnacle of computer evolution; Functions are. Plan 9 removed the -r flag from cp because it's considered bloated for each program to implement recursive traversal of directories, despite the fact that all of them basically call the same code from the same library. The answer Emacs gives (and by proxy, Lisp, I assume) is “Why separate functionality into ‘programs’ only to implement mutually-understood interfaces so these ‘programs’ could work together in the first place? Just use the code directly.” Kinda reminds me of the series of tweets that CloverOS fag made where he said that after writing Bash scripts and then Python scripts, he now just uses C as an interpreted language by piping it into GCC. Similar thing happened to me, except for C for me it became Emacs Lisp. Not for reasons of performance, obviously, but for reasons of user experience: Why the fuck would I waste my time leaving Emacs to do something I can do within it? If this is how Lisp Machines were back then, then fuck UNIX.
Unix OSes poll for I/O completion.
That is like shitting diarrhea in a pool. It is completely amateur.
Biggest hurdle is compatibility with the software people are used to, namely windows only games.
All modern *nix systems are made by ~The community~
which is another way of saying it's all fucked and there are ten thousand retards who don't know what their doing making decisions as apposed to a few retards making decisions. but unlike those few retards their job doesn't rely on it and being one of a thousand there is no real way to find whose at fault.
This isn't a fault with *nix just a fault with how they're currently handled.
But i'd argue that the *nix mentality makes it much easier for the lazy hack it together sort of style to take place as *nix is the lazy man's operating system.
Fucking *nix retards are cadering to muh gayms crowd too much these days, they still don't have a functionally video editor that isn't a clone of windows movie maker.
The problem isn't gayms theres already too many ways to get that shit to work.
What doesn't exist is the important shit.
Video games are toys, their not the priority and aren't needed on a production operating system for grown ups who need to get work done.
Your arguments are wrong. POSIX is an ugly standard. You have a C library that works as a layer to interact with the OS instead of interact with the OS directly.
Your arguments are wrong POSIX is an excellent standard (I'm just countering you for dramatic effect, but I do think it does the job) and the alternative to having libraries implement the standard would be to force all operating systems to implement the same syscalls in the same way to be POSIX. You can talk directly to your kernel without libc. No one is stopping you. What do you think /usr/include/linux is for?
(OP)
When you hear people hate something, you've gotta ask yourself how much experience these people have with what they hate. It's pretty standard to hate something foreign or strange.
Let me directly answer you question in the topic. The only drawback to designing you system as an *IX clone is that you trade your freedom to implement things differently, when you solve problems along the way of making the system, for the comfort of a fixed interface design. If I were you I'd focus on making an operating system that handles the hardware and memory and provides an interface to userspace (your programs). To me that would be the fun part. You can always implement a POSIX layer later on. Start out using all you can get for free from BIOS to get a working prototype and then you can start replacing parts that you want your system to do on its own.
games are software that moves billions, requires efficient hardware usage (so good drivers), and doesn't stand half-assing of APIs and compatibility layers: they're a good litmus test to see how well your Os is developed.
make games don't play them.