4 ms·
DOS was essentially a clone of CP/M, which did not have a hierarchical directory structure either. When the main form of storage were floppy disks which only he
by ch_123 5y ago
DOS was essentially a clone of CP/M, which did not have a hierarchical directory structure either. When the main form of storage were floppy disks which only held a few hundred KB, you generally didn't have enough files to need a directory hierachy.
The addition of hierarchical directories to DOS was driven by the inclusion of hard drives in the PC XT.
- bombcar 5y agoIn fact floppies themselves were the folders - you'd have a box of floppies on your desk and pick the one you needed for whatever you were working on.
- p_l 5y agoApparently it took DOS 2.0 copying ideas from Unix (which was also being sold by Microsoft) like hierarchical directories or pipes, that made DOS win over CP/M-86 by anything other than "it's included by default, most of the time". At the time, there was strong danger that the well known and accepted CP/M could make a comeback on PC.
- rep_lodsb 5y agoDOS 2.0 was originally supposed to be a single-user version of Xenix. There were some undocumented options to make it more Unix-like, which were removed in later versions: https://www.youtube.com/watch?v=Vo8NG8T4rWs https://www.youtube.com/watch?v=Vo8NG8T4rWs The connection with Xenix is also pretty clear from the file names and comments in the released source code: https://github.com/microsoft/MS-DOS/blob/master/v2.0/source/XENIX.ASM https://github.com/microsoft/MS-DOS/blob/master/v2.0/source/... https://github.com/microsoft/MS-DOS/blob/master/v2.0/source/XENIX2.ASM https://github.com/microsoft/MS-DOS/blob/master/v2.0/source/...
- PopAlongKid 5y agoI don't need to watch the video to know that two of these options were entries in CONFIG.SYS, one of them "SWITCHAR" as I recall. It would cause DOS to use forward slash instead of backslash for separating components of a pathname, and it would use hyphens instead of forward slashes for command line options, both just like Unix.
- rep_lodsb 5y agoYou are correct, and the other one is AVAILDEV. Set it to false, and device names like CON only refer to the device when prefixed with "/dev/". Microsoft did have a reason to remove these features: compatibility with batch files. "\dev\" actually remained special in all later versions, in that it can always be used to open a device, even if that directory doesn't exist. This could break a common idiom in batch files to test if a path is valid: C:\> if exist \dev\nul echo Yup, still there (I don't have a recent version of Windows to test this on, interested to see if it still works!)