Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!dali.cs.montana.edu!caen!sdd.hp.com!cs.utexas.edu!asuvax!ncar!csn!kessner!david From: david@kessner.denver.co.us (David Kessner) Newsgroups: comp.sys.amiga.advocacy Subject: Re: 8-bit death Message-ID: <1991May1.064455.3058@kessner.denver.co.us> Date: 1 May 91 06:44:55 GMT References: <1991Apr28.122439.13393@sugar.hackercorp.com> <1991Apr28.162045.15585@daffy.cs.wisc.edu> <1991Apr30.112820.2451@sugar.hackercorp.com> Organization: Kessner, Inc. Lines: 118 In article <1991Apr30.112820.2451@sugar.hackercorp.com> peter@sugar.hackercorp.com (Peter da Silva) writes: >In article <1991Apr28.162045.15585@daffy.cs.wisc.edu> dinda@cat55.cs.wisc.edu (Peter Dinda) writes: >> WRONG. >I love it how these college freshmen are so bloody sure of themselves. What makes _YOU_ so sure? >> MS DOS is a 16 bit REAL MODE operating system. You may be getting >> confused since something like OS/2 1.x is a 16 bit PROTECTED MODE OS, while >> OS/2 2.x is a 32 bit PROTECTED MODE OS. > >I'm not confused, bucko. You are. Look at what you wrote: full of intel >marketing terms for privileged mode, user mode, and so on. I would not call it marketing hype. More like a difference in religion and it's terms. In the Motorola processors, privileged/user modes are used to allow the OS to execute several instructions that normal programs should not be allowed to use-- because they can effect the integrity of the computer. The 286/386/486's have a similar mechanism for this-- that is _loosely_ tied to 'protected mode'. What protected mode _really_ means is that the MMU is turned on fully-- and that _MEMORY_PROTECTION_ is turned on, hence the name "Protected mode". Since the 8088/8086 did not contain anything even closely resembling an MMU, it does not have a protected mode. (While I imply that the 286 _does_ have an MMU, I will agree that it only resembles an MMU in the most broad sence of the word.) It's not a marketing term-- mearly another name for what is taken for granted on most 32 bit CPU's. Intel users could not take it for granted since they never had it before (and judging by all the MS-DOS software out there, they still dont have it :). >As far as the programming model (the only one that counts) is concerned, >the 8088 is an 8-bit processor with 4 bank-select registers built in. There >were companies doing operating systems for bank-selected 8-bit micros that >would have blown your socks of: Cromix from Cromemco, a UNIX-like O/S on >multiple bank-switched Z80s. OS/9 from Microware, still available for the >Radio Shack color computer, and still a 16-bit O/S for all it's running >on a 6809. In _every_ respect, the 8088/8086 is a _16_ bit CPU. Eveything from the instruction set to it's registers indicate this. MS-DOS fully utilizes all of the 8088 features, so I will classify it as a 16 bit OS. What the 8088 is not is a 24 or 32 bit CPU. It is strictly a 16 bit device, even down to the address calculation section of the chip. In this section, all addresses are calulated to 16 bits, then at the last moment it is added to the segment prefix, yeilding a 20 bit result (ok, there is one >16 bit thing in it). Anyway, Intel choose to use segments to give it a 1 meg address range rather than increase the registers and what-not to 24 or 32 bits. I'm sure that in the late 1970's this seemed to be the reasonable thing to do, however hindsight shows it in a different light. And as we all know, this has been proved by most to be _stupid_. I really must say, however, that the addressing of the CPU has no effect on the number of bits that the OS "is". Weither the OS is multi-tasking, multi-user, how much memory it supports, if it has virtual memory, or even if it supports hard drives has _NOTHING_ to do with how many bits the OS is... >Oh? It's not an extent-based file system, with 8+3 filenames, CR/LF as the >line terminator, and so on? It's not still purely single-tasking? They now >provide real interrupt-driven device drivers? Hmmm... Yes, MS-DOS has been re-written several times-- but no-one is saying that it is a _good_ rewrite. It is also a common mis-conception that the PC's intterupts are somewhat lacking. Well, the only thing they lack is a limit of 15 intterupt sources on the ISA bus. They are fully 'hard' vectored, etc, etc... The 'device' drivers are intterupt driven-- and all third-party drivers that I know of are intterupt driven. The only driver that is not is the DOS/BIOS serial drivers-- but _NO_ONE_ uses that driver, choosing to use their own custom drivers (this has been common practice since about 1983). >No. Actually, MS-DOS is worse than CP/M. CP/M never got caught into the trap >of becoming specific to one piece of hardware. Wasn't CP/M specific to Z80 (and the like) CPU's? I don't know which is worse, Z80 or MS-DOS... No-one ever said that MS-DOS is anything close to GOOD... In fact, it is common knoledge that MS-DOS isn't worth the rust it is stored on, but... The original dis-agreement was if MS-DOS is 8 or 16 bits-- and you know my opinions on that! >> Take this from someone who has programmed for MS DOS and used CP/M. > >Take this from someone who has programmed both MS-DOS and CP/M, who did >a Forth-based multitasker that ran fine under CP/M in 1983, and who has >used and programmed under more different operating systems than you can >spell. Then you ought know better! Both you and I know that the 8088 CPU's have 16 bit registers, and in the case of the 8086/80186/80286 they have 16 bit data paths. MS-DOS utilizes those registers (all 16 bits) to do it's calulations and what-not. It doesn't matter if it emulates CP/M's bugs. The fact that it uses 16 bit registers and numbers is well known/documented, and should be proof enough to it's "Number of bits". C'mon Peter, I've heard more intelligent things come from you before! >Peter da Silva. `-_-' >. -- David Kessner - david@kessner.denver.co.us | do { 1135 Fairfax, Denver CO 80220 (303) 377-1801 (p.m.) | . . . If you cant flame MS-DOS, who can you flame? | } while( jones);