There needs to be an operating system built from scratch, and built right from the start. Linux is a big bloated shitball, Windows is a big bloated unstable and closed source shitball, and OS X is like a big cube of gay disappointment. BSDs are all stuck in the 90s and every Unix distro except maybe Solaris is completely dead, and those are stuck in the early 2000s at best. Plan9 is 80s autism.
If you want to know what a really good desktop OS looks like, take a look at Haiku OS. It has a good looking and consistent GUI that just works, and as a result it's simple and convenient to use. The installer works flawlessly in under a minute. Due to it's Unix-like underpinnings, you get a fantastic file system (BeFS) and other tools like Bash, and partial POSIX compliance makes porting a lot easier. It uses a hybrid kernel that's rock solid and offers many of the features of a full microkernel, including the isolation of device drivers.
The ideal server/embedded OS is Sculpt OS. This is a full microkernel system that's based on the seL4 kernel and the Genode framework. This is literally space age software being made available to the public, which was previously only used in the consoles of fighter jets and other advanced weapons systems. You never have to reboot for updates, and it's damn near impossible to knock it offline unless you break the hardware. The modular design allows it to heal itself. If one process crashes, even in the kernel, another can simply restart it without restarting the whole system.
Said literally every fucking OS developer of all time. Stop trying to reinvent the wheel.
Samuel Lewis
pick one
And yet they are all shitty UNIX clones, even Windows. The real next OS will be written in Haskell and all programs in Haskell, so no memory management will be needed.
Nicholas Long
A CP/M clone with a networking stack would be enough for the vast majority of things.
Nathan Ortiz
But then we'll have to rewrite it in rust.
Jordan Watson
You are a fucking retard, POSIX is one of the main bottlenecks in highly concurrent systems.
The base system doesn't need POSIX or Linux-specific interface APIs, a microkernel would allow for a lightweight container style approach which provides compatibility for existing software.
And then programs will run like shit, the next big leap in performance for computer hardware will be in the form of high throughput high latency serial memory. Memory management will become a harder for compilers and runtime environments to handle and languages like C++ and Rust will have features added to them to provide the memory layout and management flexibility needed to take advantage of the hardware.
William Ramirez
Maybe not exactly CP/M, but I like the idea of that. On loonix I can do about 70% of tasks in a framebuffer, and that’s including watching videos, as mpv and some other players allow you to watch in a TTY if given some options. The only issue is that graphical browsers and vidya both require a windowing system. I think it’d be interesting if there was an OS that worked like old DOS, where it was a command line system that loaded whatever GUI application you wanted in fullscreen, and then threw you back to the command line when you closed it. It would never actually happen, but would be a fun idea. Honestly the easiest and most practical way to go about it would be to find a way to get graphical programs to run on any framebuffer, rather than making a whole new OS
Samuel Gutierrez
Thanks for the laugh.
Carter Diaz
...
Aiden Foster
...
Colton Hill
I tried that, but there was no hardware acceleration, and the videos were basically unwatchable. How did you get hardware accel working in the FB?
Be the change you want to see in the world. There's FreeDOS, and you can write programs for that, or you could make your own DOS-like OS with whatever modern features you wanted (multitasking, protected mode 32-bit support, 64-bit support, whatever).
Brody Diaz
Use a recent version of VLC you faggot.
Jack Myers
Go ahead, chop chop. Come back when you've written the scheduler.
Levi Jenkins
This. Everybody knows that the world needs another failed Zig Forums project.
Luis Moore
Nice scripting language, but Haskell isn't any better than LISP as a real system language.
Honestly, we need to realize there's simply too much legacy trash from *N*X/Windows to ever cleanly break from it. There are lots of vastly more modern, superior OSs, but what's truly needed to make them usable an architecture built with some kind of hypervisor environment in mind.
Something like an exokernel OS, with servers capable of running bits & pieces of legacy OSs through shims and APIs, in addition to legacy-free software that didn't need as abstraction.
Jackson Williams
An operating system moves/edits files, and executes code. That’s it. Linux is built around the philosophy of “everything is a file”. There’s a lot of fluff but it has a solid foundation. It moves files, and executes code. What you are arguing is for a more effective streamline of higher level processes, but you can’t beat the simplicity of what we already got.
Ethan Bailey
Don't say such things otherwise you will attract him.
Thats the easy part and there already exist solutions for it such as seL4, Minix, and what Redox has. The hard part is things like the filesystem, init, a standard lib to allow more complex programs to be written, etc.
Nolan Williams
I think the hard parts are things like the overall architecture, security, memory management and indeed, some kind of standard library. And then getting things to compile and run if you want to do anything fancy with memory layout or whatever.
Mason Sanchez
My biggest gripe with current OSs, aside from the constant need to reboot (New kernel? New drivers? Just change too many settings? Time to reboot!) is their terrible management of shared libs/deps. With memory consumption at multiple gigabytes and rising, this is more important than ever. I want something that can handle multiple versions and forks of multiple libraries, deduplicating things as elegantly, stably, and performantly as possible.
Christopher Lee
The world needs a lot of objectively good things that would not need any competitors.
Ethan Parker
How about splitting libraries up into smaller components, like individual functions and procedures with properly defined specifications and serperate implementations. Some languages do this and it allows changing the implementation without the need to recompile dependant code, as long as the spec is the same.
That way the only "new versions" would appear when you add new functionality to a library, but these would be added on, and wouldn't impact existing software.
Justin Howard
With a microkernel approach the hard parts are architecture and the standard library.
Since everything is in userspace the security is inherently stronger since all the individual parts are isolated from one another and its easier to prototype and develop since a bad module can't cause the entire system to die. However since all the parts are seperate processes that have to communicate to each other via shared buffers or through kernel facilitated IPC you need to put more effort into architecting the overall system as any mistakes can be hard to undo.
Leo Gomez
microkernel: muh minimalism in exchange for virtually any performance. seriously, microkernels use more memory and are much slower than monolithic kernels. have you ever wondered why minimal autists like cat-v haven't remade plan 9's kernel into a microkernel? because they're fucking SLOW
Adrian Martin
Microkernel based OSs which use shared buffers to communicate between processes are just as fast as monolithic and hybrid architectures.
Lincoln Martin
Would it make sense do a microkernel together with single address space virtual memory? That way you efficiently share data between processes, since they are all in the same address space. This is of course especially nice for microkernels. Security would be provided by "proctection domains". But as far as I can tell most research into this stopped in the late 90's for some reason.
Jaxson Watson
This is a surprisingly awesome sounding idea
Carter Rodriguez
Vidya doesn't require windowing at all. Just look at roguelikes, DF etc.
Gavin Jenkins
This is why Zig Forums will never make anything of value.
8 Nobel Prizes for work done at Bell Labs (incl. invention of the first transistors) 3 Turing Awards (At least the first is worth a shit, I'd dismiss the Unix one myself)
I was referring specifically to [CY]+3, the Bell Labs of today is a shell of its former self after it was gutted back in the 80s and 90s.
For large scale systems like supercomputers you could in theory unify the address space across all the nodes, however the interconnect between the nodes would be a nightmare since both PCIe and Ethernet/Infiniband fabrics have issues which would cripple the performance such a system.
Because its fucking difficult and alternate "good enough" solutions came along. I seem to recall reading about a heavily modified linux distro which was centered around the idea but it ran like shit.
You can make an OS which does everything poorly or an OS which does a small number of things really well.
Security and stability is something which has to be architected from the start, features can be added to a secure system after the fact. Its kind of like the saying in the video games industry "A delayed game is eventually good, but a rushed game is forever bad" except we are dealing with system security vs feature completeness.
Benjamin Morales
and tech never made it to mainstream and stayed obscure as fuck idiots
Mason Murphy
That sounds like something that would need a datacenter to run.
Michael Anderson
The mainstream is what ruined everything tech. Or do you enjoy every website being designed for touchscreens the size of a palm? The CoCs? Maybe it's Intel having a separate backdoor for every intelligence agency on the planet that's doing it for you?
Oliver Gonzalez
round robbin scheduler 1 line of code done and less bugs than lunix
why do we need to support legacy shit? it's literally all garbage.
no, it has a nice optimizing compiler for you to feel good about your best case execution times just like C
how is this a problem? literally why would i want normalfags to use my OS? it makes no difference what they do
Wow, great, something even worse than *N*X's server-focused scheduling. Yeah, but if we don't support it, we have to write and maintain our own browsers, drivers, server stacks, frameworks, programming languages, IDEs, office suites, image editors, video editors, 3D software, games, etc. Unless all you're using a computer for is 1970s-era hobbyist-level hacks you can jury-rig in an afternoon, that's not a realistic proposition. The alternative is today's highly suboptimal experience of VMs w/ PCIe passthrough, or airgap multiboxing. >it has a nice optimizing interpreted runtime emulator Yah nah To subsidize development and perhaps break a few out of their stupor
Easton Reed
numa numa is the future
Juan Cook
That's why Linux from scratch exists you stupid nigger.
It's tried and tested garbage vs your not tried and untested garbage. The world is full of retards claiming to be the smartest man in the world, and without legacy support you would need a lot of effort not to look like one of those.
Justin Kelly
Yea but if you didn't write the OS then you don't really know what's in it. And if you didn't build the chip then you don't really know whats in it. These are the only two problems with your plan.
An alternative would be to build a 8-bit computer using an Arduino or similar processor. It would be slow and you would need to write all the software yourself, but it should be capable of simple web/email use. And at least you know it wouldn't be susceptible to any common attack or data leak.
Chase Thompson
It does. But it's still an absolutely horrible systems language. Maybe a future language in the same family will be good enough one day, if type research can obviate exceptions and solve the problems with GC and performance.
Jaxson Adams
You people talk shit and act as if you know what's good and what's bad. Everytime I come to this place I am amazed by the level of ignorance that you exude. None of you are willing to STFU, sit down and make your own CPU, motherboard, compiler & OS. It's not impossible. I did it, and so can you.
Patience, sharp skills and knowledge - they will be polished during development, testing, and debug - are required and it is a LOT of fun. And, RTFM the standards to write your own drivers, apart from networking and USB the rest is easy.
You can make a 1000 x 1GHz Dual core chip - my own CPU RTL - in China for about 25.000$ + 10.000$ for the 1000 x motherboards (PCB & parts) - my own circuit design.
Beware of shipping quantities, you gotta split the packages to avoid customs if you're not going to sell. The Chinese have no problem with such arrangements.
You can also use an FPGA or an array of FPGAs on which you can implement your own CPU architecture and use other FPGAs for I/O and ... As a matter of fact, my router is my own design implemented on an FPGA and I'm posting from my own board running my own browser.
Intel, ARM, AMD, ... are flopping big time. We ALL know who they serve.
Stop this shit-talking non-sense and get to work. Otherwise, STFU!!!
Lucas Reyes
Why don't you sell us your CPUs, Terry?
Oliver Cook
Y'know if it was Microkernel vs Megakernel you fags would think megakernels were better because they have the cooler name. This is literally the thinking ability of computer nerds.
Jaxson Foster
This is no joke. I'm not Terry but I wish I could spend some time with the guy, he's unstable but not crazy.
Because I'm not Yehuda (nothing against Jews), I won't sell anybody's soul for 30 gold pieces. I did what I did for fun (also a PoC - I live alone, have no friends and not ineterested in people's egos - a VERY private person) not for profit.
What is money compared to your soul?
Eventually, when I figure out how not to get fucked by some patent holder or a troll, I'll publish everything online. Do it properly or don't do it at all!
Austin Gray
Sadly people's demands for computers is so numerous and evolving so fast that no one could possibly start from scratch and actually get anywhere in terms of mass (or even minority) adoption. Imagine making an OS knowing that you have to be able to perform all the countless tasks expected of a modern computer due to modern tastes.
Lucas Sullivan
IMO, best bet is build something bottom up, correctly, and let any legacy be rebuilt to suite. How many times you do backup your files, install a new os, and never touch the backup files again?
Ian Murphy
Put at least a dead man switch to release everything if you do have an early departure. PSA:Patent troll always find a way to fuck you.
Jaxson Rogers
I've been interested in osdev, the problem isn't programming the kernel, its designing an ecosystem and challenging the current paradigms. without strong insight you end up with a variant of unix, dos, or vms/nt. it would be nice if there was a bare bones kernel with some memory management, scheduling, and paravirtualized drivers as a starting point for people to experiment with actual design. I'd like to see a modular gui system, were applications are built like shell scripts in a visual block diagram out of small simple programs, break the tradition of plain text ipc, have simple concurrent models, and have a language tower like racket were programs written in different languages have a shared interface (no need for language bindings, every tool is written in the appropriate language). my os would be focused on making computing fun rather than practical.
All I want is to boot my computer and get BASIC (not boot linux/win/whatever and then launch BASIC, just plain old interpreter doing all the job). Write your own source code, share it around, use it for what you need to do and that's it. Special points if it's able to interpret multiple programs at once. I'd go for that.
Jayden Barnes
You don't need the OS to have window system to make those kind of games. All you need is a way to draw on the screen.
Microsoft does that as a courtesy, not because NSA even needs them to. PRISM ensures that NOTHING YOU TYPE IS EVER GOING TO BE ANONYMOUS.
Ironically, the people that are the biggest threat to society (organized crime) are the most immune to PRISM, via gigantic botnets that ENTIRELY hide their activities. Literal needle in a hay stack. Metadata doesn't mean anything if 50 million innocent people are tagged incorrectly via botnet.
This is the current state of 'the war on cybercrime'. Futile. And any time some one smart enough to track those fuckers comes along? They're fired and hunted, because it means the NSA will lose funding for their bloated, inefficient bullshit.
Spying on you is more important than actually stopping crime. The CIA did the Las Vegas shooting.
Luis Collins
why doesn't this stuff exist? i'm always going down this old computer rabbit hole. i think about getting an old, simple computer. like a commodore 64 or spectrum. very quickly it becomes problematic because: 1) old hardware may be more prone to failure, 2) you would need floppies that they no longer manufacture.
it's such a shame. those old computers had some problems, but they got a lot right. maybe the next best thing would be a bare bones os.
Hudson Jones
Install Linux and a command line interface a text editor and a compiler. You can do this today so what's stopping you?
James Thompson
first of all, i don't like linux. i use openbsd and use text based programs.
that is still not a substitute for a simple system like the commodore. i should not have to explain why. if you think the appeal of a simple system has to do with simply using text programs then you are misled or confused.
Nolan Cook
Operating systems exist in the first place because most computer users like the multiplexing capability of a computer and also for hardware driver functionality being available for all software. If you want to go back to the age where one computer can only handle one program at a time where each program is required to independently write their own drivers, that's certainly possible but that's a very strange way for general purpose computers.
Joshua Perez
why is it all or nothing with some people? you can often have both.
just because i would like a ford model t to drive around on a sunday doesn't mean i don't want a modern car to drive to work on a winter morning.
also, some of the things you have said make me think that you don't know a whole lot about computers.
Wyatt Hernandez
Start reading the developer guides for your architechture of choice. Learn some assembly. I'm assuming you know C. It shouldn't be too terribly hard to write a little basic interpreter kernel, especially if you only want it to be single threaded.
I looked into writing my own microkernel awhile back. I read through the dinosaur book. It's good for learning how to call the kernel and do multithreaded programming, but I should have read Tanenbaum's OS design and implementation. It's on the to do list. Also you can check out the OSdev.org wiki.
Justin Bell
You're telling me that you want a simple system and you define this as a Commodore 64. The Commodore 64 didn't have an operating system because nobody bothered to write one for it. I'm saying you can go back to that simply by doing the same thing - write your program directly for your computer without an operating system in it. Doing your computer this way is so trivial that any person trained to write hardware drivers is capable of achieving it in a short time (a couple of weeks). I'm confused about why you bitch about how software is too complex when you could be implementing this system by yourself.
Jacob Foster
...
Jaxon Jackson
On x86 you don't have to write more than 1000 lines of mostly boilerplate for that as the hardware does almost all the work if you do one task per TSS. I don't know if x86_64 requires more from the programmer but it's not like you need a 64 bit kernel just to experiment with. I assume there are still tons of resources on getting started as we all used to write our own protected mode loaders (essentially, mini operating systems) back in the DOS days before dos4gw got popular because we had no choice. The hard part used to be that there are multiple things that have to go right on switching to protected mode and if you fuck one up there's (almost) no way to communicate that to the programmer as ram is in an unusable state until that switch is performed correctly so you're left guessing. I used to flash the keyboard LEDs to see how far my code got before the dreaded triple fault as they didn't require access to memory. Today you can just attach a debugger to qemu and spoil all that fun. Use "legacy BIOS" or whatever they call it rather than UFIA UEFI mode so you don't have to fuck around with bringing up controllers and all that modern bloat just to write to the disk or put some text on the screen.
Luke Gray
RISC-OS has a pico image that boots right into BBC BASIC.
Hunter Russell
Google Colour Maximite
Luis Gonzalez
Or FreeDos, or whatever. But: The fewer layers, the fewer opportunities to dig hole in security. I don't want an overly bloated product that takes hours to install, just a program dedicated to a specific hardware and entirely programmable. I guess it would have to be able to both send ASM instructions and interpret its own language. Possibly handle two types of libraries: one for language keywords (written in ASM), and another code library for applications (written in the same language as the source).
Nice! Thanks a bunch.
Kevin Howard
imo you'd rather LARP than write code.
Joseph Green
We'll fucking see about that motherfucker.
Ethan Richardson
This is the motivation behind my pet concept of a modern OS built around hypervisors/APIs. So that it would both offer a superior user experience for legacy bullshit out of the gate, and the prospect of future "native" software offering an even better experience.
The benefit, though, is your game coexists better with other software, instead of being a giant (usually mono-window, games a shit at multi-monitor) blob.
Jacob Collins
>There needs to be X built from scratch Lemme guess. You offer to contribute a logo? Faggot. kys sage
Michael Rodriguez
I'll get started on the logo :^)
Matthew Allen
Or you could use an actually successful microkernel called QNX. It works on phones, embedded devices, and desktops.
Adam Martinez
no thanks, also your implication that seL4 isn't successful is funny
Andrew Kelly
it's not it's literally the most reliable OS that's not just a hypervisor like all the other meme "microkernels".
Anthony Robinson
Winner
Adrian Brown
Don't forget the mascot!
David Rogers
le pragmatism XDD
Daniel Barnes
I'll draft up the code of conduct.
Ryan Harris
There's lots of rock solid little RTOSs along those lines, like OS-9 and VxWorks.
Joshua Phillips
I'll draw the mascot :P
Jose Davis
I was rooting for Lindows and OS2warp, early on. I stumbled on linux just because it was free
Zachary Miller
Thoughts on TempleOS? I've been debating learning osdev off it and try to get some sort of virturalization into it.
When will Google release Fuchsia already so the market share of the Linux kernel can sink like an anchor and freetards can finally kill themselves?
Elijah Bailey
Neat, so when's TechOS™?
Eli Evans
Kill yourself bet you never configured your own kernel
Gavin Campbell
Install genode!
Jackson Williams
Isn't that just DOS with an ethernet card installed?
You don't really need a windowing system for either of those. You need it for multitasking, but not the programs themselves.
They're done far worse than cave into the CoC bucko.
Camden Young
Yeah, I've been looking into SculptOS that OP mentioned. So far I like what I'm seeing. I just wish seL4 had some Spectre/meltdown mitigation. I guess it's time to hit the books.
Isaiah Jones
I think when he says networking he means TCP/IP, which DOS didn't have.
Benjamin Lee
Certainly not built in, but nearly every DOS ethernet driver contains some implementation of the TCP/IP stack or at least IPX. At least from what I've seen. Not to mention the numerous third-party IP stacks available.
David Davis
Just about every major "retro" computer platform has a floppy emulator project that supports it.
I'm really hoping it becomes feasible for hobbyists to start up manufacturing of those old discs and ICs though. Having that all lost to failures over the decades isn't something I'd like to see. Archiving ROMS/disc images and emulators can only do so much.