Slashdot Mirror


MenuetOS, an Operating System Written Entirely In Assembly, Hits 1.0

angry tapir writes: MenuetOS, a GUI-toting, x86-based operating system written entirely in assembly language that's super-fast and can fit on a floppy disk, has hit version 1.0 — after almost a decade and a half of development. (And yes, it can run Doom). The developers say it's stable on all hardware with which they've tested it. In this article, they talk about what MenuetOS can do, and what they plan for the future. "For version 2.0 we'll mostly keep improving different application classes, which are already present in 1.00. For example, more options for configuring the GUI and improving the HTTP client. The kernel is already working well, so now we have more time to focus on driver and application side."

368 comments

  1. Re:floppy disk... by Anonymous Coward · · Score: 1

    I have an 8" floppy disk.

  2. Wow. Still? by halivar · · Score: 5, Insightful

    I remember futzing around with this little project 15 years ago. I am pleased to see that, not only is it still going strong, it's pretty remarkably modern.

    1. Re:Wow. Still? by Anonymous Coward · · Score: 1

      But will it run with UEFI Secure Boot?

    2. Re:Wow. Still? by Darinbob · · Score: 1

      I'm still waiting for them to port it.

  3. Really? by ArcadeMan · · Score: 5, Funny

    Question: MenuetOS is entirely written in assembly? There's no traces of other languages, such as C?
    Reply: nop

    1. Re:Really? by Anonymous Coward · · Score: 2, Informative

      Question: MenuetOS is entirely written in assembly?

      Yes, that's the whole point of the OS.

    2. Re:Really? by ohieaux · · Score: 0

      Where are my mod points today?

      --
      Where all think alike, no one thinks very much.
    3. Re:Really? by Anonymous Coward · · Score: 1

      Question: MenuetOS is entirely written in assembly? There's no traces of other languages, such as C?
      Reply: nop

      I wrote a small operating system entirely in assembly language using the Microsoft DOS debug utility and it fit on a single floppy diskette too. This was way back in the Year of Our Lord 1995. There was no graphical user interface; it was entirely command shell allowing for command-line applications and text user interface applications. The kernel and the command processor interpreter were the only part of the operating system that was not interpreted; everything else was written in a small language that ran on the command processor and was interpreted at run-time. The device drivers provided keyboard and console input-output and there was even a device driver for the dial-up MODEM via the serial port. The project was entirely for my own amusement and learning while I was reading a book about operating system architecture (monolithic kernel versus microkernel, uni-tasking versus multi-tasking, single application versus multiple application). All configuration including devices was via a registry-type data structure so I could swap devices on a single port and resume when the previous device was re-enabled.

    4. Re: Really? by Anonymous Coward · · Score: 0, Interesting

      I'm not reallyd sure that I understand that point. To me, thst would sound reasonable for educstionsl Ãr entertainment purposes, but are there any other meaningful reasons for writing an entire OS in assembler?

    5. Re: Really? by Anonymous Coward · · Score: 3, Funny

      Yes. Phenomenal speed and minimal resource requirements, both of which translate into an ability to run on smaller, cheaper, and less power hungry hardware. I can tell you weren't alive during the Reagan administration.

    6. Re: Really? by kthreadd · · Score: 1

      I'm not reallyd sure that I understand that point. To me, thst would sound reasonable for educstionsl Ãr entertainment purposes, but are there any other meaningful reasons for writing an entire OS in assembler?

      Today, not that much apart from looking cool. Not a lot of programmers know assembly that well anymore so writing a non-trivial operating system completely with it is definitely something to put on the resume. It used to be necessary to use assembly get good performance, but since the late 80's and early 90's it's not really necessary anymore on personal computers.

    7. Re: Really? by OzPeter · · Score: 4, Funny

      I can tell you weren't alive during the Reagan administration.

      Was anyone?

      --
      I am Slashdot. Are you Slashdot as well?
    8. Re: Really? by Anonymous Coward · · Score: 0

      Does Keith Richards count?

    9. Re:Really? by uradu · · Score: 1

      You clearly don't speak assembly--or funny ;)

    10. Re: Really? by Grishnakh · · Score: 2

      The problem with this is that smaller, cheaper, and less power-hungry hardware these days has an entirely different architecture, called "ARM". (I think MIPS is also alive and kicking, being used in many embedded applications as well as ARM.) This shows why writing stuff in assembly is generally a bad idea: you can't port it to another architecture.

    11. Re:Really? by rubycodez · · Score: 0

      Link to the code or your full of shit

    12. Re:Really? by Anonymous Coward · · Score: 3, Informative

      QNX fit a realtime OS with GUI, file browser, web browser, notepad and demos on a 1.44MB diskette.

      http://toastytech.com/guis/qnxdemo.html

    13. Re:Really? by Anonymous Coward · · Score: 0

      In the same way that people who are interested in old cars, radio tube amplifiers, and retro-computing, are also living in the past? I think somebody's envious.

    14. Re:Really? by narcc · · Score: 4, Insightful

      Seriously? There's absolutely nothing suspicious about the AC's claim. Countless hobbyists have done the same thing.

      I know the younger crowd seems to think assembly seems a bit like incomprehensible magic, but it's really not.

    15. Re: Really? by mjm1231 · · Score: 2

      From what I remember, Ronald Reagan wasn't.

      --
      Ideology: A tool used primarily to avoid the bother of thinking.
    16. Re: Really? by Anonymous Coward · · Score: 0

      Nope.

    17. Re: Really? by Langalf · · Score: 1

      No.

    18. Re: Really? by cyberchondriac · · Score: 1

      Hey, it wasn't that long ago!

      --

      Look back up at my post, now look back down, you're on the Internet. Now look back up. I'm a signature.
    19. Re: Really? by __aaclcg7560 · · Score: 2

      Besides Max Headroom, no.

    20. Re:Really? by Anrego · · Score: 1

      Indeed. I think it's a phase a lot of programmers go through.

      Mine never made it out of Bochs. I had an insanely basic command line, but it didn't handle scrolling... once you got to the end the screen cleared and it started back up at the top.

      I don't have the code, but you don't have to search too hard on the net to find hundreds of little hobby operating systems people have written.

    21. Re: Really? by tnk1 · · Score: 1

      It may be smaller, but is it that much faster? C compilers have some pretty darn good optimizations these days.

      I think its a cool project though. It's nice to see people coding tightly in a general atmosphere of prevalent bloatware. If only to show it can be done, and to demonstrate the advantages.

    22. Re: Really? by Nyder · · Score: 1

      I can tell you weren't alive during the Reagan administration.

      Was anyone?

      I'm pretty sure mentally Reagan wasn't even alive during his administration.

      --
      Be seeing you...
    23. Re: Really? by Cramer · · Score: 1

      Actually, you can, but it's certainly a lot more work. But then, porting AN OS to a different processor usually involves more work than changing the -march option to gcc. (i.e. coding to handle a completely different platform. It's not like you can pop the i7 out of your desktop and replace it with an ARM or MIPS processor.)

    24. Re: Really? by Cramer · · Score: 1

      It certainly is "still necessary". However, processors have gotten fast enough that people don't notice how horrible their OS and applications actually are. Compilers (read: gcc) have gotten *worse*, not better because there are so few people who really understand assembly, or the complexities of modern processors.

    25. Re: Really? by Grishnakh · · Score: 1

      No, with assembly you have to rewrite everything for the new architecture, because it's so different. x86 assembly does not resemble ARM assembly at all.

      When the OS is written in C, you don't have this problem. Just look at the Linux kernel. Only small bits of it are in assembly, which of course are CPU- and arch-specific, but the rest is fully portable. Obviously, this means not making any assumptions along the way, like that your CPU is only 32 bits, but this isn't that hard to do. Recompiling the Linux kernel for an all-new CPU is not hard, you just have to change the arch-specific low-level things and you're done; all the scheduler, device driver, etc. code stays the same.

    26. Re: Really? by Anonymous Coward · · Score: 0

      +1, I've written my own ultra basic OS in Assembler too, just for the Hell of it.

    27. Re: Really? by cusco · · Score: 1

      I don't think personal computers are the target for an OS like this, embedded hardware like access control panels, refinery crackers, antenna controllers and the like would be. A lot of that stuff still runs on TRON, this would probably be a replacement for that kind of stuff.

      --
      "Think about how stupid the average person is. Now, realise that half of them are dumber than that." - George Carlin
    28. Re:Really? by ajedgar · · Score: 2

      That is true. Microkernel, POSIX Filesystem, TCP/IP stack, GUI, auto hardware detection, web browser and web server, terminal, command line tools, demo apps including 3D vector graphics. And it was all written in C/C++ except for about 200 lines in the kernel where Dan Dodge (co-founder and CTO) found he could do task switching faster with hand coded assembly instead of using TSS. We studied the output of the Watcom C/C++ compiler with full optimization enabled and register passing, there's no way a human could make tighter code, and that was 25 years ago.

      As others have questioned I can't think of any other reason why you would want to right an entire OS in assembly language except as an academic exercise. QNX is tiny and portable, it currently runs on x86, ARM, PPC, and MIPS.

    29. Re:Really? by unixisc · · Score: 1

      So do they support the multiple cores of say, an i3? What sort of UI does the OS use - something like Windows?

    30. Re:Really? by unixisc · · Score: 1

      Isn't cheating allowed? Write the original OS in C, then compile, and then work on the resultant assembly code, first on optimizing, and then on adding features?

    31. Re: Really? by Anonymous Coward · · Score: 0

      Yep. Not that I've written an entire OS, but I did write an most of an emulator (video output was done in c so I could link graphics libraries in, everything else was good old x86 asm) for an old z80 machine. Emulating hardware in assembler just seemed, well, fitting.

    32. Re:Really? by Anonymous Coward · · Score: 0

      Let's not jmp to any conclusions.

    33. Re:Really? by wbr1 · · Score: 1

      it was a joke. nop is an assembly instruction.

      --
      Silence is a state of mime.
    34. Re: Really? by Anonymous Coward · · Score: 0

      You mean it is so difficult to write a translator to translate from one instruction set to another. Granted there might be some issues with hardware specific codes but it will go a long way for the porting

    35. Re:Really? by Anonymous Coward · · Score: 0

      Seems to me if you can read his assembly code and understand whether it implements what he says, then you would be capable of writing something similar and thus prove it's plausible.

      In short, you wouldn't know what to do with the code if you got it.

    36. Re:Really? by perpenso · · Score: 1

      Isn't cheating allowed? Write the original OS in C, then compile, and then work on the resultant assembly code, first on optimizing, and then on adding features?

      Writing C code and playing with the generated assembly might be OK for a day or two's work in learning assembly on a particular architecture. However for any half serious project its probably a terrible way to get started.

      Assembly programming is not about trying to out code generate a compiler. Its about thinking of implementations that are not restricted by the semantics of a particular high level language, of being able to leverage knowledge that can not be given to the compiler, of thinking in terms of the actual hardware architecture.

    37. Re:Really? by Anonymous Coward · · Score: 0

      Try to compile an OS with a C compiler and see if it fits on a floppy...

    38. Re:Really? by ruir · · Score: 1

      Indeed. I had fun writing assembly code that protected the DOs partition and obfuscated the MBR upon boot unless you typed the correct password. Or having fun with mates, intercepting the writing calls to the floppy disk and encoding everything. Here, lets write this floppy disk for you to take some files. Also wrote a virtual floppy disk in RAM. Heck, one of my first assembly programs in the PC was writing an emulation of mouse via keyboard. Gave it to some jackass friends that I do not know why in earth, changed my name to Electronic arts as it was being used to play with Deluxe Paint. My final project coursework was a Spectrum Z80 emulation, and had a companion DOS program that read software on tape via SoundBlaster or the parallel port. http://ruka12.tripod.com/wspec...

    39. Re: Really? by Grishnakh · · Score: 1

      You'll get lousy performance since the translated code isn't written specifically for the new CPU. The whole reason for writing in assembly is to optimize the code for the CPU hardware.

    40. Re:Really? by Anonymous Coward · · Score: 0

      A thing need not be incomprehensible magic to be impractical.

    41. Re:Really? by Ulric · · Score: 1

      Try to compile an OS with a C compiler and see if it fits on a floppy...

      Here's my old "Ulric's Router Construction Kit", a single-floppy Linux distribution. Of course, Linux is an OS compiled with a C compiler. At the time there were a bunch of such mini-distributions, I'm not so sure it would be possible today. http://siag.nu/urck/

    42. Re:Really? by Ihlosi · · Score: 1
      Try to compile an OS with a C compiler and see if it fits on a floppy...

      8", 5.25" or 3.5"?

    43. Re:Really? by Anonymous Coward · · Score: 0

      Hawk or Lark?

    44. Re:Really? by rubycodez · · Score: 1

      I've been doing systems / kernel coding for over three decades on mainframe (what'd you call Z/VM and Z/OS now), VMS, Unix, BSD ....bring it on

    45. Re:Really? by rubycodez · · Score: 1

      I've had to do it for graduate course (on a Vax of all things); I just what to see if AC is blowing smoke

    46. Re:Really? by narcc · · Score: 1

      I used to tutor VAX assembly ages ago. It was a nice system. Be thankful that it wasn't x86.

       

  4. Floppy disk? by Anonymous Coward · · Score: 1

    It fits on a floppy disk? We are in 2015, right? What is a 'floppy disk'?

    1. Re:Floppy disk? by camperdave · · Score: 5, Funny

      It fits on a floppy disk? We are in 2015, right? What is a 'floppy disk'?

      It's an object lesson in using pure assembly. By the time you get anything useful done, technology has moved on.

      --
      When our name is on the back of your car, we're behind you all the way!
    2. Re:Floppy disk? by perpenso · · Score: 4, Interesting

      It's an object lesson in using pure assembly. By the time you get anything useful done, technology has moved on.

      Not really. I have some computational code that I wrote in assembly 4 Pentium architectures ago. Every new architecture I run it against the C implementation, freshly recompiled with a current compiler. The assembly is still faster given all the hardware and compiler improvements. Now the performance improvement is getting much smaller but it is still a win.

    3. Re:Floppy disk? by gnupun · · Score: 1

      Maybe it takes 10 times longer for the 2-3x performance gain. But with decent apps, it could beat Windows, Linux, OS X, BSD etc in the performance game. In case you haven't noticed, operating systems have stagnated... there haven't been major advances in OS X or Windows for over a decade.

    4. Re:Floppy disk? by Lunix+Nutcase · · Score: 3, Insightful

      And you're assembly is probably easy to beat with even pretty crappy SSE2 code.

    5. Re:Floppy disk? by Lunix+Nutcase · · Score: 1, Insightful

      Damnit, yes it was supposed to be *your*. Typed faster than thinking.

    6. Re:Floppy disk? by Anonymous Coward · · Score: 0

      Difficulty: I use assembly so that I can use SSE5 instructions. I know of no other way.

    7. Re:Floppy disk? by Anonymous Coward · · Score: 0

      Since OS X is just BSD/mach, and Windows from NT on is just VMS, it's really been longer.

    8. Re:Floppy disk? by mpercy · · Score: 1

      For me, when I do a any assembly it is writing SSE cores for algorithms. So pretty crappy SSE2 code wouldn't usually beat it.

    9. Re:Floppy disk? by Anonymous Coward · · Score: 0

      Your experience sounds like nearly the opposite of my experience. I have old assembly and c numeric code around. The assembly barely wins if I update it every generation with the latest improvements in SIMD instructions. Otherwise, the unchanged c code wins ever since autovectorization has been implemented decently. These days I've found far more net time is gained from worry about effects from memory access patterns and cache sizes than worrying about particular individual instructions.

    10. Re:Floppy disk? by Lunix+Nutcase · · Score: 1

      The assembly barely wins if I update it every generation with the latest improvements in SIMD instructions.

      Then you're doing something horribly wrong and causing all sorts of stalls in the pipeline.

      Otherwise, the unchanged c code wins ever since autovectorization has been implemented decently.

      Well since autovectorization is still mostly shit this time has yet to arrive. If you think autovectorization is so great, take x264 and compile it with this mythical compiler with all its fancy autovectorization but without any of the assembly optimization. There's no way in hell any compiler is going to beat the hand-written SIMD.

    11. Re:Floppy disk? by rubycodez · · Score: 2

      No NT is not VMS, but common architect and core developers make for many shared concepts: http://windowsitpro.com/window...

    12. Re:Floppy disk? by Lunix+Nutcase · · Score: 1

      but without any of the assembly optimization

      And by this I mean disabling x264's handwritten assembly optimizations.

    13. Re:Floppy disk? by Grishnakh · · Score: 1

      there haven't been major advances in OS X or Windows for over a decade.

      That's because the field has become mature, and there's little improvement to be made. For kernel-level and system-level stuff, all these concepts were mostly invented ages ago. Even the UI stuff was pretty stable by the early 2000s. So now some groups are trying to reinvent the wheel with all-new UI paradigms, as seen with Gnome3 and Windows' Metro UI, usually by trying to tie mobile and desktop UIs together, and the results have been horrifically bad.

      Maturity is something we see in most technological fields: there's a whole lot of innovation early on, then people settle on one or two standard ways of doing things, then they stick with that for a long time, only making very small incremental improvements. Just look at aviation: they invented all kinds of weird-looking aircraft in the first few decades there, but what changes have there been to aircraft in the last 40 years or so? It's all been in the electronics, navigation, etc., not in the aerodynamics. Airplanes look almost exactly like they did 50 years ago, but with some relatively minor optimizations. Same goes for, say, laundry machines. A modern washing machine isn't much different from one 40 years ago, but now it has electronics which allow it to be more efficient with water and power and do a better job washing, but the overall design is pretty much the same, with two basic designs: a vertical-axis tub with an agitator, or a horizontal-axis tub (originally much more popular in Europe, but has gained popularity in the US in the past 15 years).

    14. Re:Floppy disk? by Anonymous Coward · · Score: 0

      There is no SSE5.

    15. Re:Floppy disk? by Anonymous Coward · · Score: 0

      Then you're doing something horribly wrong and causing all sorts of stalls in the pipeline.

      When the autovectorization generates nearly the same assembly code for the vast majority of the actual number crunching being done, how could expect hand written assembly to go any faster? A large amount of the time is spent running instructions that can't stall the pipeline. There is no magic involved, either for the compiler or assembly. The main difference comes down to who does the maintenance for changes in architecture, where you either off load some of that onto the compiler, or you do it all yourself in every case. Otherwise, things like changes in algorithm, minimizing

      And it isn't just me, as a common question new people coming to work here have asked, "Have you tried porting it to X or rewriting it in Y?" We usually let them rewrite computationally intensive parts of the code while getting settled, as it gives them a good introduction to the important parts of the code. Numerous attempts to produce faster assembly have only resulted in a couple percent gain, at the expense of maintainability and portability. The only efforts that have made significant changes in computation times are those that port to something like gpgpu or those that found rather different options for algorithms and memory usage.

    16. Re:Floppy disk? by Lunix+Nutcase · · Score: 1

      Then your software must be only using pretty trivial algorithms. Again, if you think autovectorization is so great, take x264 and disable it's hand-written SIMD and compile it with your compiler of choice. There's no way the compiler will even get within 2x of x264's SIMD.

    17. Re:Floppy disk? by Lunix+Nutcase · · Score: 1

      And to add, if C compilers were good enough at autovectorization there would be no reason for assembly intrinsics to exist nor for compiler/hardware vendors to provide libraries that are highly optimized with assemby for performance. Plain C code should be plenty fine.

    18. Re:Floppy disk? by Anonymous Coward · · Score: 0

      Ask your wife.

    19. Re:Floppy disk? by EmeraldBot · · Score: 1

      It fits on a floppy disk? We are in 2015, right? What is a 'floppy disk'?

      They started writing this back in like 2000, when people still used them. Besides, it's just a hobby project: if they want to write it as a challenge, who cares? Personally, I think it's quite impressive and I commend them for their work.

      --
      "Set a man a fire, he'll be warm for the rest of the night. Set a man afire, he'll be warm for the rest of his life."
    20. Re:Floppy disk? by Anonymous Coward · · Score: 0

      there would be no reason for assembly intrinsics

      Some intrisics make additional assumptions that a compiler cannot know about generic operations, whereas the programmer knows more about what is actually being done. But these are for specific command and operations that are not inherent in C, and you can still end up with C code with occasional additional function calls. YMMV, as some compilers seem to suck at using intrinsics much more so than others.

      for compiler/hardware vendors to provide libraries that are highly optimized with assemby for performance.

      Cost/benefit for a compiler or hardware vendor to make their algorithm a tiny bit faster is rather different than a lot of common end use cases. A lot of computation codes that are prototypes or quickly evolving just don't get enough run time, even on large super computers, to make a couple percent worth chasing for additional programmer time. More stable code that has to work on different systems will also not get as much benefit from optimization for one particular system. However, when writing a library for a large number of end uses, and only worrying about a single or small number of platforms, then you can gain a lot for a time put into it. The end user also then doesn't have to worry about maintaining software and making changes with every processor change (which is necessary in the cases one does really care about a couple percent).

    21. Re:Floppy disk? by Anonymous Coward · · Score: 0

      Then your software must be only using pretty trivial algorithms

      Nonlinear PDE solvers, it is a rather large class of numerics codes out there and often requiring ever more performance for higher dimensional and multi-scale problems that are coming up in computational physics these days.

      Again, if you think autovectorization is so great, take x264 and disable it's hand-written SIMD and compile it with your compiler of choice.

      A lot of the optimizations in something like x264 include operations like psadbw which combine more operations than just vectorization, and sometimes require a prior knowledge of what you are doing that may not be in the C code. The amount of codes that benefit from such operations, and can't use intrinsics (at least on a decent compiler) shrinks quite a lot. And this certainly isn't a counterpoint to the idea expressed above, that writing assembly code and it will last for years while still being the fastest option.

    22. Re:Floppy disk? by Lunix+Nutcase · · Score: 1

      Some intrisics make additional assumptions that a compiler cannot know about generic operations, whereas the programmer knows more about what is actually being done. But these are for specific command and operations that are not inherent in C, and you can still end up with C code with occasional additional function calls. YMMV, as some compilers seem to suck at using intrinsics much more so than others.

      Yes, I know all this. I posted it above. The point, though, is that compilers still suck at SIMD. Otherwise intrinsics wouldn't need to exist in the first place. Intrinsics are mostly there so people can coax the compiler into being less shitty.

    23. Re:Floppy disk? by Anonymous Coward · · Score: 0

      The point, though, is that compilers still suck at SIMD. Otherwise intrinsics wouldn't need to exist in the first place.

      That does not follow. Intrisics includes a whole number of operations and commands that are just not in default C. They would exist event with SIMD, they would also exist regardless how good compilers were at SIMD. There is a big difference between having to use an intrinsic for an operation not in C, and using intrinsics for basic math operations that would otherwise get vectorized in a compiler that doesn't suck.

    24. Re:Floppy disk? by Anonymous Coward · · Score: 0

      AMD chose not to implement SSE5 as originally proposed. In May 2009, AMD replaced SSE5 with three smaller instruction set extensions named as XOP, FMA4, and CVT16, which retain the proposed functionality of SSE5, but encode the instructions differently for better compatibility with Intel's proposed AVX instruction set.

      The three SSE5-derived instruction sets were introduced in the Bulldozer processor core, released in October 2011 on a 32 nm process.[1]

      Close enough for government work.

    25. Re:Floppy disk? by Anonymous Coward · · Score: 0

      They would exist event with SIMD

      Should read: They would exist even without SIMD.

    26. Re:Floppy disk? by sonicmerlin · · Score: 1

      I don't know much about OS's, but I feel that iOS's UI thread priority system was pretty revolutionary. It lets you run an extremely responsive OS on very underpowered hardware.

    27. Re:Floppy disk? by Anonymous Coward · · Score: 0

      AMD has no say or control over the development of SSE because it's an Intel thing.

    28. Re:Floppy disk? by Anonymous Coward · · Score: 0

      This one's not. But nice try.

      The SSE5 (short for Streaming SIMD Extensions version 5) was an instruction set extension proposed by AMD on 30 August 2007 as a supplement to the 128-bit SSE core instructions in the AMD64 architecture.

      Sorry. Try again?

      AMD's SSE5 extension bundle does not include the full set of Intel's SSE4 instructions, making it a competitor to SSE4 rather than a successor.

      See, the parent said SSE5, not SSE4. SSE4 == Intel. SSE5 == AMD.

    29. Re:Floppy disk? by Khyber · · Score: 1

      http://en.wikipedia.org/wiki/S...

      Well, not BY NAME. But it does exist.

      --
      Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
    30. Re:Floppy disk? by Anonymous Coward · · Score: 0

      It fits on a floppy but its 64 bit so not compatible with my 17 year old laptop. Guess I'll stick with FreeDOS to play my mp3s.

    31. Re:Floppy disk? by Anonymous Coward · · Score: 0

      SSE are Intel instructions, dumbass. If AMD wants to develop their own, they can revive 3DNow or whatever the fuck it was.

      Then again, you probably weren't even born when all of this stuff came around so you wouldn't know, kid.

  5. So give it another 15 years... by 93+Escort+Wagon · · Score: 4, Funny

    And they'll have something that'd be marginally useable today.

    --
    #DeleteChrome
    1. Re:So give it another 15 years... by fustakrakich · · Score: 1

      If it can run Doom, what else do you need? I guess we can call it 'DoomOS'

      --
      “He’s not deformed, he’s just drunk!”
    2. Re:So give it another 15 years... by Daniel+Hoffmann · · Score: 4, Funny

      Well if it ran Emacs it would be able to do anything anyone could possibly want.

    3. Re:So give it another 15 years... by zieroh · · Score: 5, Funny

      Except edit text.

      --
      People who say "sheeple" have about as much sophistication as an AOL user, and in fact are probably actually AOL users.
    4. Re:So give it another 15 years... by Anonymous Coward · · Score: 1

      I'm sure you could find a way to run vim in emacs.

    5. Re:So give it another 15 years... by Rockoon · · Score: 1

      Emacs doesnt fit on a floppy.

      --
      "His name was James Damore."
    6. Re:So give it another 15 years... by gwolf · · Score: 1

      The real test for computability is to demonstrate that a Turing machine is Emacs-complete.

      Sadly, it still requires a chord-enabled keyboard, which the traditional tape-based Turing machine does not implement.

    7. Re:So give it another 15 years... by Anonymous Coward · · Score: 1

      Except edit text.

      That's what vi is for.

    8. Re:So give it another 15 years... by belthize · · Score: 3, Funny

      If you use a small enough font it will.

    9. Re:So give it another 15 years... by Anonymous Coward · · Score: 0

      So which comes first, the conversion from Linux kernel to Hurd in all distributions, or the MenuetOS gaining fully address space randomization? Bets taken now.

    10. Re:So give it another 15 years... by Em+Adespoton · · Score: 1

      Well if it ran Emacs it would be able to do anything anyone could possibly want.

      If it runs emacs, does it contain some sort of hypervisor?

      What would be more interesting is getting EMACS to boot off bare metal, and be recompiled in pure asm. Let's see vi do THAT!

  6. It can run Doom by Spy+Handler · · Score: 2

    and their website looks like it's from 1995 as well!

    1. Re:It can run Doom by perpenso · · Score: 5, Funny

      and their website looks like it's from 1995 as well!

      So its not bloated and it is fast too? Seems appropriate. :-)

    2. Re:It can run Doom by Lunix+Nutcase · · Score: 1

      For a page so spartan, it shouldn't have needed 3 seconds to load on a 100mbit connection.

    3. Re:It can run Doom by perpenso · · Score: 1

      For a page so spartan, it shouldn't have needed 3 seconds to load on a 100mbit connection.

      Well it is hosting its own web page and running on a Pentium MMX 200. :-)

    4. Re:It can run Doom by smooth+wombat · · Score: 5, Insightful

      Finally, a web site which doesn't try to overrun your browser with unnecessary rotating images and the latest and greatest shiny because some web designer said, "Why not?"

      In other words, a web site which is useful.

      --
      We will bankrupt ourselves in the vain search for absolute security. -- Dwight D. Eisenhower
    5. Re:It can run Doom by Lunix+Nutcase · · Score: 1

      And yet Slashdot loads faster even with all its shit coding.

    6. Re:It can run Doom by EmeraldBot · · Score: 1

      And yet Slashdot loads faster even with all its shit coding.

      Slashdot is not running off someone's spare Pentium box clocking in at 200 MHz.

      Not anymore.

      --
      "Set a man a fire, he'll be warm for the rest of the night. Set a man afire, he'll be warm for the rest of his life."
    7. Re:It can run Doom by Dogtanian · · Score: 1

      and their website looks like it's from 1995 as well!

      Finally, a web site which doesn't try to overrun your browser with unnecessary rotating images and the latest and greatest shiny because some web designer said, "Why not?"

      Which is ironic, because even in the mid-90s (i.e. almost as soon as the web had become popular), people were already slapping crappy, pixelated pre-rendered GIF animations of all manner of spinning crap onto their "home pages"!

      Please see this historical documentary of the phenomenon.

      --
      "Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
    8. Re:It can run Doom by RavenLrD20k · · Score: 1

      You mean to tell me that a site hosted on a Pentium MMX 200 can make it to 180+ comments on /.'s front page and not turn itself into a molten glob of burning white hot metal? If they're running their site on MenuetOS, I'm sold!

    9. Re:It can run Doom by zieroh · · Score: 3, Insightful

      and their website looks like it's from 1995 as well!

      So its not bloated and it is fast too? Seems appropriate. :-)

      I can state with authority that in 1995, there were exactly zero fast websites. Of this I am 100% certain.

      --
      People who say "sheeple" have about as much sophistication as an AOL user, and in fact are probably actually AOL users.
    10. Re:It can run Doom by itzly · · Score: 1

      It doesn't take much CPU power to saturate 100Mbps with static pages.

    11. Re: It can run Doom by rickb928 · · Score: 1

      Really? I was reaching fast web sites in 1995.

      --
      deleting the extra space after periods so i can stay relevant, yeah.
    12. Re:It can run Doom by Anonymous Coward · · Score: 0

      I don't know.... with one bit every10 seconds.....

    13. Re:It can run Doom by NormalVisual · · Score: 1

      Which is ironic, because even in the mid-90s (i.e. almost as soon as the web had become popular), people were already slapping crappy, pixelated pre-rendered GIF animations of all manner of spinning crap onto their "home pages"!

      Don't forget the flashing text, too!

      --
      Please stand clear of the doors, por favor mantenganse alejado de las puertas
    14. Re:It can run Doom by Anonymous Coward · · Score: 0

      But probably not hosted on it's own OS. Irony.

    15. Re:It can run Doom by goarilla · · Score: 1

      Yes, Marque and blink tags all around, with a pink background and hosted on geocities' or angelfire servers.

  7. Looks great for industrial by spiritplumber · · Score: 2

    if the timing is that tight, it would allow using secondhand PCs instead of ladder logic controllers.

    --
    Liberty - Security - Laziness - Pick any two.
    1. Re:Looks great for industrial by perpenso · · Score: 1

      if the timing is that tight, it would allow using secondhand PCs instead of ladder logic controllers.

      Think high performance computing too . An entire OS that takes a small fraction of the CPU Cache.

    2. Re:Looks great for industrial by phantomfive · · Score: 1

      A ladder logic controller costs $100. I can't imagine going through the troubleshooting of broken components on second-hand PCs only to save $100.

      --
      "First they came for the slanderers and i said nothing."
    3. Re:Looks great for industrial by itzly · · Score: 5, Insightful

      Or a $10 ARM chip, programmed in C.

    4. Re:Looks great for industrial by itzly · · Score: 1

      Doesn't help if you spend 99.9% of the time in user space, dealing with TBs of data on a disk.

    5. Re:Looks great for industrial by Anonymous Coward · · Score: 0

      the thing about "ladder logic controllers" as you put it is that they run a real-time operating system. afaict, menuetos is not a real-time OS. the reason PLCs (programmable logic controllers) need the real-time OS is due to their analog and discrete inputs and outputs, real-time calculations that need to be run on schedules to ensure precise data written to logs, etc. they need to be precisely timed in a lot of cases

    6. Re:Looks great for industrial by Anonymous Coward · · Score: 0

      Especially not for anything safety sensitive unless you like killing ppl and getting sued. BTW you can run plenty of other RTOS's on x86 including RTLinux but the ability of the BIOS to preempt the OS pretty much ruins the platform for hard RTOS which is why pretty much nobody uses PCs for hard RTOS.

    7. Re:Looks great for industrial by tibit · · Score: 1

      Given that Beckhoff's TwinCAT 2 and 3 - both free downloads - allow just that, and much more, I don't really see the point. Heck, anything that uses the realtime CODESYS stack allows you to do that, it's just that I know of TwinCAT. All those old Dell machines you may have hanging around can be great PLCs. Heck, the PLC (61131) libraries include functions that access hardware ports directly from realtime code, so you can bit-bang your parallel port with 1-2 microsecond jitter, if you wish so.

      Best thing? It runs on top of standard Windows (XP or 7).

      IOW, if you value your time, you won't care about such hacks. If you really want to run 61131 languages on bare metal, just get your CODESYS license, use an existing BSP or write your own, and you'll be set.

      --
      A successful API design takes a mixture of software design and pedagogy.
    8. Re:Looks great for industrial by tibit · · Score: 1

      There's more that I forgot to add: there are tons of EtherCat-based I/O available for cheap on eBay, so as long as your old Dell box has an Intel ethernet adapter, or you add one to it, you can have distributed, hard-realtime, fast I/O all over the place - no need for stupid parallel port bits if you can buy a bus coupler and dozens of I/O modules for under $100. And you can easily do realtime distributed variables between your hosts, if you have more than one host, etc. And it's all cheap.

      --
      A successful API design takes a mixture of software design and pedagogy.
    9. Re:Looks great for industrial by tibit · · Score: 1

      nobody uses PCs for hard RTOS

      There are synchronized spindle paper machines/offset printers, running on top of Windows and CODESYS, where if the realtime cycle is late twice in a row, the whole thing throws the emergency brakes on, and you have lots of cleaning-up to do, and costly downtime. And, frankly said, it just doesn't happen, not because of the BIOS or any other monsters are in your closet. So there.

      --
      A successful API design takes a mixture of software design and pedagogy.
    10. Re:Looks great for industrial by itzly · · Score: 1

      Rotating spindles may be real time, but probably not very fast, meaning that you have plenty of slack.

    11. Re:Looks great for industrial by Anonymous Coward · · Score: 0

      The problem isn't raw performance, it's that modern motherboards uses NMI's for dong all sorts of useless stuff, causing jitter. You have plenty of time to do what you want, unfortunately you can't do it when you need it. This means that you can run a CNC mill on a 15 year old computer but it will mess up completely on a modern one unless you add dedicated hardware to deal with the realtime stuff.

    12. Re:Looks great for industrial by Anonymous Coward · · Score: 0

      Safety hardware needs to be approved, it doesn't matter what sort of RTOS you have. Unless it's approved for that use it is not safe in legal way. But that's why you can use a PC for the operation of the machine and have an external safety PLC for the safety stuff like E-Stop buttons and gates and such.

      And plenty of PLC manufacturers have PC based PLC systems, even with safety. They run their own hard realtime kernel alongside the operating system and that kernel manages the time the normal OS gets for for example HMI etc.

    13. Re:Looks great for industrial by Anonymous Coward · · Score: 0

      PLC manufacturers offer industrial PCs for that sort of thing. I wouldn't trust just any PC hardware to be able to handle the most hard hard real time stuff. You need to know the system for that. 99,9% of industrial stuff isn't like that though. You don't need microsecond cycle times mostly, not even 1ms cycles.

    14. Re:Looks great for industrial by Khyber · · Score: 1

      "afaict, menuetos is not a real-time OS"

      If you can't be bothered to read the first sentence off the MenuetOS main page, you're retarded.

      "MenuetOS is a pre-emptive, real-time and multiprocessor Operating System in development for the PC written entirely in 32/64 bit assembly language."

      --
      Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
    15. Re:Looks great for industrial by tibit · · Score: 1

      I do it on modern hardware, in production, on a 125us update cycle in the velocity loop, using off-the-shelf everything and old Dell PCs for prototyping, and it works, so perhaps you're doing something wrong.

      --
      A successful API design takes a mixture of software design and pedagogy.
  8. Not Open by Zontar+The+Mindless · · Score: 3, Insightful

    http://www.menuetos.net/m64l.t...

    I might play with it, but if I can't use it for work, play is all it'll be.

    --
    Il n'y a pas de Planet B.
    1. Re:Not Open by quantaman · · Score: 2

      http://www.menuetos.net/m64l.t...

      I might play with it, but if I can't use it for work, play is all it'll be.

      I wonder what commercial uses they're thinking of.

      Presumably they're thinking of some super-low footprint embedded devices, but still this seems like a lot more of a fun project than a viable product.

      --
      I stole this Sig
    2. Re:Not Open by jones_supa · · Score: 4, Informative

      Not Open

      Yeah, KolibriOS is an open fork of MenuetOS. It was forked when Menuet was still open source. Although Kolibri hasn't been updated for almost a year.

      Not sure why they want to keep the genie in the bottle. Open source would be perfect for this kind of hobby project.

    3. Re:Not Open by sexconker · · Score: 2

      But corporations are people, so...

    4. Re:Not Open by grimmjeeper · · Score: 1

      So is processing power.

    5. Re:Not Open by Anonymous Coward · · Score: 0

      I don't think memory is a concern. Speed is.

    6. Re:Not Open by grimmjeeper · · Score: 1

      And that's an issue with modern processors... how?

    7. Re:Not Open by bluefoxlucid · · Score: 4, Insightful

      The problem with this thinking is memory is not cheap. Memory has grown, and program memory usage has grown linearly with memory, or greater. The problem is when you run two programs at once: the combined working set is bigger than RAM, and has grown linearly as well. Where you may have had 32MB of RAM and 48MB swapping on and off disk, now you have 16GB of RAM and you're swapping around 10GB of data; but swapping is not now 500 times faster, and so the bloat has slowed the machine.

      The growth of the working set means the growth of memory controller latency, the need for RAS and CAS selects on different rows requiring precharges taking up 200 FSB cycles on CPUs which now have multipliers of 10 or 15 instead of 1.5 or 2. Random memory access may now have delays of 3000 cycles, causing an instruction requiring 4 cycles to execute to now take 750 times as long; your typical CAS selection may in fact require 7, 10, even 21 cycles now, multiplied by 10 or 15, so as to take 300 cycles of stall. Modern CPUs are made and broken by their CPU cache efficiency and their predictive execution, and multi-tasking flushes those caches and destroys performance.

      Computers have grown to manage immense spans of cheap resources, yet they have not increased their capability to manage resources nearly as fast as they have increased those resources.

    8. Re:Not Open by bluefoxlucid · · Score: 5, Interesting

      I wonder what use they're thinking at all. Minix 3 is a step forward: were we to port Linux interfaces for udev, kevents, and such onto Minix, we could drop a Linux userland onto it wholesale, with systemd and all, and benefit from a core operating system which lends itself to drastic rearchitecting.

      Consider that running Minix as an OS-level virtualizer--OpenVZ, LXC--is a trivial task, one which requires only providing a different network server and different security features (e.g. users and groups, and their flow through the file system driver and such), largely doable on the existing code base. You could even run Xen on top of Minix with a minor tweak.

      Consider that Minix is a collection of services which may be extended by adding other services. It is interfaces and features, not tightly-bonded kernel code. The shape and form of the OS can be changed without commitment: to add services to handle Linux services is not to change Minix, for you may simply not use those services; you could instead add services to make Minix pretend to be OpenBSD. You could replace its threading model or scheduler by swapping out a service, providing a system that uses the advanced features of DragonflyBSD.

      There, again, we see a step forward: DragonflyBSD, with its non-locking semaphores, its highly-efficient threading model, its ability to freeze an application and thaw it after a reboot, to checkpoint running applications--a feature Minix does not possess, but could simply by adding a new kernel service--and even to move applications between machines. Extending some of these things would be to bring the features of OpenMOSIX: check pointing and running an application on a different boot cycle or different machine brings the magic of scheduling applications across a cluster of machines acting as one.

      Why, then, do we persist in creating these tinker toys, instead of extending, cannibalizing, or imitating those things which show real progress? Why has Minix not embraced the great strides forward made by Linux and integrated its interfaces so as to integrate its user space in distribution? Why has Linux not subsumed the threading model of Dragonfly BSD? Why has someone chosen to create an OS to no purpose, rather than to create a unified system carrying and integrating the lessons from all prior systems?

    9. Re:Not Open by phantomfive · · Score: 0

      It is open source. It comes under a non-commercial license, but the code is all there.

      --
      "First they came for the slanderers and i said nothing."
    10. Re: Not Open by Anonymous Coward · · Score: 0

      To be fair the project started a decade ago.

    11. Re:Not Open by Anonymous Coward · · Score: 0

      Well I can. You get what you pay for.
      I'd guess, you'd get some kind of support with that, and that it would actually work (i.e. have some form of warranty which more than a "distributed as is" take it leave it OS).

    12. Re:Not Open by gnupun · · Score: 1

      Memory is too cheap to write stuff in assembler.

      But every time RAM capacity increases and CPU speed increases, the OS gets more bloated and your apps' performance has only marginally increased in 5 years. Hardware improvements should go to the apps, and not get eaten by the OS.

    13. Re:Not Open by jones_supa · · Score: 1

      Where?

    14. Re:Not Open by itzly · · Score: 1

      Memory has grown, and program memory usage has grown linearly with memory, or greater.

      Because people want more features, not because they were written in a higher language.

      now you have 16GB of RAM and you're swapping around 10GB of data; but swapping is not now 500 times faster, and so the bloat has slowed the machine.

      I have 8GB of RAM in my PC, and 2GB of swap, none of which is currently used. And compared to my 486 with 16MB, everything is a lot faster, despite the bloat.

    15. Re:Not Open by rubycodez · · Score: 1

      It's not free software (as in freedom)

    16. Re: Not Open by grimmjeeper · · Score: 1

      Back in the days of the Pentium 3 or 4. Again, I ask what speed concern would you have with one of those processors? I mean, sure, if you were dealing with an 8086 or something like that speed is an issue. But most tasks run just fine on a Pentium grade processor so long as you don't have a GUI filled with bloat.

    17. Re:Not Open by phantomfive · · Score: 0

      On the download page (hidden deeply behind a maze of links). I haven't found the 64 bit OS though, so maybe it's not open?

      TBH the source code doesn't look very good to me.

      --
      "First they came for the slanderers and i said nothing."
    18. Re:Not Open by itzly · · Score: 1

      I don't know what you're doing, but I rarely see the OS use more than 1% of the CPU.

    19. Re:Not Open by bluefoxlucid · · Score: 1

      I have like 24GB on my computer and it runs a VM consuming some 2GB of RAM. I had 16GB, but was always 900-1400MB into swap. At times, my computer would hang for 20 minutes, until Linux kicked in the OOM killer; it would swap like fuck in the interim. Modern web browsers are kind of asinine; run Chrome and let Flash play a video on a news site or YouTube or whatnot, and you'll find that the Flash Player Plug-In thread runs in 200MB of RAM, and then 600, and then over a gigabyte eventually; meanwhile something like Facebook can eat 300-500MB on its own. Firefox somehow consumes several gigabytes. Often my e-mail client is bigger than the fucking VM.

    20. Re:Not Open by phantomfive · · Score: 1

      I wonder what use they're thinking at all.

      They see it as a highly efficient, waste-no-resources OS. Check out the memory footprint of Linux sometime.

      Also, there are so many people building their own OS that there's a wiki devoted to it. It's fun.

      --
      "First they came for the slanderers and i said nothing."
    21. Re:Not Open by Desiree+Hindenburg · · Score: 1

      Well if the entire OS is written in honest assembly (not some kind of macro-assembler), then the OS is the code, just run it through a disassembler. LOL

    22. Re:Not Open by itzly · · Score: 1

      But yet, you aren't using MenuetOS instead. And that's because it doesn't support the features you care about. And if somebody were to add all those features, it would take many years, and you'd end up with the same shit, plus some more bugs and memory leaks.

    23. Re:Not Open by bluefoxlucid · · Score: 1

      My applications eat all of that; if I were to use a different OS, I'd still have Thunderbird on top of it eating gigabytes of RAM, and Chrome or Firefox eating gigabytes of RAM. Linux eats 2MB of my RAM, and the rest of the hundreds of MB it eats are for managing all of the shit applications need--the kernel is keeping small bits of data around, a few hundred bytes to describe each task or thread, a few dozen bytes to describe cached disk pages, and so forth. Any OS will need to do all that, and the application will be the same.

    24. Re:Not Open by tibit · · Score: 1

      There are other problems in the architecture of this, where the fact that they use assembly simply doesn't help. When you're talking of speed and power efficiency, you need a good scheduler, timer coalescence, event-driven non-blocking code, etc. Having a judiciously done architecture in C could make it much faster than Menuet is. The assembly circlejerk doesn't make much sense, at least not to me when I write low-level, bare-metal C almost every day. You could generate almost identical assembly from a modern C compiler - it's all about architecting the same. I only write assembly when there's no way to coax a C compiler into producing the code that's fast enough, and even that only makes sense for backwards architectures that have old C compilers.

      --
      A successful API design takes a mixture of software design and pedagogy.
    25. Re:Not Open by bluefoxlucid · · Score: 4, Interesting

      Check out the memory footprint of Linux sometime.

      Two megabytes. Four, really, when using a single 4MB huge page to allocate the entire kernel in one go. A few bytes to maintain each task's information, each cached disk page, each handle held by an application.

      Linux uses so little memory you can run it on a microcontroller with a megabyte of RAM. When you build up all the services needed to supply network management, graphical systems, user log-on, audio mixing, and so forth, you get maybe 100MB. When you then run a Web browser and go to a few open tabs, you need a gigabyte or three.

    26. Re:Not Open by tibit · · Score: 4, Informative

      That's the whole point. It's not open source. The 32 bit kernel is old and not developed anymore.

      --
      A successful API design takes a mixture of software design and pedagogy.
    27. Re:Not Open by itzly · · Score: 1

      Yes, so we agree there's no point of writing the OS in assembly. And nobody in their right mind is going to write a modern standards compliant web browser in assembly. And it wouldn't even help, because it would still have to run bloated javascript.

    28. Re:Not Open by Anonymous Coward · · Score: 0

      Open source would be perfect for this kind of hobby project.

      Looks like you're right. I just fired them both up in a VM and (after an admittedly quick look) Kolibri seems to be way ahead.

    29. Re:Not Open by itzly · · Score: 1

      Exactly. And when you have a big filesystem implementation in assembler, and you notice it's kinda slow because of some linear searches, you won't be tempted to rip out all the linear stuff, and replace it with a faster B-tree implementation, because it's too much work. Whereas in C, that would be a lot easier to do.

    30. Re:Not Open by Anonymous Coward · · Score: 0

      Just out of curiosity, why use swap at all with your setup? If you know your memory usage patterns won't exceed your available RAM there is no benefit to having it enabled.

    31. Re:Not Open by pghmike4 · · Score: 1

      How much memory are you saving by writing in assembly? Pretty close to none, since all you're saving is the text (code) segment space, even assuming you write code better in ASM than C++. For all intents and purposes, all of your memory is data, not code.

    32. Re: Not Open by EmeraldBot · · Score: 1

      Back in the days of the Pentium 3 or 4. Again, I ask what speed concern would you have with one of those processors? I mean, sure, if you were dealing with an 8086 or something like that speed is an issue. But most tasks run just fine on a Pentium grade processor so long as you don't have a GUI filled with bloat.

      One, they explicitly wanted the ability to use a GUI along with the ability to do things like watch movies and browse the internet. Linux is not going to cut it here.

      Two, it's a pet hobby. Next time you make a model airplane, I'll be sure to point out that it's a waste of time because it will never actually fly.

      --
      "Set a man a fire, he'll be warm for the rest of the night. Set a man afire, he'll be warm for the rest of his life."
    33. Re:Not Open by RavenLrD20k · · Score: 1

      If he uses Hibernation either a swap partition or a swap file (if you have uswsusp installed) is a requirement. The reason it's usually recommended that swap partitions are to be at least as big as your RAM (more often I hear twice as large as available RAM) is so that when the system is being placed into hibernation, the entire contents and state of RAM can be written to disk before the system powers down.

    34. Re:Not Open by Anonymous Coward · · Score: 0

      Resource reduction is a bit of a hen and egg situation. If you have ten things, equally bloated, fixing just one of them isn't going to do much.
      The thing is that for every part you optimize the benefit of optimizing the others increases.

    35. Re:Not Open by Anonymous Coward · · Score: 0

      Freedom tends to be oddly defined when talking about software.

    36. Re: Not Open by Anonymous Coward · · Score: 0

      Back in the days of the Pentium 3 or 4. Again, I ask what speed concern would you have with one of those processors? I mean, sure, if you were dealing with an 8086 or something like that speed is an issue. But most tasks run just fine on a Pentium grade processor so long as you don't have a GUI filled with bloat.

      The /. readership is no longer geeks who implement stuff for fun and to learn as evidenced by the quoted statement. There was a time when programming something you saw somewhere else was done to understand how to do it and how it actually works and for the pure joy of the activity. The damn millennial generation are not geesk, they're SJWers. They'd squeal like little schoolgirls if they had to use a Commodore Amiga and a 1200 baud dial-up MODEM and had to write their own terminal emulator to access a BBS.

    37. Re:Not Open by Anonymous Coward · · Score: 0

      "Why has Minix not embraced the great strides forward made by Linux"

      IDK, did Torvalds and Tanenbaum ever kiss and make up?

    38. Re:Not Open by Anonymous Coward · · Score: 0

      I cannot find link for 64bit kernel source.

    39. Re:Not Open by Khyber · · Score: 1

      "And nobody in their right mind is going to write a modern standards compliant web browser in assembly."

      Better look again. Kolibri has one and it works just fine last I checked.

      "And it wouldn't even help, because it would still have to run bloated javascript."

      Yea, no. Works just fine on my auction website. No Javascript needed.

      You talk but you don't seem to have the experience.

      --
      Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
    40. Re:Not Open by Anonymous Coward · · Score: 0

      You're pessimistic. Our GPS navigation devices ran a GPRS (IPv4) network stack, a GUI, an audio subsystem and the whole navigation itself in 32 MB total - no swap.

      The memory killer is any kind of virtual machine. Whether it's Javascript or Java, .Net or VMWare, memory requirements soon balloon.

  9. Huh? by Anonymous Coward · · Score: 0

    What's a floppy?

    1. Re:Huh? by Tablizer · · Score: 1

      It's what you call your @#&% when you get old.

  10. Uh by Anonymous Coward · · Score: 0

    So, they're re-writing DOS?

    1. Re:Uh by Anonymous Coward · · Score: 1

      It's not based on DOS architecture or any other operating system.

    2. Re:Uh by Anonymous Coward · · Score: 0

      "It's not based on DOS architecture or any other operating system."

      That is a false statement. There is nothing new in the architecture that is being used.

  11. 30 seconds of music from iTunes. by perpenso · · Score: 5, Funny

    It fits on a floppy disk? We are in 2015, right? What is a 'floppy disk'?

    Its a unit of storage space measurement equivalent to about 30 seconds of music from iTunes.

    1. Re:30 seconds of music from iTunes. by ArmoredDragon · · Score: 1

      You forgot to convert it to MIDI first, which any good hacker can do.

    2. Re:30 seconds of music from iTunes. by future+assassin · · Score: 3, Funny

      Its a disk invented by AOL and promoted by them with free internet offer on the disk.

      --
      by TheSpoom (715771) Uncaring Linux user here. I have nothing to add to this but please continue. *munches popcorn*
    3. Re:30 seconds of music from iTunes. by Anonymous Coward · · Score: 0

      I need that in Libraries of Congress please. Some of us are scientists.

    4. Re:30 seconds of music from iTunes. by Anonymous Coward · · Score: 0

      I need that in Libraries of Congress please. Some of us are scientists.

      But the US Library of Congress is using Imperial pages not metric pages, I think scientists have moved to ISO A4 sheets of paper so a different library must now be used for reference.

    5. Re:30 seconds of music from iTunes. by Anonymous Coward · · Score: 3, Funny

      Definition of a "good" hacker; One who knows how to convert Jimi Hendrix to MIDI format, but doesn't.

    6. Re:30 seconds of music from iTunes. by Greystripe · · Score: 1

      Approximately 1/7millionths of a Library of Congress.

    7. Re:30 seconds of music from iTunes. by Anonymous Coward · · Score: 0

      That's not a hacker, that's a musician. Hackers don't know the first thing about composing music.

    8. Re:30 seconds of music from iTunes. by Anonymous Coward · · Score: 0

      I'm thinking "demoscene hacker," to whom music is just a list of instructions!

    9. Re:30 seconds of music from iTunes. by Anonymous Coward · · Score: 0

      Surely you mean a tracker format rather than pure MIDI, e.g. XM or IT or S3M.

  12. What next? by Anonymous Coward · · Score: 5, Funny

    Now that they've got this thing working, what would be really cool is if they could come up with a way of getting it to run on different processor architectures, in case x86 loses out to ARM in the long run.

    I'm thinking maybe they could write some sort of abstraction layer whereby the instructions are originally written in some sort of higher level format, which could then be automatically turned into machine code for different hardware using a special program. You could do all sorts of things with that kind of system. I'm surprised nobody's thought of it before, actually.

    1. Re:What next? by grimmjeeper · · Score: 4, Funny

      Now that they've got this thing working, what would be really cool is if they could come up with a way of getting it to run on different processor architectures, in case x86 loses out to ARM in the long run.

      All they have to do is translate the part of the OS written in x86 assembler...

    2. Re:What next? by home-electro.com · · Score: 1

      You mean, start over and rewrite everything they've done so far in ARM assembler?

    3. Re:What next? by Anonymous Coward · · Score: 0

      Too bad you need a team of full-time professional M.Sc. level software engineers to implement anything like that.

    4. Re:What next? by Lunix+Nutcase · · Score: 1

      Did you bother reading the whole post? Apparently not since the joke whooshed over your head.

    5. Re:What next? by lister+king+of+smeg · · Score: 1

      You mean, start over and rewrite everything they've done so far in ARM assembler?

      I wonder if you could do something like have LLVM Clang compile it to byte-code and compile the byte-code to ARM binaries?...

      --
      ---Saying gnome 3 is better than windows 8 not so much a compliment as it is damning with light praise.
    6. Re:What next? by rubycodez · · Score: 1

      and if they use keypunch it'll fit on a punched card

    7. Re:What next? by suutar · · Score: 2

      I'm not sure he's the one who got whooshed :)

    8. Re:What next? by grimmjeeper · · Score: 1

      I suggest you make your joke funnier so you don't get heckled the second time. ;)

    9. Re:What next? by Anonymous Coward · · Score: 0

      Is this a troll or just ignorant?

    10. Re:What next? by canadiannomad · · Score: 1

      I was thinking it would be cool to just write it all in LLVM's Intermediate Representation(IR) Language... Extremely low level, and could be optimized and converted to machine code for different architectures directly.

      --
      Hmm, the humour and sarcasm seem to have been be lost on you.
    11. Re:What next? by Anonymous Coward · · Score: 0

      This is a prime candidate to be rewritten in Java.

    12. Re:What next? by Anonymous Coward · · Score: 0

      OK, suppose a hardware driver refers to some memory address to do I/O. Some particular address. Then you run that through your translator. Yes, the verbs (instructions) and certain types of nouns (relative addresses) can be translated to their equivalents, but what about the other thing? Translator knows the *address* but not what its *meaning* is.

      See also: translation of human languages.

    13. Re:What next? by Anonymous Coward · · Score: 0

      Actually I didn't get the joke at all...

        Here, have my geek card, I know I don't deserve it anymore!

  13. Temple OS by rfengr · · Score: 0

    Meh, how about Temple OS? http://motherboard.vice.com/re...

  14. VENOM bug exploits floppy drivers in KVM, etc. by billstewart · · Score: 1

    A Floppy Disk is that device you almost never bother using, but which gets added to your virtual machines by default, at least under VMware (haven't paid attention on OpenStack.) The recently-discovered VENOM vulnerability exploits bugs in the floppy drivers, which have been around for a decade, to let a process on a virtual machine break out into the hypervisor and maybe mess with other virtual machines.

    So it's especially timely to have a convenient new platform for using floppies!

    --

    Bill Stewart
    New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
  15. So by Anonymous Coward · · Score: 0

    What's a floppy disk??

  16. Use for embedded projects. by Anonymous Coward · · Score: 0

    I'd love to use a quick booting high speed OS for embedded projects. Raspberry PI is cool, but takes way to long to boot for my embedded needs.

    1. Re:Use for embedded projects. by Anonymous Coward · · Score: 0

      Raspberry Pi can boot pretty quickly if you don't use vanilla Linux.

  17. Remarkable by home-electro.com · · Score: 1

    Remarkable, in the same way that hand made Swiss watches are remarkable. Really awesome, but pointless at the same time.

    1. Re:Remarkable by Virtucon · · Score: 1

      Really? I'll remember that when people's IWatches are breaking and my old Rolex and Omegas keep ticking. Just because something may not be as technically advanced as something else doesn't mean it's obsolete.

      --
      Harrison's Postulate - "For every action there is an equal and opposite criticism"
    2. Re:Remarkable by home-electro.com · · Score: 1

      Simple electronic Casio is basically eternal and much more precise than your Omega. Omega is not even that awesome, I was referring to like Patek Philippe. I can buy new watch every month for the rest of my life for the price of one of those.

    3. Re:Remarkable by Virtucon · · Score: 1

      The Patek is nice but you'll get your wrist sliced off wearing it on the subway. ;-)

      --
      Harrison's Postulate - "For every action there is an equal and opposite criticism"
    4. Re:Remarkable by manquer · · Score: 1

      If you owned a Patek, you won't be riding the subway in the first place :P

    5. Re:Remarkable by Anonymous Coward · · Score: 0

      If you owned a Patek, you won't be riding the subway in the first place :P

      I wouldn't own a Patek, MB&F is more my style. :-)

    6. Re:Remarkable by Virtucon · · Score: 1

      hey, even rich people have some place to be.

      --
      Harrison's Postulate - "For every action there is an equal and opposite criticism"
    7. Re:Remarkable by Khyber · · Score: 1

      That's what a chauffeur is for.

      --
      Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
    8. Re: Remarkable by Anonymous Coward · · Score: 0

      Why would you need a chauffer on a subway?

  18. Nostalgia by Tablizer · · Score: 1

    Fixed-pitch fonts, I miss those. They made UI development so much easier because the sizing was far more predictable than variable pitched fonts.

    True, it's esthetically ugly, but when you want small, quick, and cheap; it's the way to go.

    1. Re:Nostalgia by flargleblarg · · Score: 1

      Fixed-pitch fonts, I miss those. They made UI development so much easier because the sizing was far more predictable than variable pitched fonts.

      Not if you have to support translation of your UI to other languages. :)

    2. Re:Nostalgia by Tablizer · · Score: 1

      In that case, you would be using the wrong tool for the job.

  19. Disappointing by bugs2squash · · Score: 2

    Assuming it is much faster than an equivalent system written in, say , C. I find it disappointing that hand crafted assembler should be so much faster than what compiler optimizations can achieve.

    --
    Nullius in verba
    1. Re:Disappointing by Anonymous Coward · · Score: 0

      It's been a long time since I was able to "out-code" a C compiler. Used to be it was easy but the compilers are pretty darn smart now. Anyway, I don't think think this is the "speed" they are talking about. I think they are talking about how fast and predictable the interrupt handling and context-switching is. Doesn't make much sense to use assembler in other areas of the OS. Perhaps assembler might be useful for handling the MMU and some atomic constructs but generally it isn't that useful.

    2. Re:Disappointing by Anonymous Coward · · Score: 2, Insightful

      Never wrote any DSP code have you? It's trivially easy to beat compiler optimizations even with naive SIMD assembly.

    3. Re:Disappointing by Anonymous Coward · · Score: 0

      Given that this code runs at zero speed on ARM, MIPS, RISC V, Spark, PowerPC, and many others, i.e. not at all. I would say the performance of C is pretty good by comparison.

    4. Re:Disappointing by Lunix+Nutcase · · Score: 1

      It's been a long time since I was able to "out-code" a C compiler.

      Do anything requiring SIMD to have any decent performance. Then it's pretty easy to beat C compilers since they are all pretty shit at vectorization. And thats even when following the arcane requirements of each compiler that the vendor says improves the chances that auto-vectorization can work which mostly don't work for anything more than trivial algorithms.

    5. Re:Disappointing by Tablizer · · Score: 1

      Maybe a C version could be as fast, but not as compact, per EXE size. Perhaps a compiler may "waste" some space as a trade-off for speed, whereas human-tuned assembler can more easily optimize both space and speed.

    6. Re:Disappointing by itzly · · Score: 1

      It's mostly faster because they left out all the things that were too hard in assembly.

    7. Re:Disappointing by tibit · · Score: 2

      It's not, and it doesn't run on tiny systems either. It requires ~300MB of RAM just to boot up. It's basically a hack done to stroke someone's fancy. It's not practical in any sense of the word. You could rewrite it in C and it would run just as fast. Its speed is mostly related to the architectural choices, and many of them are just plain wrong. Way too much of the API is blocking - that means that the internal architecture is broken, pretty much, and won't scale, and wastes power. It's basically a demonstration of a cargo cult approach to design: someone thinks that if only they do a ritual (assembly), it'll be fast.

      --
      A successful API design takes a mixture of software design and pedagogy.
  20. Yeah but by Anonymous Coward · · Score: 0

    What are their startup scripts written with?

  21. OS/2 is Better !!!! by Anonymous Coward · · Score: 0

    WE WILL RETURN !!!! ...and kick you in the ballz !!!

  22. Entire OS in about 1/3 of i7 Cache by perpenso · · Score: 5, Insightful

    I'm not reallyd sure that I understand that point. To me, thst would sound reasonable for educstionsl Ãr entertainment purposes, but are there any other meaningful reasons for writing an entire OS in assembler?

    The entire OS would occupy about 1/3 of an Intel i7's cache. For ultra-high performance apps that might actually be useful.

    Of course that includes user land apps and such so the footprint of the OS itself would probably be far smaller.

    1. Re: Entire OS in about 1/3 of i7 Cache by bill_mcgonigle · · Score: 2

      yeah, and think of the lower-powered chips. If I can get an HTTPS server into cache at 10W TDP, a whole new class of apps becomes possible. How small can a Go runtime be?

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    2. Re:Entire OS in about 1/3 of i7 Cache by lgw · · Score: 5, Informative

      None of that follows from it being written in assembly.

      My first 5 years as a dev were spent working on a team that maintained an all-assembly OS, database, print server, and so on. Very fast, very small. But you can get all that in C, and a modern C compiler on full optimization produces object much faster than any sane, maintainable assembly source.

      It's a mindset issue, not a toolset issue. Actually using assembly is a great way to keep the right mindset throughout. Plus, learning to read assembly fluently, find bugs by glancing at core dumps, fix bugs with a sector editor to save an assembler pass when you're in a hurry, bugfix a running program in memory - all of that builds your coding muscles, even if it all a bit silly for a modern prod environment.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    3. Re: Entire OS in about 1/3 of i7 Cache by Anonymous Coward · · Score: 0

      How small can a Go runtime be?

      How many dan?

    4. Re: Entire OS in about 1/3 of i7 Cache by chuckugly · · Score: 3, Funny

      Yeah, imagine what you could do with the ARM port .... oh, wait a tick .....

    5. Re:Entire OS in about 1/3 of i7 Cache by LordLimecat · · Score: 1

      On the flipside for anything remotely complex like printing you would expect it to be riddled with bugs and about 5-10 years behind everyone else. Lacking subsystems means creating 3rd party apps for it will be "fun": sounds like a return to DOS days. Which I guess is good news for me, because I never got to experience them in their heyday, so I can see firsthand what instability looks like when you dont have OS provided APIs for things.

    6. Re: Entire OS in about 1/3 of i7 Cache by madbrain · · Score: 3, Informative

      Someone would have to be crazy enough to try to write an SSL & PKIX library fully in assembly to get that HTTPS server working.

      --
      -- Julien Pierre http://www.madbrain.com/blog
    7. Re:Entire OS in about 1/3 of i7 Cache by Gallefray · · Score: 1

      a modern C compiler on full optimization produces object much faster than any sane, maintainable assembly source.

      Do you have any sources on this? I did a quick google but nothing aside from anecdotes turned up (my google-fu is absolutely abysmal, though).

      From experience I know that a well-trained, well-weathered assembly hacker can generate code faster than the compiler. (The programmer who knows their code will produce much better code than a compiler.) But alas, that's still anecdotal.

      I read somewhere (Can't remember where :/) that the fastest assembly code produced to date was written by a human, not a computer; again, google returns nothing.

    8. Re:Entire OS in about 1/3 of i7 Cache by lgw · · Score: 5, Informative

      From experience I know that a well-trained, well-weathered assembly hacker can generate code faster than the compiler.

      This hasn't been true since instruction pipelining. And it hasn't been true for maintainable assembly source for abut 20 years.

      Quick, what's the fastest way to multiply an integer by 8? Did you answer "depends on the previous 20 instructions, but probably 3 adds separated by 3-4 instructions each"? There's just too much state to keep track of with which silicon is doing what for how long following each instruction.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    9. Re:Entire OS in about 1/3 of i7 Cache by NormalVisual · · Score: 2

      I read somewhere (Can't remember where :/) that the fastest assembly code produced to date was written by a human, not a computer; again, google returns nothing.

      Michael Abrash's ancient-but-awesome book, "The Zen of Graphics Programming", contains a chapter called "Heinlein's Crystal Ball, Spock's Brain, and the 9 Cycle Dare" that 's about Abrash's adventures in coming up with the fastest CPU-driven texture mapper he could write in hand-written assembly for his X-Sharp graphics library (he eventually ended up with 16 million texture-mapped pixels per second on a 90 MHz Pentium). Might that be what you're thinking of?

      --
      Please stand clear of the doors, por favor mantenganse alejado de las puertas
    10. Re: Entire OS in about 1/3 of i7 Cache by Anonymous Coward · · Score: 0

      Not a left shift?

    11. Re: Entire OS in about 1/3 of i7 Cache by lgw · · Score: 5, Informative

      Not a left shift?

      Depends - did you do a shift or multiply in the previous several instructions? When do you need the result? Do you need to add anything else soon, or is the adding silicon idle? Modern compilers actually keep track of all that. For sure, if you need to shift two values, doing each a different way is faster.

      The important stuff the coder can provide to help with optimization comes down to: avoid conditional branches, and emphasize locality of reference (I miss the days when a 256-byte lookup table was the fast answer to most bitwise questions).

      --
      Socialism: a lie told by totalitarians and believed by fools.
    12. Re:Entire OS in about 1/3 of i7 Cache by Anonymous Coward · · Score: 0

      From experience I know that a well-trained, well-weathered assembly hacker can generate code faster than the compiler.

      This hasn't been true since instruction pipelining. And it hasn't been true for maintainable assembly source for abut 20 years.

      Quick, what's the fastest way to multiply an integer by 8? Did you answer "depends on the previous 20 instructions, but probably 3 adds separated by 3-4 instructions each"? There's just too much state to keep track of with which silicon is doing what for how long following each instruction.

      Actually no, I thought this: shl %ax, $3
      Which is in equivelent C is: foo 3
      And any compiler worth crap should take foo*7 and optimize it as a shift,

      Power's of two make a very bad example and I would be curious two know what three adds of a single number result in multiplying it by eight, unless the original number is 0 of course. Your actual point is quite valid though, and even more so in a processor like the current x86 with hyperthreading where it is possible that you are contending for a shared integer ALU with another logical thread.

    13. Re:Entire OS in about 1/3 of i7 Cache by Anonymous Coward · · Score: 0

      Apparently the comments system can't grok less than signs... *sigh*

    14. Re:Entire OS in about 1/3 of i7 Cache by Anonymous Coward · · Score: 0

      And any compiler worth crap should take foo*7 and optimize it as a shift,

      Unless you actually care about stupid things like maths and overflows. Sure, on legacy 8086/8088 processors using 8-bit numbers (foo shl 3)-foo in ~5 cycles was quicker than foo*7 in 70-77/80-98 cycles (unsigned/signed), but most modern CPUs do single cycle arithmetic now.

    15. Re: Entire OS in about 1/3 of i7 Cache by Anonymous Coward · · Score: 0

      28 kyu actually . . . it's not very sophisticated.

    16. Re:Entire OS in about 1/3 of i7 Cache by lgw · · Score: 1

      R1 += R1
      R1 += R1
      R1 += R1

      With other stuff in between, of course. Never occurred to me as a fast approach till I saw it in the object code.

      Left shift can be faster or slower, depending on what else the silicon is up to in the near past and future. In my case, where I saw the optimizer doing this, there was another shift operation nearby. Modern optimization is just odd. Division can be the fastest way to accomplish something, as long as you don't need the answer soon, as it's not about the wall clock for any given op an more, it's about making the best use of an oddball heterogeneous set of potentially parallel operations that are related in strange ways. And just about anything's better than a conditional branch, of course.

      There's still stuff where the optimizer can't safely make enough assumptions to beat human optimization, of course, but you can manually optimize that stuff in C. I miss the days where caring about that level of performance commonly mattered - now it's down to odd niches.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    17. Re:Entire OS in about 1/3 of i7 Cache by Ihlosi · · Score: 1
      From experience I know that a well-trained, well-weathered assembly hacker can generate code faster than the compiler.

      Maybe if you have a really bad compiler and a simple, non-pipelined CPU.

      I tried to out-optimize my compiler on a simple (ARM Cortex-M3) CPU, and it was really close, but the compiler still beat my hand-optimized code by a few percent, probably because the compilers programmers spent much more time reading the CPUs datasheet than I did.

      I've mostly given up assembly. C, if done right, is just as fast and much more readable.

      The product containing my first work project is still being sold. Naive as I was, and lacking tutoring/guidance from more experienced folks, I wrote most of it in assembly on a DSP with lots of ... interesting features - six-stage pipeline, delayed instructions, tons of internal states to keep track of (fractional mode, etc), zero-overhead looping, circular buffers in hardware, etc. I hope I'll never have to touch this code again.

    18. Re: Entire OS in about 1/3 of i7 Cache by Anonymous Coward · · Score: 0

      Yup, it's those non-conditional branches that really give a program it's variety :)

    19. Re: Entire OS in about 1/3 of i7 Cache by lgw · · Score: 1

      The assembly I learned on had "br" as the opcode for a non-conditional jump: we used the word "branch" whether conditional or not. :)

      --
      Socialism: a lie told by totalitarians and believed by fools.
    20. Re: Entire OS in about 1/3 of i7 Cache by Anonymous Coward · · Score: 0

      Sounds like the next gen of 1 watt router/firewall boxes? I got a perfectly useless linux router because my ISP does not do modems any more. Further more the ISP does not sell and blocks the sale of ones that could be used. BTW getting charged for 45Mbits and only get 2 ?. Need 45 mbits ? Make a appointment for the tech to come out and and during the period of time he/she is scheduled to show up you will get 45 That will cost you $100 for a service call, if you answer the door.

    21. Re:Entire OS in about 1/3 of i7 Cache by Ihlosi · · Score: 1
      Power's of two make a very bad example and I would be curious two know what three adds of a single number result in multiplying it by eight,

      x=x+x
      x=x+x
      x=x+x

      Three additions. At the end, x will containt eight times its initial value.

    22. Re:Entire OS in about 1/3 of i7 Cache by Anonymous Coward · · Score: 0

      I have an anecdote from my own attemps at rewriting some functions in assembly language.

      For integer code, GCC will kick my ass. Even when I look at its code and utilize the optimizations I see there. (It apparently also makes optimizations I don't recognize.)

      For floating-point math, beating GCC is trivial. It far too often makes calls to the math library rather than using floating point instructions directly. The math library also does stupid things, for example, the function for round() is hundreds of instructions long even though rounding is something that can be done automatically by the opcodes that store floating-point values to integer registers. You can utilize nearbyint() to avoid this, but even that foolishly uses the floating-point rounding instruction wrapped up in a function call rather than simply setting the desired rounding mode and storing the value to an integer register. The really bizzare part is that GCC does know how to produce results without the library and will often do so if --fast-math is utilized, but that mostly only solves the problem for 32-bit targets. For 64-bit targets, it still utilizes the math library far too often even with --fast-math, and the library's 64-bit code is worse, doing insane things like calculating sin() and cos() using integer math in a function thousands of instructions long that amazingly somehow only requires 50% longer than the FSINCOS instruction to execute, but I guess someone thought they could calculate the result faster than FSINCOS and when they failed they just didn't want to throw away all of that hard work, and so the library uses that function anyway, and so every call to sin() or cos() not only takes longer than it needs to, but it also wipes out more CPU cache than it needs to. It's really such a disaster that even a novice programmer can speed up their programs by doing any intensive floating-point calculations in assembly language.

      Hopefully someday they'll fix it, as the way it optimizes integer code is quite amazing, and so if it ever gains the ability to do the same with floating-point math then the results should be similarly amazing.

  23. Come a long way by Anonymous Coward · · Score: 5, Insightful

    Wow, slashdot has come a long way from when I first started reading "chips & dips" in 1997. Even just 10 years ago, a story like this would have been met with enthusiasm and honest support, with a virtual pat on the back to the developers.

    Today, a story like this is reduced to a mere platform for chest-beating (see the parent above). As in, "nevermind the lame story, look at me instead". Why in the world are you people even here?

    1. Re:Come a long way by Anonymous Coward · · Score: 0

      Correct! Additionally you forgot assholes cutting it down who haven't managed a damn thing worth noting their entire wasted lives as well. It's what you get when you have "the unwashed masses" of shitheads and trolls coming into areas where true and decent nerds/geeks once ruled.

    2. Re:Come a long way by Lunix+Nutcase · · Score: 0, Troll

      That's because many people have grown up and don't have time to play with toy OSes.

    3. Re: Come a long way by Anonymous Coward · · Score: 3, Insightful

      After the Beta fiasco and the Systemd wars combined with the 7month long--every day--posts of "all STEM/geek males are severely sexist," all the quality slashdotters left.

      Right now we are basically in a post-apocolyptic state here.

    4. Re:Come a long way by zieroh · · Score: 3, Insightful

      Wow, slashdot has come a long way from when I first started reading "chips & dips" in 1997. Even just 10 years ago, a story like this would have been met with enthusiasm and honest support, with a virtual pat on the back to the developers.

      Today, a story like this is reduced to a mere platform for chest-beating

      To be fair, the vast world of computers and software has come a long way since 1997. What might have been an interesting accomplishment in 1997 is now basically an exercise in pointlessness. Sure, it can be done. Sure, it's small and fast. But so what? What was actually accomplished that's worth anything? Processor power and memory advances since 1997 have obviated any reasonable need for an operating system such as the one described here, and the demands made on modern operating systems pretty much dictate that they be a whole lot more maintainable than any assembly code will ever be.

      --
      People who say "sheeple" have about as much sophistication as an AOL user, and in fact are probably actually AOL users.
    5. Re:Come a long way by Anonymous Coward · · Score: 1

      Well, there are a few things. For one, compilers have come a long way, so much so that it's almost certain that you would have better performance if this were written in C rather than assembly. Certainly if you're writing assembly that is at all readable and maintainable. That makes it little more than a hobbyist project. Another aspect is that other technological areas continue to improve, the original release of this project was 15 years ago. It's hard to even list the things that have changed since 2000 when it comes to OS and design.

      The short answer is, yeah, I find it interesting (so I'm not going to be dismissive of it), but this project won't ever be used for anything other than learning assembly.

    6. Re:Come a long way by Anonymous Coward · · Score: 0

      Yeah, this is boring. Need more political stories about people being idiots or something. Maybe a story about a dozen religious people in Florida protesting a movie. That's what modern nerds really care about.

    7. Re: Come a long way by Anonymous Coward · · Score: 0

      But "the old wways are the best. Seriously though, I this is a site about technology for nerds. Technology is constantly improving. Complaining about people not being interested in this is like something that purple weren't interested in the manual switch entry computer programs back in 1995. It waso absolutely irrelevant then and this is now. There's cool shit going on right now, this isn't it.

    8. Re:Come a long way by Anonymous Coward · · Score: 0

      But have time to write assholish comments about projects of other people and yet don't have time to do anything that would actually benefit anyone anyway?

    9. Re: Come a long way by Anonymous Coward · · Score: 1

      Right now we are basically in a post-apocolyptic state here.

      Go figure, it's been overrun Libertarians for the past 8 years.

    10. Re:Come a long way by Anonymous Coward · · Score: 0

      They may have grown physically, but certainly not mentally. GP is right. Very few thinkers around here these days. Just a bunch of assholes who immediately attack anybody who says anything they don't understand. It's become just another sad reflection of society, indistinguishable from any generic blog or mainstream news site.

    11. Re:Come a long way by wbr1 · · Score: 1

      Come to.soylent news. it's made of people!

      --
      Silence is a state of mime.
    12. Re:Come a long way by Khyber · · Score: 4, Insightful

      "What was actually accomplished that's worth anything?"

      I can turn my computer on and pretty much INSTANTLY use it after POST.

      The only other OSes to do that have been purely command-line.

      The entire OS can fit within the L3 or L2 cache of modern processors, leaving the RAM entirely free for applications. Got a linux distro that will do that?

      It also demonstrates the absolute shit bloat code inefficiencies of today.

      MenuetOS is the demoscene of operating systems. It does what any operating system can do, faster, with fewer resources, in much smaller, tighter, SUPERIOR code.

      Also, because of the code being pure ASM, most nimrod 'hackers' won't even be able to touch it, as they know jack shit about bare-metal programming. It's more secure by its nature, not by obscurity.

      --
      Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
    13. Re:Come a long way by goarilla · · Score: 1

      I sometimes worry this is the result of free internet for everybody.
      I think giving kids the means to always pleasure themselves at any given time isn't good for their development.

    14. Re:Come a long way by WarlockD · · Score: 1

      Everyone says it can fit in the cache of a CPU but CAN it? It seems to load mostly in lower memory and stays there. Sure its footprint is non-existent but I have yet to see an OS that does this feet.

      Be nice if it could though. Load directly from flash to the cpu to do memory checks and or dumps when the watchdog dies.

    15. Re:Come a long way by Anonymous Coward · · Score: 0

      What's your OS doing in L2 cache? If it's keeping the application in RAM, then that's a pretty bad OS design. The OS shouldn't be stealing CPU resources from applications, cache or otherwise. I have an Os in order to run applications, not the other way around. And yes, Linux can leave 90%+ of my 2 cache to my applications. I don't care whether my OS uses 1% or 2% or even 5% of RAM, that's not scarce.

      And your typical "buffer overflow" hack has always been assembly. In fact, as menuetOS doesn't seem to have ASLR or W^X, it's easier for those hackers still relying on 20st century techniques.

    16. Re:Come a long way by Khyber · · Score: 1

      " In fact, as menuetOS doesn't seem to have ASLR or W^X"

      That's all going to depend on the .reloc in your APPLICATION executable, not the OS itself. You could at least be up to speed on your ASM before talking.

      --
      Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
    17. Re:Come a long way by Anonymous Coward · · Score: 0

      What was actually accomplished that's worth anything?

      What a selfish attitude. Something has to have some worth to you. Disgusting.

    18. Re: Come a long way by Anonymous Coward · · Score: 0

      There's always been a libertarian crowd at Slashdot, but I think it has decreased rather than increased in recent years. Ever since the 2008 debt crisis and the subsequent revival of Marxism, socialists seem to be more active than libertarians on Slashdot, especially in economy-related topics.

    19. Re: Come a long way by Anonymous Coward · · Score: 0

      Are we forgetting the Jon "Hellmouth" Katz era so soon?

    20. Re:Come a long way by Anonymous Coward · · Score: 0

      Also, because of the code being pure ASM, most nimrod 'hackers' won't even be able to touch it, as they know jack shit about bare-metal programming. It's more secure by its nature, not by obscurity.

      Wow. Seeing this kind of a comment in Slashdot makes me feel like I'm back in 1999 again!

      (And no, that is not a compliment. Don't worry, kid, you'll know why in another 16 years.)

  24. Worse, no Unix or POSIX either by mi · · Score: 4, Informative

    From their own site:

    Menuet isn't based on other operating system nor has it roots within UNIX or the POSIX standards. The design goal, since the first release in year 2000, has been to remove the extra layers between different parts of an OS, which normally complicate programming and create bugs.

    So, if you want to port your own application to it, you'll need to rewrite it too. And you may need to do it in assembly — although there is, apparently, a C-compiler for MenuetOS it is billed as "low-level", which, I gather, means no (or limited) libc, and other exciting and challenging limitations.

    --
    In Soviet Washington the swamp drains you.
    1. Re:Worse, no Unix or POSIX either by LordLimecat · · Score: 2

      That sounds like theyve been actively un-learning all of the lessons the computer science field has spent decades learning.

      Here everyone else has been learning how abstraction can promote collaboration and keep bugs simple, and theyve found a way to justify removing abstraction as a way to reduce complexity (lol?).

    2. Re: Worse, no Unix or POSIX either by guruevi · · Score: 2

      There is a problem these days with over generalizations and abstraction to the point where things become unmaintainable and can't be troubleshooted. Eg. JavaScript.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    3. Re: Worse, no Unix or POSIX either by Anonymous Coward · · Score: 0

      They have a point. Abstraction can be great in context, but overuse just leads to a sprawling, inefficient, fragile, unmaintainable mess. Sometimes it's a good exercise to step back and think for a minute rather than blindly shovelling.

  25. CD Boot? by Anonymous Coward · · Score: 0

    So if they want to be more easily tested, they should make it USB bootable and release usb images. The days of booting a CD are over (or at least they oughtta be)

    1. Re:CD Boot? by Anonymous Coward · · Score: 0

      In case you haven't noticed, almost any PC BIOS on earth allows you to dd an .iso image to a flash disk(usb key/sd card/etc) and boot from it, mounted as read-only. From there on you can install it on a second usb key, for example. There are several boot-standards, but using cdfs and el-torito boot will just happily work with flash memory devices on any `recent` (~2000+) PC.

    2. Re:CD Boot? by peppepz · · Score: 1

      No, that only works when the ISO has been expressly engineered to have in its first sectors a fake HD boot record whose boot code will jump into the el torito boot floppy image. Traditional ~year 2000 BIOSes won't look for ISO9660 structures on anything that isn't optical media.

    3. Re:CD Boot? by Anonymous Coward · · Score: 0

      2000. 2010. who cares...

  26. Assembler Scene by Snospar · · Score: 1

    Surely this runs so embiggeningly fast that it's unusable?

    I remember running some assembler demo's (back in the day) that made "legacy" hardware do things that just didn't seem possible. The thought of running an OS with that same performance on modern hardware is frightening. Hopefully they've tuned the input routines so that you don't eeennnddd uuuppp wwwiiittthh kkkeeeyyybbboooaaarrrddd jjjiiitttttteeerrr :o)

    --
    Moore's law is not a law. Theory, yes; Predictable trend, certainly; Law, no.
    1. Re:Assembler Scene by Anonymous Coward · · Score: 0

      I don't know, this operating system might be able to keep up with me. Well, the fact that it doesn't have FireFox hogging 8 GB of RAM might help too.

    2. Re:Assembler Scene by Anonymous Coward · · Score: 0

      I wouldn't count on it. Big kudos to them if it's stable

    3. Re:Assembler Scene by tibit · · Score: 1

      It's not that fast, actually.

      --
      A successful API design takes a mixture of software design and pedagogy.
    4. Re:Assembler Scene by Snospar · · Score: 1

      Now, now, no knocking good old Firefox, it's still working well for me. And according to the current requirements:

      https://www.mozilla.org/en-US/firefox/38.0.1/system-requirements/

      ...it only needs 512M RAM (on Windows). And apparently has no memory requirements at all on Linux. o_O

      OK, I'll concede it's using around 2G currently on my machine but that's only because there is plenty spare at the moment and I'm pretty sure that all modern browsers would use the same or worse.

      --
      Moore's law is not a law. Theory, yes; Predictable trend, certainly; Law, no.
    5. Re:Assembler Scene by Snospar · · Score: 1

      With your use of the word "actually", I can't tell if I 'whooshed' you or you're 'whooshing' me.

      --
      Moore's law is not a law. Theory, yes; Predictable trend, certainly; Law, no.
    6. Re:Assembler Scene by tibit · · Score: 1

      It's just a collective whoosh :)

      --
      A successful API design takes a mixture of software design and pedagogy.
  27. 32-bit is open (GPL) by perpenso · · Score: 2

    The 32-bit version is open (GPL), the 64-bit is currently not.

  28. Re: floppy disk... by Anonymous Coward · · Score: 1

    I have the opposite problem ;)

  29. Do they still teach assembly language? by __aaclcg7560 · · Score: 2

    When I went back to community college to learn programming after the Dot Com bust, I was frustrated that all the courses was in every flavor of Java. (The school couldn't afford to renew the Microsoft site license for a few years.) When the assembly language class appeared on the schedule, I later discovered that I was only the student signed up for the course. Class cancelled. Since this class wasn't required for graduation, the dean couldn't grant my request to learn assembly language as an independent study class.

    1. Re:Do they still teach assembly language? by Anonymous Coward · · Score: 0

      Of course they teach it. There will always be demand for assembly programmers that work in CPU design, firmware, or embedded systems in general. The demand is just much lower than there is for Java monkeys.

    2. Re:Do they still teach assembly language? by Anonymous Coward · · Score: 0

      When I went to school (many, many years ago) we had 2 classes that touched assembler. In one we learned 68k assembly & then wire wrapped a little computer & wrote a monitor for it. In the other we looked at a Z80 from the gate level up & then wrote some assembly for it too.

      Fun times.

      Funny thing is that in my first job out of college I did end up using those types of skills; VAX MACRO-32 and then even some 8800 microcode + gate level simulator (I was working for DEC at the time).

      Even more fun times!

      Of course, these days it's mostly higher level languages - although I do some C/linux kernel stuff, just to keep my hand in.

      Egads. Now I feel extra old!

    3. Re:Do they still teach assembly language? by Anonymous Coward · · Score: 0

      I learned z80 assembler at a Junior College-- first assignment was to write the editor we used for the rest of the semester. Next, write a dissassembler (and explore other programs with it-- probably _illegal_ today), and then write a relatively simple but functional compiler. Great class. Nothing like it today. That same JC taught classes in Lisp too-- (my first natural language parser that sorta kinda worked-ish written in a JC class)!

      I learned 6502 assembler on my own.

      Learned Sparc assembler as a side-effect of taking a class on writing compilers hosted on Sun workstations, at UCSD.

      Had a recent conversation with someone at work who, as you put it, did nothing but Java for his education. Schools really are crippling students today. Nothing like thinking about how things _actually_ work to get you to write things (even in high-level languages) that work to the hardwares abilities.

      But, I think they should teach assembler on the old 8 bit micros and just talk about modern things like branch prediction, and how minimizing branches even at expense of seemingly higher cycle counts is more efficient when you have even one missed prediction (I tried to re-live those glory days on a modern x86, and found there to be too much crap going on to feel competent to write things like those fun projects on the z80 at that J.C.-- so, kudos to the crew who wrote Minuet, but bummer about the license).

    4. Re:Do they still teach assembly language? by Anonymous Coward · · Score: 0

      It's a mandatory class at the university I'm studying at. It used to teach SPARC assembly, but switched over to ARM once I took the course last year.

    5. Re:Do they still teach assembly language? by Anonymous Coward · · Score: 0

      at my uni, we had a standard class for the cs track where you had to create basic cpu logic circuits in a virtual environment out of transistors. then you had to implement an adder, etc. then you had to build an implementation of instruction dispatch and a full fictional ISA. then you had to run test programs on it and benchmark them. bonus points to the faster implementation, so ripple carry, etc++. that's a computer architecture class, not a programming class. the programming class is home grown "puzzle" languages.

    6. Re:Do they still teach assembly language? by Anonymous Coward · · Score: 0

      Do they still teach assembly language?

      The ABET accreditation for a computer science degree requires:
      "Coverage of the fundamentals of algorithms, data structures, software design, concepts of programming languages and computer organization and architecture."
      per: http://www.abet.org/accreditat...

      The last part - "computer organization and architecture" - can be interpreted a number of different ways. For my alma mater, they met that requirement by creating a course titled "Computer Organization and Assembly Language": https://www.csc.ncsu.edu/acade....

      So yes - but YMMV based on individual university.

  30. Plenty of OSes written in assembly by cfalcon · · Score: 4, Insightful

    Plenty of OSes have, over the course of history, been written in assembly.

    And all of them proprietary, just like this one.

    Menuet is cool, but I don't see a compelling reason to use closed source assembly unless it demonstrates some really crazy superpowers. It's also an odd case of a GPL codebase switching to a closed source license a couple years before it becomes useful.

    Kolibri forked from the GPLed 32 bit branch, but I don't think it's pure ASM at all.

  31. Really? by dtiArkadiy · · Score: 1

    Somebody’s living in the past.

  32. I'm curious by Anonymous Coward · · Score: 0

    I'm curious, other than Chrome (the browser that uses all available memory), what application is swapping 10 GB of stuff on a 16 GB system?

    1. Re:I'm curious by Anonymous Coward · · Score: 0

      > I'm curious, other than Chrome (the browser that uses all available memory), what application is swapping 10 GB of stuff on a 16 GB system?

      If it's a Mac, I would guess Xcode. ^_^

  33. Hobbiest are amazing by Anonymous Coward · · Score: 0

    I wrote assembly, because I had to to. My instructor made it clear learning assembly was a dead end solution to an ongoing task.

    Higher level languages were invented with a reason. More portability and easier to learn. People that would waste the hours of their lives to learn assembly are like grocery store clerks learning the four digit code for Roma apples. I can see that person running home to mama and squealing "Mama I've learned all the four digit codes for fruit at Albertson's. I'm a human bar code scanner. Be proud of me!"

    What a waste of a human life.

    1. Re:Hobbiest are amazing by kthreadd · · Score: 1

      It's not so much that it's hard to learn. It's not actually that hard. When building an operating system dealing with all the small details of the hardware is much more harder than learning assembly. The reason why we stopped building operating systems completely in assembly was not that it was hard to learn but it was because we wanted to port them to different architectures.

    2. Re:Hobbiest are amazing by ledow · · Score: 2

      Assembly is not difficult.

      And nobody creates chips from scratch any more, but the underlying electronics is still worth learning. If you disagree, go look at the THOUSANDS of Arduino etc. projects. Arduino is a microcontroller, not a processor. It has a pittance of RAM, a pittance of speed (16Mhz?) can't access external memory directly, etc. But the principles behind using it reveal a lot about how the electronics work and the problems associated with them.

      Just a digital circuit? Far from it when you have power-issues, trace-length issues, hidden impedances in the circuit, etc.

      Assembler is also how you begin to understand what a chip DOES. Sure, we all "know". Sure we do. So how do you do bitwise-add-plus-carry? What CPU flags might be triggered and when? What about the circuit timing? Rising-edge, falling-edge, high, low? What about memory refresh, clock-cycles etc.?

      Sure, this stuff is not necessary to OPERATE a computer. Nor to PROGRAM a computer in most languages. But then it does begin to come into how to ENGINEER a computer. There are Arduino projects that push a string of bytes down to a Z80 chip with no onboard RAM (literally, the Arduino acts as a memory emulator). They've been enormously helpful in understanding how integrated circuits work - you can literally manually clock one cycle at a time and interrogate the bus timing, memory access, etc. of the attached Z80 as you go. Hell, it's even generating information useful for anyone making a Z80 emulator, etc. What timing does that undocumented instruction have?

      There are levels required for certain things, and there's also what happens in science - understanding of OTHER seemingly-unrelated, or obsolete, or total disparate sciences affects your understanding of everything else you touch.

      Understanding assembler doesn't make you a better programmer automatically, but it completes the circle - you know what's happening and so can understand why it happens when your engineers come back and tell you the bus timings aren't as they are on the spec sheet, and you can compensate. It's like being a car mechanic who's never seen a Wankel engine. Sure, maybe you never will. Maybe you'll only ever seen them when tinkering with one you bought on eBay. But the different ideas give you different concepts that you can join together because they are based on two solutions to the same problems.

      Nobody sits and does arithmetic any more. And you don't need to be able to do mental arithmetic to be a great mathematician. But the knowledge of such things CAN greatly enhance your understanding - and the speed at which you understand new things. Fermat's Last Theorem was solved because someone linked it to elliptic curves. I bet there were mathematicians the world over who were told to stop wasting their time on a 400-year-old problem because it would never be relevant. Now we've JOINED two areas of mathematics, we understand both more. And the guy who had both mathematics in his head simultaneously understands them better than anyone else.

      Assembler is not something you'd branch out the next version of Windows into. Of course not. But if you don't tinker with it, understand it, play with other circuits, write your own bootloader, even, then - sorry - you're not a geek with the interest that I would get on with and who I find best at doing geek jobs.

      At the end of the day, some bastard had to write the Windows bootloader in assembler. Then, only a few years ago, someone had to rewrite all their bootloaders to take account of UEFI. And every new architecture needs someone to write a bootstrap in assembler even if it's only ever used to get the compiler up and running.

      Saying it's a waste is to completely miss the point of life. To pursue interests to satisfy man's innate curiosity.

      Your instructor was as blinkered as you.

      And, fuck, if you can't get the hang of assembler, when one instruction rarely does anything more than a single piece of binary arithmetic, and each official

    3. Re:Hobbiest are amazing by itzly · · Score: 2

      Arduino is a microcontroller, not a processor.

      Actually, it isn't. The microcontroller is an Atmel AVR. The Arduino project is the processor, plus some standard hardware boards, plus a C++ programming environment that actually shields you from the bare metal.

    4. Re:Hobbiest are amazing by NormalVisual · · Score: 1

      Plus the bootloader firmware (although I guess you could call that part of the environment) - you can't just drop a stock AVR into the socket and have it work without it unless you use an external programmer to burn the sketch into the chip beforehand.

      --
      Please stand clear of the doors, por favor mantenganse alejado de las puertas
  34. Think of the legacy hardware ... by perpenso · · Score: 3, Interesting

    And you're assembly is probably easy to beat with even pretty crappy SSE2 code.

    Apparently not by compilers.

    You don't seem to understand the purpose of writing in assembly language. Its not to optimize for the current state of the art box. It is to get acceptable performance from old legacy boxes. Some assembly in the right spot(s) can make the difference between an old architecture making the cutoff in terms of acceptable performance, of being able to include that segment of the market in your minimum system requirements.

    My point is that such optimizations for the sake of the old boxes doesn't necessarily do any harm to the new boxes. That worrying about future architectures is a red herring of sorts.

    1. Re:Think of the legacy hardware ... by Lunix+Nutcase · · Score: 2

      Apparently not by compilers.

      Duh. Compilers are shit at things like vectorization. They can fail at generating decent code even with intrinsics.

    2. Re:Think of the legacy hardware ... by perpenso · · Score: 1

      Apparently not by compilers.

      Duh. Compilers are shit at things like vectorization. They can fail at generating decent code even with intrinsics.

      Thank goodness we still have assembly language. :-)

    3. Re:Think of the legacy hardware ... by Lunix+Nutcase · · Score: 1

      Yeah, without SIMD there's no other way to get decent performance from DSP/multimedia applications on a general purpose CPU. Even moreso important when it comes to NEON on ARM chips.

    4. Re:Think of the legacy hardware ... by epyT-R · · Score: 1

      Well, you could optimize for current arches, too, if you wanted to squeeze all you can out of them. New arches become old rather quickly. Why not do some optimization if it reaps decent benefits? Just keep a C fallback for each so your code remains portable into the future. When such a future arch comes along, then it's a matter of re-porting the still relevant optimizations and looking for new ones the differing arch exposes. An example of this would be a math library. Compilers are pretty good but they don't replace an unoptimized math library, or compensate for shitty design.

    5. Re:Think of the legacy hardware ... by perpenso · · Score: 1

      Well, you could optimize for current arches, too, if you wanted to squeeze all you can out of them.

      Don't need to. Their performance was already good. Optimization of an old arch was only necessary to make its performance acceptable, to make it a minimum system requirement. To enlarge the potential market at the time.

      To be honest support for the old arch (and WinXP) is being dropped from the next major release of the software. So the original reference C code is going back in to simplify maintenance. The old ASM is no longer needed. The segment of the market it served effectively no longer exists.

      It would be fun to redo it for new archs, I enjoy such things, but its not justifiable. I will continue to occasionally compare it against the C code out of curiosity.

  35. Clearly this is the Kuerig of OS's. by gatkinso · · Score: 1

    Good work Menuetosites!

    --
    I am very small, utmostly microscopic.
  36. Re: floppy disk... by rubycodez · · Score: 5, Funny

    it grows to 2.5"?

  37. Must have systemd! by Anonymous Coward · · Score: 1

    [sarcasm]Can it run systemd?
    How about Gnome 3.x?
    And does it use binary log files?

    I must have those on any OS I run![/sarcasm]

    (Or run very far away from!!!)

    1. Re:Must have systemd! by Anonymous Coward · · Score: 0

      Not funny.

  38. HLL's have methods for space/speed gain by Anonymous Coward · · Score: 0

    See subject: Doing simple things like considering variable sizes used (e.g. - most folks will default to say, "String" type for example to process data that is of that type (of course) - however, if you don't NEED long strings, using a 255 char length "ShortString" type actually saves memory, runs on the stack vs. the heap faster, AND makes your executable smaller...

    There's other things like I noted here on using register "fastcalls" (I used Delphi code as an example thereof there http://games.slashdot.org/comm... ) vs. std. call types.

    It will make functions/procedures operate faster also!

    Compilers generally do *NOT* offer you those types of suggestions...

    (Knowing about them tends to come after hands-on experience OR good mentoring!)

    APK

    P.S.=> I've done it before, as I am sure many here have, & yes - it works for all of the above (saving memory + exe size too):

    Another thing I've just started looking at since it's touted to be more efficient is lamba functions (they remind me of calculus iterators) vs. std. loops (For loop's fastest I know of, & supposedly, these exceed it in various cases for speed of operations - feel free to correct me, those of you that use them in C++, Delphi, Haskell/Scala (functional programming languages on the last ones, not totally sure as I don't use them, but I've heard tell here those are examples of them that can use lambda)).

    Of course, the best thing is to design as EFFICIENT AS POSSIBLE algorithm too, mainly for speed of operations on datasets... apk

  39. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  40. is this year by goombah99 · · Score: 5, Funny

    of assembly language on the desktop? will it run linux?

    --
    Some drink at the fountain of knowledge. Others just gargle.
  41. So many negative comments by folderol · · Score: 1, Insightful
    ... says a lot about the posters, and nothing about the OS. Personally I think coders should be obliged to write at least one significant project entirely in assembler before being allowed anywhere near high level languages. You pretty quickly lean to program defensively when just the slightest error results in total melt-down.

    I bet this OS doesn't have any buffer overrun issues!

    1. Re:So many negative comments by __aaclcg7560 · · Score: 1

      I did "Hello, world!" in assembly language for the Commodore 64. Does that count?

    2. Re:So many negative comments by podom · · Score: 1

      Every programming language leads to its own types of laziness. I.e., there are unique types of laziness associated with assembly programming.

      I've noticed this in the projects I've worked on in assembly. In several cases, I've later done a C version of the project targeting more powerful hardware, and the result is more robust. Yes, you could argue that the experience gained doing the assembly version aids the later development of the C version, and you would probably be correct. But it's just so much easier to do things in C, and this includes error checking!

      Every assembly programming task is time consuming, and this can lead people to take shortcuts. Think there aren't any buffer overrun issues? Why? In C, all you might have to do is type something like "if (index>=length) {/*don't write to buffer or whatever*/}" There! Buffer overrun issue solved! In assembly, the same fix takes longer, and you might be less likely to implement it before the problem surfaces.

      One thing I think assembly programming does give you is a very intuitive understanding of how a processor works, which in turn will help you avoid errors when programming in higher-level languages in the future. It helps to understand, for example, the sheer number of instructions required to perform extended precision floating point arithmetic on a fixed-point 8-bit processor!

      Programming in assembly is not productive. It is educational, it is sometimes necessary, and I think it can be fun, but it is definitely not productive. I'd like to see a variant of C that exposes more of the low-level capabilities of the typical microcontroller (and that explicitly supports Harvard architecture processors, for that matter), but even in its current form, C seems to me an appropriate compromise between performance and productivity for low-level and bare metal programming.

      --
      We're wanted men. I have the death sentence in 12 systems!
  42. "Correcting" myself (need coffee today)... apk by Anonymous Coward · · Score: 0

    "... runs on the stack vs. the heap faster..." - by Anonymous Coward on Friday May 15, 2015 @02:02PM (#49699291)

    See subject: Runs in memory closer to the CPU would be a better way to put it (& gives it a greater possibility of running closer to the CPU in L1/L2/L3 cache vs. System RAM also due to being tinier...).

    * I NEED COFFEE!!!

    (Hope THAT clarifies it a bit better/more accurately, as to datatypes used for size compaction in memory + exe size on disk - I know the results ARE what I said they are, I am just *NOT* expressing myself very well today is all!)

    Apologies!

    APK

    P.S.=> Sorry about that folks - ever realize you're getting old & you're not as 'sharp'/'quick' as you used to be? LOL... that + my mind's cluttered with home projects/fixes etc. here too due to "Spring Cleaning'' (taking a break on /. now though)... apk

  43. optimizing for exactly the wrong thing by pghmike4 · · Score: 1
    So, by writing in assembly language, you optimize for code size, which is the smallest part of any application, typically easily overwhelmed by 10-100X by the app's data. And the code is much more error prone, now that you have no type checking, or even types. Most productivity studies have shown that you get about the same number of lines of code written per programmer-year, no matter what language it is written in, so by choosing the least powerful language to use, you minimize your productivity. Yay!

    Conceivably, you also might pick up a small execution time benefit, although most compilers probably can do better than a hand-coder these days -- they can perform instance specific optimizations that would be impossible to maintain in assembly source.

    Writing an OS in assembly in 2015: what a great engineering decision!

    1. Re:optimizing for exactly the wrong thing by Anonymous Coward · · Score: 0

      You have never done anything for the fun of it?

    2. Re:optimizing for exactly the wrong thing by Anonymous Coward · · Score: 0

      This doesn't sound like Minuet is doing this for the fun of it either, anymore. I get the distinct feeling they're going somewhere commercial with this.

  44. Re:Not Open - new downloads by Anonymous Coward · · Score: 0

    check out their download page, updated today
    http://kolibrios.org/en/download

  45. Comment removed by account_deleted · · Score: 2

    Comment removed based on user account deletion

  46. Embedded by Anonymous Coward · · Score: 0

    Come over to the (Dark) Embedded side, and you'll do plenty of Assembler.

  47. Re:floppy disk... by epyT-R · · Score: 3, Informative

    Hey buddy, ever wait around near the nurses station at a hospital? Women can and do tell dirty jokes all the time.

  48. Is this the schizophrenic's project? by Anonymous Coward · · Score: 0

    The one who thinks the christian god talks to him through his computer's random number generator?

  49. Re:Turn in your geek card. by skelly33 · · Score: 3, Informative

    Doom is shown as an icon on the desktop in the various screenshots found on the project site, but indeed, Quake is the game running in a window.

  50. It's Quake not DOOM on the screens section by Anonymous Coward · · Score: 0

    Why has anyone not commented of this very important fact that the /. article mislabeled a game. /jk

  51. Re:floppy disk... by rot26 · · Score: 2

    How big is that in terms that we can all relate to, say, football fields?

    --



    To ensure perfect aim, shoot first and call whatever you hit the target
  52. Re:Turn in your geek card. by garyisabusyguy · · Score: 2

    Doom can run on a Super Nintendo, while Quake requires more system performance.
    Doom is a fan favorite, but Quake is a more relevant demo

    --
    Wherever You Go, There You Are
  53. does it run on arm? by Anonymous Coward · · Score: 0

    Well does it?

  54. It's obvious, but... by Anonymous Coward · · Score: 0

    lazy programmers don't want you to notice.

    For typical apps on a typical PC, you have more clock cycles and megabytes than are needed for the task at hand, so it makes sense to go lazy at the developer-end and use high-level compiled or even interpreted languages. It is in this environment where it is acceptable to say "a really good compiler is as good as (or almost as good as) assembly language" - the small relative performance gain relative to the requirements of the application and the developer time and competence required makes it so.

    As a general rule though, a compiler will not match a competent assembly coder for several very good reasons that are obvious when you think about it; The assembly coder knows the intent of his code and understands it so the following is generally true:

    [a] The assembly coder knows what routines will be called and under what conditions, so he knows what registers, memory locations, condition codes, etc can simply be ignored, not be initialized etc. Compiler generally need to do things in a "safe" manner because the code blocks they emit in response to the source code they are given are necessarily generalized.

    [b] The assembly coder not only knows the code, but he also probably knows the data enough to know what's more-likely to occur at run-time; Code can therefore be written so the cleaner faster execution paths are the ones more-likely to be taken most-often (or most-frequently during critical times).

    I could go on, but the point is that a human being writing assembly code has far greater insight into the problem he is solving and can know when to, for example, write a general routine and call it from many places or write several specific routines. A compiler writing assembly code has no understanding of the problem at all and can only emit a limited set of assembly solutions for any given high-level code construct with no real guidance about how the code will be used - the only real optimizations the compiler can perform are program structure optimizations.

  55. You're kidding, right? by Anonymous Coward · · Score: 0

    It used to be easy with compilers that were targeted at specific CPU chips. Now that we have re-targetable compilers like GCC, it's even easier.

    The REAL question is whether it's WORTH it. As much as I love assembly and use it in embedded systems when time or memory use make it a good idea, I have not used assembly on a desktop system application in over a decade (tend to do those in C++ or even C#). The true measure of a good programmer now in the era of cheap memory and fast chips is to know when to use a particular tool (languages are just a tool). I am certain I can out-code the GCC compiler, but there is no point to it for any application that will run on a PC. I know somebody who loves using GCC on MPS430 microcontrollers and for the problems he is solving it's a fine fit that lets him complete projects very quickly - a bit like using a sledge hammer to place a thumb-tack (it works, and it's fast, but it's overkill). I generally code in assembly on the '430, but then I tend to use them in situations where every byte matters and there are barely enough megahertz for the task at hand.

  56. IT Tech Note: MenuetOS - x86 operating system rele by DarkStarZumaBeach · · Score: 1

    Lightweight - fast MenuetOS release 1.0 shipping

    --
    DarkStarZumaBeachSurfinApocalypseWow
  57. Out of date? by gunslnger · · Score: 0

    What's a floppy disk?

  58. MenuetOS 64 bit will boot over the network via PXE by dsmatthews9379 · · Score: 1
    The machine takes longer with the lower level BIOS stuff than it does to load a memdisk (borrowed from Clonezilla in my case) kernel off the tftp server and boot the M6410000.IMG file. The relevant part of pxelinux.cfg reads:

    label MenuetOS64

    menu LABEL MenuetOS 64 bit - version 1.0

    KERNEL images/clonezilla/syslinux/memdisk

    append initrd=images/menuetos/M6410000.IMG

  59. Not stable by Anonymous Coward · · Score: 0

    The last time I used it, it locks up pretty often. So, unless they've some some serious debugging, I'm not even going to bother until 2.0

  60. ACPI mess by manu0601 · · Score: 1

    stable on all hardware with which they've tested

    How do they manage ACPI mess that exists on some machines, and unusual chipsets? There is nothing impossible here, but if the end product must fit on a floppy, there is no much room.

    1. Re:ACPI mess by Anonymous Coward · · Score: 0

      Isn't backward compatibility wonderful. The legacy BIOS keeps around all the old cruft exactly for situations like this. I'm guessing Menuet is operating in some form of "DOS mode".

  61. Re:All in ASM. Why? C + ASM is the correct answer. by NormalVisual · · Score: 1

    So, write your OS in 90% C and optimize the remaining 10% in ASM

    "A profiler? What's that?"

    --
    Please stand clear of the doors, por favor mantenganse alejado de las puertas
  62. More Secure, or less? by Anonymous Coward · · Score: 0

    I'd think this would be a secure (As assembly coders are less common than say java)
    OR would the fact that its in assemble be its weak point?

  63. Portable? by Deliveranc3 · · Score: 1

    How portable is it? Do you have an interface for C (which would allow compilation of everything else I'd imagine). Can we see the object oriented code? It's got to be temping.

  64. you knew asm, which vastly improves your C by raymorris · · Score: 1

    I'm not the least bit surprised that an assembly programmer, who really understands what's happening in the CPU, can write very fast C. I bet for most software, your asm version will be at least twice as fast as a C version written by a typical programmer, who doesn't even realize that the CPU caches have any effect on how well their software runs. More to the point, the typical C programmer would never think about how writing their code differently might allow the inner loop to run from cpu cache. Hell, the typical C# programmer doesn't often even think about the fact that memory is thousands of times faster than disk.

    I wouldn't suggest writing much in asm, but being ABLE to do so, having a clue what your C or .NET code may end up looking like in asm, is a huge advantage.

  65. Re:Floppy disk? [OT] by goarilla · · Score: 1
    I've been taking baby steps in assembly at the moment and I wonder a few things, I apologize in advance if this question makes you facepalm:

    Then you're doing something horribly wrong and causing all sorts of stalls in the pipeline.

    Are there any instructions that give direct insight into the state of the pipeline (like rdtsc for cycle count).
    How do you distinguish slowness from faulty "branch prediction", pipeline woes or any other reason on any non trivial codebase ?

  66. People are forgetting the obvious use by ruir · · Score: 1

    You people are forgetting the obvious use of dabbling in assembly today. Hacking software for instance.

  67. Re:Turn in your geek card. by nospam007 · · Score: 1

    "They show off the platform running Quake. Doom is mentioned in the article, but who read that far?"

    They also mention floppy disks.

    It's written in Assembler, they started this project in 1983, it used up all their time and so didn't have time to follow the technical evolution.

  68. Exciting as... by Anonymous Coward · · Score: 0

    This excites me as much as ReactOS. It is too bad that such programming talent has been on a 15 year worthless-a-thon. Their talent would have been much better spent on Linux improvement.

  69. ADA compilers written in ADA itself? by Jefftoe · · Score: 1

    I recall in college, my ADA textbook mentioned that it was the only language who's only and first compiler was written in ADA itself. How in the Hell? There had to be something in at least assembler to start off small, right? Just to plant a seed for gosh sake...

    1. Re:ADA compilers written in ADA itself? by Anonymous Coward · · Score: 0

      An interpreter written in something you can compile or assemble should also do the trick.

  70. Very easy to find back doors too by lems1 · · Score: 1

    Yep, with assembly is a breeze to keep the system secure.

    --
    This sig can be distributed under the LGPL license
  71. Re: floppy disk... by Anonymous Coward · · Score: 0

    I think "coding" looks different to nurses than it does for you.