10 ms·
Why DOS was (and is) a thing (2020) [video]
- hdjjhhvvhga 5y agoIn another video[0], the author demonstrates writing programs for FreeDOS using conio.h. I believe it would be more useful to use PDCurses instead - just in case your program turns out more popular than you had anticipated. [0] https://www.youtube.com/watch?v=OGeLIWAkncQ https://www.youtube.com/watch?v=OGeLIWAkncQ
- marcodiego 5y agoOne thing I like about DOS is that it is an useful OS and bootloader. In the win9x days it allowed me to use the computer even when windows broke. I see no replacement for it in the free world, freedos has no support to linux file systems and it is becoming increasingly hard to run it on modern hardware. I really would like a modern replacement for it.
- hnlmorg 5y agoThere's plenty of live CD / USB OS's out there (albeit most being based on Linux). I've found they've more than covered my DOS use case of "I need to boot something in order to examine this busted computer".
- AshamedCaptain 5y agowhat about the bog-standard efi shell that comes in the firmware with practically every PC these days? it even resembles DOS (much more than it does any other os, at least)
- Koshkin 5y ago> bootloader https://en.wikipedia.org/wiki/Loadlin https://en.wikipedia.org/wiki/Loadlin (I love the idea of a bootloader I could play Doom on!)
- leeter 5y agoI'll do you one better, DOOM without an OS at all (sort of) https://github.com/Cacodemon345/uefidoom https://github.com/Cacodemon345/uefidoom
- guerrilla 5y ago> I see no replacement for it in the free world I know what you mean, but what about GRUB and UEFI? I think both of those could be supplemented to be able to do a lot of the same things, don't you think?
- marcodiego 5y agoGrub is great but has no write access and doesn’t allows me run eg. run a full compiler.
- AshamedCaptain 5y agoWell, the UEFI shell does.
- mixmastamyk 5y agoThe Linux console has more functionality than DOS ever did, sans GUI.
- mattowen_uk 5y agoThe thing about DOS is that it leverages the IBM style BIOS heavily. Unlike Linux, it's not just a case of recompiling DOS so that it works on different architecture. having DOS boot natively on a Pi sounds attractive but isn't feasible. However, if low-energy x86 compatible SBCs (with compatible BIOS-a-like) ever become more than a niche thing, then having fast DOS booting into single purpose apps would be a nice addition to the space currently dominated by Linux and all those ARM boards. I can't see it happening though.
- zozbot234 5y agoThe modern equivalent to DOS is just the UEFI shell. No reason why it couldn't be supported on the Pi too - AIUI, there's a free implementation of UEFI that can be loaded from uboot.
- rwmj 5y agoI'm using UEFI on my Raspberry Pi 4: https://github.com/pftf/RPi4 https://github.com/pftf/RPi4 Works pretty well.
- marcodiego 5y agoOn the other hand, wherever you had a compatible bios and processor it was easy to run DOS and CP/M on it. This made both systems very popular until ibm-compatible became the standard and apps wouldn’t run on anything else.
- Rerarom 5y agoyeah the x86 is a DOS machine the way Lisp machines are Lisp machines (or something like that, I admit I cannot find a properly slick way to express it)
- Koshkin 5y ago> x86 8086, to be specific.
- hnlmorg 5y ago
- MichaelMoser123 5y agoDOS was a terrible user experience; there was this constant fight to keep all the drivers and TSR programs working, deal with high memory, extended memory and other goodies, when the system was running out of low memory. Thanks goodness we are past that. No nostalgy for DOS on my part...
- ghaff 5y agoDOS was OK so long as you stayed comfortably within 640K and avoided all the pseudo multitasking hacks like TSR. The things you describe are all about pushing DOS beyond it’s rather limited fundamental design. That said it wasn’t a great OS for it’s time and isn’t for most purposes today.
- hnlmorg 5y agoIt was pretty common for people to need different autoexec.bat configurations even just amongst gamers.
- leeter 5y agoPulls up a recent LGR Video... watches griping about various expanded vs. extended vs. whatever memory issues games have Yeeeep seems canon.
- DarknessFalls 5y agoI had a batch file just to swap autoexec.bat and config.sys with *.bak counterparts depending on the game.
- ghaff 5y agoYes, mostly because you were screwing around right at memory and other limits of the system. (And it was mostly games--at least for typical consumers.)
- hnlmorg 5y agoYou're vastly understating just how commonly people would butt head with those limits though. You're also forgetting just how painful it was setting up a working autoexec.bat file in the first place. Never mind having dedicated chunks of code for some games and not others (eg do I need a mouse in this game? that driver is incompatible with this other bit of software, etc), just discovering what precise string of characters in your autoexec.bat was required to load the damn driver could be downright cryptic at times. DOS wasn't that great. We remember it with rose tinted glasses because that's what humans do. But DOS wasn't a particularly good operating system, even for its era. Gaming on DOS, now that was fun. But I'd argue it was fun in spite of DOS rather than because of it
- WaitWaitWha 5y agoIt is fascinating to read others' comments how DOS was bad. In my opinion, it was amazing. Prior to graphical user interface, various DOS were the only interface in non-*nix world. Beating it up because it was not up to 2021 standards, is like beating a horse because it is not as fast as a car, does not have a blinking turn signal, and of course the suspension is too rough. I was delighted moving from writing things down in paper first to be able to do command line in DOS. Sure, it was not Unix, but was getting closer. TSRs and various memory tricks demonstrates its flexibility at that time, despite hardware and firmware limitations. We wrote myriad of tiny programs, that often functioned like *nix programs, and became part of the users' ecosystem, albeit lost as soon as the user or programmer gave up. Yes, I am going to be counter argumentative. :)
- Timwi 5y agoI feel that the video didn't answer the question in its own title: why is it still a thing. People are “beating a horse” because it is a legitimate question why something slower than a car with no blinking turn signal and rough suspension is still a thing.
- mikewarot 5y agoWhy do people still ride horses? We don't need them, yet some people own and care for horses. Some people still drive Model T Fords, and other old things. I still want a Gray Planer (a huge old obsolete machine tool) taking up a huge chunk of my garage, for zero practical reason. Though I'd settle for a benchtop shaper. A lot of programs were written back in the days of MS-DOS that people got used to using, and they still work. You can't directly run MS-DOS programs anymore. You used to be able to right up to Windows 7, 32bit. If you've got an old program that still does a job, you're used to it, why change anything? There are programs that talk to hardware that run on MS-DOS, those programs and hardware represent a huge investment of time and effort, writing the program, building the hardware, and especially debugging the system. If you have those systems in production, you're going to do every single thing you can just to keep them running. You are certainly not going to risk any changes to a working system in the name of efficiency, especially if your business, or job, depends on it. In many, many cases the original people, documentation, and decisions that went into the design are all unavailable, and all you have left is the artifact that works reliably if you maintain it and feed it proper inputs. Museums and Archivists need to run old software to be able to retrieve old documents. For most cases, you could use DOSbox, or QEMU , but sometimes you need the old programs on the old hardware. Finally, and likely most importantly, is nostalgia. For many of us our first real computer was an IBM compatible running MS-DOS. Because you can't buy DOS any more, FreeDOS does the job.
- mattkrause 5y agoMy lab has some modern equipment (high-speed eye trackers) uses DOS host computers. The whole system is closer to an appliance than a general-purpose computer. You start the data acquisition software (literally one keystroke--we have it aliased to "t"), set some options with the keyboard, and the data is streamed out over ethernet or a DAC. The fact that nothing else is running in the background makes it pretty easy to keep real-time guarantees and the fact that it's DOS keeps people from messing with it. I have no doubt that you could probably get a modern Windows/nix system to run the tracker AND do other stuff, but I really doubt it would be worth the effort--it works surprisingly well.
- zozbot234 5y agoYou'd probably reimplement this stuff on a microcontroller, rather. Perhaps interfacing with a general purpose system for configuration and data output.
- tenebrisalietum 5y agoWouldn't an implementation of the DOS API basically fit on any modern microcontroller these days?
- prewett 5y agoThe only reason I can think of to still be using DOS is that you can do hard real-time processing with it. Although that seems fairly niche, and there are other options for that.
- AnotherGoodName 5y agoDOS on 386ex is still used on old style taxi meters and eftpos terminals that are still being made today. The near real-time support means that even the cheapest processor can read things like the pulses from the odometer without any misses, the version of DOS used is kilobytes in size so the components needed cost next to nothing and it boots up instantly (partly because the bios for the 386ex jumps straight into DOS without the memory and drive checks that a full blown x86 bios has). Sure you can also get a different embedded solution but you're going to be writing bare metal. DOS is a nice step up for these very low level use cases and very easy to develop for.
- iamtheworstdev 5y agothis video is almost hnsearchable on youtube because they're adamant that "dos" really means "does" or "do"
- mixmastamyk 5y agoWhat about "DOS" ?
- 1970-01-01 5y agoDOS did alright. It was never meant to be anything more than a basic CLI OS, and when everyone pushed it beyond that primary role, quirks and problems would appear, just like any other complex program.
- Koshkin 5y agoThis doesn't sound right to me - there was plenty of GUI-based applications, and having DOS at the base was usually not a problem (as long as you have the right device drivers - a problem not exclusive to DOS).
- 1970-01-01 5y agoThere really weren't device drivers in DOS. Programs would include drivers for running peripheral devices, and then YOU had to configure each one to work with DOS. This was the biggest problem with DOS. These programs talked directly to the hardware. Once TSR drivers were combined with CD-ROM and sound drivers, things would be very quirky during a GUI install. I remember Peter Norton put out some very good DOS books, and he wrote a few chapters about common issues with "Multimedia PCs".
- p_l 5y agoI recall that Peter Norton was also considered responsible for why many DOS applications required pretty much error-for-error IBM compatibles - because he advocated for directly dealing with hardware and disregarding DOS APIs (which, admittedly, were bad)
- mixmastamyk 5y agoDOS was a thing because computers were so expensive in the early 80s. Like incredibly expensive for paltry specs and performance that you wouldn't even take for free today. Thousands of 1980 dollars. In order for personal computers to be feasible they had to be cheap enough for people to afford, which meant they had to be downright primitive by today's standards. The OS as well, by extension. As mentioned in the video, early DOS is basically a boot loader, a few utilities, and a program loader written in assembler. That's it. Everything else is done by applications that have full access to the hardware. It even dumped the shell out of RAM while a large application ran, which is why it would run the floppy on exit looking for it. More substantial OSs already existed of course, Unix and VMS for example, but they came with million dollar price tags. Xenix was ported to the PC with the 286 I believe, but it wasn't cheap or practical for a while, and worse is better as the saying goes. The 386, Windows, and Linux weren't feasible until a decade later.