A lot of early dos development was trying to see how many unix concepts they could fit, directories, pipes, environment, devices.
EvanAnderson 2 hours ago [-]
This is enlightening. Growing up playing with Unix boxes (and XENIX, specifically, mostly writing shell scripts and playing in the filesystem) and programming MS-DOS in assembly I could often see strange parallels between how stuff worked in MS-DOS and his stuff was in Unix. I just assumed MSFT programmers had used Unix at some point and wanted to lift features and idioms from it to use in DOS. It never occurred to me, knowing XENIX was a MSFT-licensed Unic derivative, that there might be more direct inspiration in that vague Unix "flavor" in DOS.
I never did any CP/M programming, so the whole FCB-based file manipulation API in MS-dos just seemed like strange old cruft to me. Had I been exposed to CP/M the Unix inspiration behind the handle-based API would have been a lot more apparent. (I got in about the MS-DOS 3.3 timeframe...)
What a strange world it would have been in MSFT got IBM to buy into the Unix path separator.
WalterBright 1 hours ago [-]
CP/M showed a lot of similarities to DEC's RT-11.
euroderf 24 minutes ago [-]
> the Unix path separator.
Using the backslash: one of those incredibly idiotic things that caused untold misery and time waste further down the road. Future generations cursed the day.
markus_zhang 4 hours ago [-]
I was teaching myself 8086 16-bit assembly a few nights ago on MS-DOS 5.0. It was so much fun getting a color block to display on CGA.
Nevertheless, writing system code in assembly was probably going to cause a lot of insomnia and other side effects, especially when Microsoft was far from the domination force on IBM PC.
WalterBright 1 hours ago [-]
The easy way to write assembler for a machine with no compilers is to write the code in C, get the algorithm right, then translate it to asm.
walrus01 7 hours ago [-]
I know this is software focused, but as much of the work done in DOS 2.0 was to support the introduction of hard disks, it would be worth mentioning what the hardware was in the PC/XT:
I love that for the next few years they were commonly called Winchester drives due to IBM's original naming in the early 70's.
glimshe 5 hours ago [-]
My dad still called it "Winchester" well into the 80s. I remember when we got our first "Winchester", a 20MB hard drive.
WalterBright 1 hours ago [-]
My first hard drive was 6Mb. I had to design/build my own interface board for it, and write the driver for RT-11.
walrus01 4 hours ago [-]
As I recall 8 inch class HDD (5, 10, 20MB?) were called Winchester in the pre-PC/XT era, named for the earlier IBM product, and then the terminology carried on into the microcomputer/desktop world when the 5.25" full height HDD was introduced for the XT.
jmclnx 6 hours ago [-]
>Even a scaled-down version of Unix was too demanding for the 8086 chip”.
Interesting. At my old job I got my hands on Wang IN/ix around 1985, a 16 bit UNIX.
It ran on an 8086 but needed 512k memory. It ran fine. I wonder if memory was the main issue ? But seems the issue was probably memory for IBM and MS
somat 5 hours ago [-]
2BSD is still hanging on getting updates and forked projects to this day. My understanding is that it's longevity in the face of the existence of 4bsd is because it is 16-bit clean, These days it is mainly for people who want a unix for their microcontroller.
I don't know if anyone has done it but it looks like it could fit, perhaps not on a original 8086 PC, but perhaps a 286 with 640K.
Narishma 3 hours ago [-]
Yes, memory was the main issue. The PC launched with 64KB of RAM. Technically there was a model with 16KB of RAM and no disk drive but I don't think they produced or sold many of those.
aYsY4dDQ2NrcNzA 3 hours ago [-]
640
Narishma 3 hours ago [-]
64, not 640.
defrost 2 hours ago [-]
Well, 16 KB - 256 KB, with a directly addressable 64 KB and a segmented architecture to reach further.
>"But it soon became clear that IBM was committed to keeping DOS 2.0 as close as possible to the eight thousand bytes [8K] used by DOS 1.1, so as not to disrupt their existing user base. [...] The first version of MS-DOS 2.0 shipped with IBM PC XT as PC-DOS 2.0 on March 8, 1983. It required about 20 KB of RAM, far more than MS DOS 1.0, so both versions continued to be sold simultaneously for a while."
And that approximate doubling, in RAM requirements, year by year (compare to Moore's Law for hardware!) for Microsoft's OS'es, has got us, fellow students of computer history, to where we are today -- with Microsoft OS'es being the size that they are and requiring the RAM that they do!
And it all started with upgrading (or "upgrading", take your pick of term!) an 8KB OS to a 20KB OS! :-)
Rendered at 07:28:17 GMT+0000 (Coordinated Universal Time) with Vercel.
https://github.com/microsoft/MS-DOS/blob/main/v2.0/source/CO...
I never did any CP/M programming, so the whole FCB-based file manipulation API in MS-dos just seemed like strange old cruft to me. Had I been exposed to CP/M the Unix inspiration behind the handle-based API would have been a lot more apparent. (I got in about the MS-DOS 3.3 timeframe...)
What a strange world it would have been in MSFT got IBM to buy into the Unix path separator.
Using the backslash: one of those incredibly idiotic things that caused untold misery and time waste further down the road. Future generations cursed the day.
Nevertheless, writing system code in assembly was probably going to cause a lot of insomnia and other side effects, especially when Microsoft was far from the domination force on IBM PC.
https://en.wikipedia.org/wiki/ST-506/ST-412
https://www.google.com/search?client=firefox-b-d&q=ST-212+ha...
Interesting. At my old job I got my hands on Wang IN/ix around 1985, a 16 bit UNIX.
It ran on an 8086 but needed 512k memory. It ran fine. I wonder if memory was the main issue ? But seems the issue was probably memory for IBM and MS
Here is one, https://github.com/RetroBSD/retrobsd. This is for the pic32, so I may be wrong about the 16-bit thing.
I don't know if anyone has done it but it looks like it could fit, perhaps not on a original 8086 PC, but perhaps a 286 with 640K.
I had one of these in mid 1982 to late https://en.wikipedia.org/wiki/IBM_Personal_Computer
And that approximate doubling, in RAM requirements, year by year (compare to Moore's Law for hardware!) for Microsoft's OS'es, has got us, fellow students of computer history, to where we are today -- with Microsoft OS'es being the size that they are and requiring the RAM that they do!
And it all started with upgrading (or "upgrading", take your pick of term!) an 8KB OS to a 20KB OS! :-)