Dawn: the SUBLEQ OS by Geri


  • Considered Harmful

    Tell us more about data security of this particular solution approach.



  • @Onyx said in Dawn: the SUBLEQ OS by Geri:

    WaitNextMouseMove()

    Theory 2:

    "All programs are written by the same person so you can guarantee the mouse refresh function gets called quickly enough"

    @wger4 said in Dawn: the SUBLEQ OS by Geri:

    @blakeyrat The os can use mouse layer supplyed by the hardware (or emulator).

    Theory 3:

    "Surround it with a Somebody Else's Problem field and invent an imaginary 'mouse layer' (which is totally a thing computers have BTW) that takes care of the problem"

    @wger4 said in Dawn: the SUBLEQ OS by Geri:

    If you dont use this feature, then yes, it will have to render it, and then it will stutter. The mouse and keyboard press are being polled approx 120 times per second, depending on the speed of the system.

    What if it's running an unfriendly app?

    @Applied-Mediocrity said in Dawn: the SUBLEQ OS by Geri:

    Tell us more about data security of this particular solution approach.

    That's a good point, there's also no MMU. I assume that means there's no multi-user functionality or memory protection at all? If there is, how do you prevent processes from dipping into each others' memory? This really is Mac Classic.



  • @blakeyrat yes, if you only have one core, then it will run the tasks on a built-in emulator, so its recommended to have at least two core. (the 30k server stuff was reply to a different comment, not on the video-related post, maybe i clicked to wrong reply button when wrote it, not yet got used to this portal engine).



  • @wger4 said in Dawn: the SUBLEQ OS by Geri:

    Dawn operating system is a [..] operating system, designed for the SUBLEQ architecture.

    You do know OSs and CPU instruction sets are on different abstraction layers, right? Usually the compiler is the one to bridge that gap.



  • @Applied-Mediocrity The platform have no paging or process separation, or even privilige levels. Originally i planned to ask permission from users if a process wanted to access outside its directory or in cases like that... But i realised its futile, and i didnt added anything like that. I didnt even added multi-user support.



  • @blakeyrat An unfriendly app can just memset the kernel area.


  • Resident Tankie ☭

    @wger4 said in Dawn: the SUBLEQ OS by Geri:

    @Applied-Mediocrity The platform have no paging or process separation, or even privilige levels. Originally i planned to ask permission from users if a process wanted to access outside its directory or in cases like that... But i realised its futile, and i didnt added anything like that. I didnt even added multi-user support.

    You should add in the Guru Meditation error. Go on, do it!



  • @wger4 said in Dawn: the SUBLEQ OS by Geri:

    @Applied-Mediocrity The platform have no paging or process separation, or even privilige levels.

    So it's basically "imagine if you wanted to rebuild Mac Classic from base principles, but you lived in 2018 when memory was cheap as shit".

    I was about to ask what happens if a program requires more memory than you have but then I realized: at Mac Classic levels of functionality/utility and 2018 levels of hardware, that would literally never happen.

    It's like if someone wanted to build a Sopwith Camel, but instead of putting in the original 1917 150 HP engine they put in a modern 450 HP engine of the same weight. Then you come into a forum and you're all like, "why do you need all these complex new fighters when you could just fly a Camel!" ignoring that the Camel you have uses technology not available in 1917 and also ignoring that it still really, really sucks compared to, say, an F-22.

    (Actually it's not like that because the Camel's wings would just instantly collapse. But it's about that level of ridiculousness.)

    @wger4 said in Dawn: the SUBLEQ OS by Geri:

    Originally i planned to ask permission from users if a process wanted to access outside its directory or in cases like that... But i realised its futile, and i didnt added anything like that.

    Futile because you don't need it, or futile because you can't make it work?



  • @blakeyrat I cant make it work without priviliges and process separation. Any software can just talk to the disk IO, or copy other programs memory area. Its not like i am against security, but this platform just not supports it.



  • @admiral_p 0_1536596617129_ksegfault.png

    Instead of amiga-style guru meditation, it will gently ask you to reboot.


  • Considered Harmful

    @wger4
    So what you're saying is that there's no practical use for this project whatsoever?


  • 🚽 Regular

    @admiral_p said in Dawn: the SUBLEQ OS by Geri:

    You should add in the Guru Meditation error. Go on, do it!

    I added it into some hardware I designed once. Functional error message and a bit of nostalgia:

    0_1536596747246_error.gif



  • @Applied-Mediocrity I think the problem is that you are a truck driver who needs a good, strong, secure truck, but i manufacture a kick scooter.




  • Considered Harmful

    @blakeyrat said in Dawn: the SUBLEQ OS by Geri:

    @wger4 said in Dawn: the SUBLEQ OS by Geri:

    @Applied-Mediocrity The platform have no paging or process separation, or even privilige levels.

    So it's basically "imagine if you wanted to rebuild Mac Classic from base principles, but you lived in 2018 when memory was cheap as shit".

    I was about to ask what happens if a program requires more memory than you have but then I realized: at Mac Classic levels of functionality/utility and 2018 levels of hardware, that would literally never happen.

    It's like if someone wanted to build a Sopwith Camel, but instead of putting in the original 1917 150 HP engine they put in a modern 450 HP engine of the same weight. Then you come into a forum and you're all like, "why do you need all these complex new fighters when you could just fly a Camel!" ignoring that the Camel you have uses technology not available in 1917 and also ignoring that it still really, really sucks compared to, say, an F-22.

    (Actually it's not like that because the Camel's wings would just instantly collapse. But it's about that level of ridiculousness.)

    @wger4 said in Dawn: the SUBLEQ OS by Geri:

    Originally i planned to ask permission from users if a process wanted to access outside its directory or in cases like that... But i realised its futile, and i didnt added anything like that.

    Futile because you don't need it, or futile because you can't make it work?

    👍🏼


  • Considered Harmful

    @wger4 Welcome, lurker!



  • @blakeyrat said in Dawn: the SUBLEQ OS by Geri:

    @Onyx Wait, did ScoliosisRHEA get banned? When did that happen?

    https://what.thedailywtf.com/topic/24469/geri-the-subleq-guy/4 <- Hey look I'm a pretty funny guy

    I don't see "banned" - or even @BINNED - on there.


  • Considered Harmful

    @wger4
    That is correct.

    That is also a pillar of computing and a basic necessity of life. So you have stumbled on this conclusion quite a few times during the development process and you willingly ignored it. I wonder, did you ask a follow-up question - does that compromise the usefulness of the project as a whole? And if you did, what was the answer.

    And that being said, why not present it as such? As an exceedingly complex training exercise in futility that is interesting to you personally (and a certain selection of people that like to tinker; there's not enough wrong with that even if we keep the obsession with anime in mind), but cannot and may not ever even pretend for more than a minute of scrutiny to be anything but. And scrap all that bull about 360p videos, gramps' chessparties and whatnot because you're really comparing horse apples not to oranges but a twelve-string banjo band. You can't sell it, you must not sell it, and arguably you aren't even good at selling it (as in "sell an idea").

    Because other than that I do recognize that despite all the :wtf: pointed out very quickly by the community here (and I'm sure a good deal more if we ever bothered to take a serious look at its API) it is a great technical achievement that must have took thousands of hours and endless determination (and, well, having a few screws loose, in an overly productive savantism sort of way). We all do a lot of pointless crap and often have fsck all to show for it. Some of us don't do even that *checks mirror*


  • area_pol

    Ok, ok, let me get this straight - this is effectively a slow real-mode-style OS? This literally makes it worse than DOS.



  • @blakeyrat I think this project is a bit on the SSDS side of software if you know what I mean.


  • Java Dev

    @anonymous234 I've been tending in that direction as well.



  • @anonymous234 It looks like an extreme example of something I'd cook up in my spare time just to learn something new and different if I was less lazy. But I'd never try to sell it or make the claim that it has any real-world uses.


  • I survived the hour long Uno hand

    @Cursorkeys
    Wait, so traps are dividing by zero? 🤔


  • kills Dumbledore

    @izzion that doesn't sound very gay



  • @Applied-Mediocrity When i designed the system, i was aware that it will not be secure for various of usercases, like it will not be usable for the type of server usage when multiple people log in to a server to run they softwares and scripts, or storing they documents and datas. Paging/process separation needs a complex hardware/emulator (would been killed the point of subleq as a whole) and even if it seems to work, its still vulnerable ( even on intel - like the meltdown and spectre bugs). So i had to intentionally ignore all the security aspects. My goal was to make something Windown95 type of OS but for SUBLEQ, so people can play with it, like they can write they simple emulators, or try exeuting it on some fpga-s, so they get a platform which is magnitudes easyer than anything else and its fun to deal with it, meanwhile at the same time its real system with a compiler and basic toolset. So this was the goal and original purpose of dawn operating system, which alreday happened more or less, this needed a lot of sacrafices, and security is one of them.


  • Notification Spam Recipient

    @wger4 uh... Welcome to the forums?



  • @wger4 said in Dawn: the SUBLEQ OS by Geri:

    @blakeyrat According to his profile, he got triggered on something totally irrelevant to softwares or tech, and he annouced his quit.

    Which was posted seven months ago, yet:

    0_1536601360260_Schermafbeelding 2018-09-10 om 19.42.26.png



  • @Applied-Mediocrity said in Dawn: the SUBLEQ OS by Geri:

    So what you're saying is that there's no practical use for this project whatsoever?

    You’re saying that as if this is a problem.


  • Considered Harmful

    @wger4 said in Dawn: the SUBLEQ OS by Geri:

    My goal was to make something Windown95 type of OS but for SUBLEQ, so people can play with it, like they can write they simple emulators, or try exeuting it on some fpga-s, so they get a platform which is magnitudes easyer than anything else and its fun to deal with it, meanwhile at the same time its real system with a compiler and basic toolset.

    Alright. Good. So why am I not seeing it on the front page of the website? Tear down everything (and I mean everything). Tell the world only what it is (a kick scooter to have fun with in the yard), and withhold all waxing poetic of "could be", but what clearly cannot be. It's important to be passionate, but it is equally important to be honest and descriptive. I'd think that way you may save yourself a lot of mockery and derision (and blakeyrat's ire... nah, who am I kidding, nothing safeguards against that).

    @Gurth said in Dawn: the SUBLEQ OS by Geri:

    You’re saying that as if this is a problem.

    I'm afraid I did get the very opposite impression from the description. Which then was promptly shattered with "this page is under a rewrite" and a lot of other irrelevant chaff that served only to say what it isn't.



  • @Applied-Mediocrity I added some informations to the webpage from my previous reply. I think i will finally replace the webpage to some newer fashion in the next month.



  • @Gurth said in Dawn: the SUBLEQ OS by Geri:

    @Applied-Mediocrity said in Dawn: the SUBLEQ OS by Geri:

    So what you're saying is that there's no practical use for this project whatsoever?

    You’re saying that as if this is a problem.

    Damn right it's a problem! People who build toy projects that aren't instant market leaders at what they do must be immediately and mercilessly ripped apart by us critics, who haven't built anything comparable on our own!



  • @blakeyrat said in Dawn: the SUBLEQ OS by Geri:

    Once in a blue moon there's a good anime. Like Cowboy Bebop. Mostly because it throws away almost all anime conventions and acts like a western animated show.

    Western... :/ Kinda.

    I felt it was more like the characters were treated like they were real people, instead of this theme'd 1d character junk going on today.



  • @blakeyrat said in Dawn: the SUBLEQ OS by Geri:

    This really is Mac Classic.

    Being blakeyrat, I assume you mean it's totally awesome, right?


  • Considered Harmful

    @Groaner
    I don't believe that us not having made anything comparable is an entirely valid point. Other than that I agree. It has been too hostile a welcome for reasons somewhat trivial and subleqtive. I'd apologize for my part in it if I was the apologizing sort, but I must keep to my edgy nerd online cred. I'll get my coat. Mine's the one with Dawn 95 OSR2 by Geri in the pocket.



  • @Applied-Mediocrity You dont have to apologize, you did nothing against me, speaking from security is totally valid.

    However, 9 from 10 people (speaking of regular people) will run lady gaga paparazzi.mp3.exe without even thinking on it (yes, even clicking on run aniway), so the current problem with security is how to educate the users when they cant even understand what is the difference bethwen google and a website url is.



  • @anonymous234 said in Dawn: the SUBLEQ OS by Geri:

    You do know OSs and CPU instruction sets are on different abstraction layers, right? Usually the compiler is the one to bridge that gap.

    The OS has to know what the CPU can do. For example, there are a lot of limitations in this OS that derive from the lack of features in the architecture.



  • It is an impressive achievement, in that I'm sure it took a lot of time and effort and it succeeded in the goals it set for itself. But I can't help but wonder:

    @wger4 said in Dawn: the SUBLEQ OS by Geri:

    My goal was to make something Windown95 type of OS but for SUBLEQ, so people can play with it

    How large is the demographic of people that are interested in the SUBLEQ architecture? Is the hardware available anywhere?

    And what's with the spiel against complex ISAs? Maybe if you just went with "I made a toy to have fun with" and not "I am David fighting Goliath" you would receive more of a welcome and less of a roasting.

    Also, why is the icon for the Snake game a pear? Why would a snake eat pears?



  • @Kian

    There are no native hardware capable of running Dawn, but there are experimental SUBLEQ cpu-s exist.

    I know about 20-30 person who uses the operating system regularly, the reasons vary:
    -Most of them are programmers, who are interested in writing emulators.
    -Some of them are other OS developers, and experimenting with Dawn as a guest OS or GUI for they (tipically unix-like os).
    -Some guy used it to pre-install on computers he sold (quick boot and prooving they work, i guess)
    -There are a few who just like to play the built in chess, and they use to os for this sole purpose.

    Snake games usually use apple as a logo, but in operating system market, Apple with an Apple logo is alreday a well know thing, I am not that much of a David who fights with Goliath (one of the largest tech corporation on the earth) for a logo. This may sounds a funny reason, but thats why its a pear. (And this is why Start menu is a wheel, and actually not called Start).



  • @wger4 said in Dawn: the SUBLEQ OS by Geri:

    My goal was to make something Windown95 type of OS but for SUBLEQ

    A noble goal (translation: futile).

    Why? Well, Windows 95's structure included heavy(1) use of memory protection, paging, and all that jazz, all of which are totally lacking in your SUBLEQ model.

    (1) Not as heavy as it should have been - look up how the Chernobyl/CIH virus obtained Ring Zero privileges, for example(2) - but heavy nonetheless.

    (2) Grab the base address of the Interrupt Descriptor Table while running in Ring Three - a fundamental processor hardware security failing baked into the x86 architecture as early as the 80286 - and then write the address of your Ring Zero code into the breakpoint exception vector - a fundamental operating system software security failing baked into the Windows 95 architecture possibly as early as Windows/386 in 1987 - and then execute a breakpoint instruction. Bingo! Virus code running in Ring Zero.(3)

    (3) To the best of my knowledge, this trickery is not possible in the NT line (which is all we have today) because Ring Three code isn't allowed to write into the IDT.


  • :belt_onion:

    @Steve_The_Cynic said in Dawn: the SUBLEQ OS by Geri:

    (3) To the best of my knowledge, this trickery is not possible in the NT line (which is all we have today) because Ring Three code isn't allowed to write into the IDT.

    Correct. Ring 0 technically can, but actually I think Microsoft has finally put their foot down and if recent versions of Windows catch you doing it, you'll get a BSOD.



  • Raymond Chen would tell you that this wasn't fixed because early versions of Windows didn't prevent it, and it would have broken <existing application> otherwise. And the NT line has always had much better security than the 9x line, since it was targeting servers.

    I think you're underestimating what you can do without preemptive multitasking and protection. Sure, sooner or later you'll end up in a corner, and you won't compete with current OSes, but you can still do a lot. Examples: Classic MacOS, Acorn RiscOS, Atari TOS.


  • BINNED

    This thread has left me asking:

    0_1536616671745_but-why.gif

    Don't get me wrong, I too think it's impressive from the "amount of work put into it" angle. And it's a toy OS, so there's no need to justify its existence, or justify lack of features like security.

    But what I don't see addressed: Why is this tightly coupled to this "SUBLEQ" architecture?
    You might as well develop the OS on a normal architecture, and it'd still be a fun toy to tinker with. On the flip side, if you have a C compiler for your SUBLEQ architecture, you only need to port a kernel for it and just compile some existing OS's userland to your architecture.

    That being said, I think the OS might be fine but the architecture is crazy ridiculous. There's no good reason why this "ultra RISC" thing should run anywhere as fast as a normal RISC or CISC-with-microcode ISA.
    What do the guys with hardware experience think of this? Maybe @HardwareGeek, @TheCPUWizard, @dkf.



  • @topspin Porting the emulator is magnitudes easyer and less time consuming than porting and releasing the whole os image to other architectures. When i decided to use SUBLEQ, i choosen it because it was the most popular URISC instruction(set), and it was also human-friendly so its relatively easy to work with. x86 already has 4 major operating systems, and thousands off hobbists os-es, ARM have no unified io so every manufacturers every processor would need a different boot image while most of them is undocumented proprietary hardware, and the whole conception of Dawn OS is against this.


  • Resident Tankie ☭

    @wger4 said in Dawn: the SUBLEQ OS by Geri:

    @topspin Porting the emulator is magnitudes easyer and less time consuming than porting and releasing the whole os image to other architectures. When i decided to use SUBLEQ, i choosen it because it was the most popular URISC instruction(set), and it was also human-friendly so its relatively easy to work with. x86 already has 4 major operating systems, and thousands off hobbists os-es, ARM have no unified io so every manufacturers every processor would need a different boot image while most of them is undocumented proprietary hardware, and the whole conception of Dawn OS is against this.

    Then why not RISC-V? If you're going to choose an "esoteric" ISA, why not the one that would immediately give you +100 street cred points with the pie-in-the-sky hippie nerd audience such a project is clearly attractive to?



  • @admiral_p RISC-V became a notable thing in the last one year, but i have started thinking on this conception in 2013 and started writing the first relevant codelines around that christmas, i think someone showd me risc-v then, but it wasnt more than just another loonix hypetrain with 6 other ISA discussed around that time, i am not a fortune teller so i could not forsee that RISC-V will be able to put something down on the table (actually i put my odds against it). I have just realized literally a week ago how far RISC-V got (in this aspect, i am laggard) and i literally know nothing about that architecture, but someone made an emulator for it, and judging from that code it looks like an evil little brother of MIPS, but currently i cant even yet put it into context.



  • @topspin said in Dawn: the SUBLEQ OS by Geri:

    What do the guys with hardware experience think of this? Maybe @HardwareGeek, @TheCPUWizard, @dkf.

    First, CPU design is definitely outside my area of expertise. The most complicated CPU I ever designed was a basic 8-bit embedded controller with 8 instructions. Other than that project, the closest I ever got to the CPU was the northbridge of a server/workstation chipset, or debugging the guts of an embedded ARM core — but only enough of the fetch/decode/execute pipeline to figure out which instruction it was executing (thereby revealing which MMIO address it was reading) when some invalid data blew up the rest of the chip.

    That said, in theory it should be possible to make a very simple processor run faster than a more complex one (that's the whole premise of RISC). All else being equal, a processor with a single instruction should be capable of running somewhat faster than even an ordinary RISC CPU, especially if you eliminate all the MMU and other stuff beside the basic CPU.

    However, the faster speed of the low-level hardware operation is offset by the more limited functionality of the hardware. If the hardware runs at, say, 5x the speed but takes 5 instructions to do a thing that can be done in a single CISC instruction, you really haven't gained anything. And that's turned out to be the case for most (if not all — again, outside my area of expertise) RISC architectures; the significant speed improvements touted by proponents never really came to pass, and the performance of RISC vs. CISC is more-or-less a toss-up.

    I'd expect that to be even more true of OISC; the increased operating frequency of the hardware wouldn't be enough to overcome the additional instructions needed to accomplish anything. At least that's my gut feeling.


  • BINNED

    @HardwareGeek said in Dawn: the SUBLEQ OS by Geri:

    If the hardware runs at, say, 5x the speed but takes 5 instructions to do a thing that can be done in a single CISC instruction

    Also, in this case the factor would be a lot higher than five. Which means you'll need to fetch a lot more instructions from memory and a huge I-cache. The x64 ISA could be thought of as a data compression scheme for whatever underlying micro-ops it gets decoded into.
    And you can spend a lot of silicon on SIMD instructions like AVX etc.


  • 🚽 Regular

    @wger4 said in Dawn: the SUBLEQ OS by Geri:

    @Cursorkeys MCU?

    Yep, PIC32 on that one. Perfect processor to drive a QVGA screen, juuuuust enough grunt to get a full frame out before you need to do the next one :)


  • 🚽 Regular

    @Cursorkeys said in Dawn: the SUBLEQ OS by Geri:

    Thinking about it a bit, this architecture might be very cool as an FPGA soft-core. Especially for safety-critical stuff.

    Other people already had this idea for automotive uses, very neat:

    https://sci-hub.tw/10.1109/EUC.2015.31



  • @Groaner said in Dawn: the SUBLEQ OS by Geri:

    @Gurth said in Dawn: the SUBLEQ OS by Geri:

    @Applied-Mediocrity said in Dawn: the SUBLEQ OS by Geri:

    So what you're saying is that there's no practical use for this project whatsoever?

    You’re saying that as if this is a problem.

    Damn right it's a problem! People who build toy projects that aren't instant market leaders at what they do must be immediately and mercilessly ripped apart by us critics, who haven't built anything comparable on our own!

    This is why I tend to not share anything I work on with other people until I consider it finished.