Path: utzoo!attcan!uunet!comp.vuw.ac.nz!gp.co.nz!zl2tnm!don From: don@zl2tnm.gp.co.nz (Don Stokes) Newsgroups: comp.arch Subject: Re: How wrong is MS-DOS? Message-ID: Date: 9 Jan 91 11:07:20 GMT Organization: The Time Machine Room Lines: 83 ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University) writes: >I'd like to butt in and suggest that this discussion about merits >of PC operating systems is on completely the wrong track. >As soon as you accept this, it becomes obvious that MS-DOS was >badly designed from day 1. Microsoft *should* have done a >better job, even allowing for the fact that they couldn't have >foreseen most of the technical developments that have happened >in the last ten years. Agreed, although it appears the MS-DOS was created in rather a hurry, and as a bit of an afterthought. I don't think it's really fair to say MS-DOS was "designed", rather "evolved" from existing operating systems. >Consider what an operating system is supposed to do. Different >people have lots of different ideas on this, but among the most >important design principles that I can think of are: > 1) Shield the application program from hardware dependencies, > and variations in system configurations. > 2) Provide a standard interface to services that allow > transfer of information between applications. > 3) Implement other useful services that application programmers > find themselves reinventing. >Principle 1 leads to such ideas as "device drivers" to hide the >differences between floppy disks, SCSI hard disks, disks on >network servers etc (broadly speaking). Principle 2 leads to the >conclusion that, if two or more applications are going to be able to >access common data on those same disks, then you must have a common format >for storing that data, and hence (to guarantee consistency) the >operating system must provide the interface for accessing the >data. This leads to the concept of file systems, and their >extension into ISAM managers, database servers and the like. There are two opposed views here -- some say applications should be free to do what they like, and the OS should butt out and stick to Principle 1, and others (like me) say that any kind of standardisation effort has to centre around the OS, or at least standard (ie provided with the OS) software, providing a path of least resistance towards applications that talk to each other properly. This is the stuff of VMS vs Unix flame wars.... >Getting back to MS-DOS, my assertion is that its design was based >more on how contemporary OSes did things, rather than on *why* they >did them. It was an adaptation of features to be found in multi-user >minicomputer operating systems, without regard for the fact that those >systems ran in a rather different environment, under different constraints, >from a PC. >"Hindsight!" I hear you cry. Nobody could have foreseen the directions >that the PC industry took, or the sorts of applications that PCs would >be put to. Almost entirely true. Almost. >At the time the first version of MS-DOS was being developed, there >was already at least one wildly successful PC application, which was >obviously a pointer as to what many future applications would be like. >I'm talking about Visicalc. >If MS-DOS had been designed to make applications like Visicalc easier >to implement, it would have been a much better PC operating system. >What made Visicalc different from anything that had been seen in >the multiuser mini/mainframe world? It was _interactive_. It responded >instantly to every keystroke, and it achieved this by writing directly >to video RAM. Well, it was done that way because the apple ][ suffered exactly the same problem as MS-DOS -- the standard keyboard/screen I/O routines forced you to resort to talking to screen memory/hardware registers directly. Visicalc lookalikes were implemented successfully on CP/M machines, without using such tricks (but they did need to know what you were using for a terminal). One could say that the "designers" of MS-DOS failed to learn from mistakes that had already been made. Don Stokes, ZL2TNM / / don@zl2tnm.gp.co.nz (home) Systems Programmer /GP/ GP PRINT LIMITED Wellington, don@gp.co.nz (work) __________________/ / ---------------- New_Zealand__________________________