AMD64/IA32e to be intentionally unsupported by tech industry?

Page 3 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

uncleX

Member
Nov 22, 2002
73
0
0
DOSes file structure.

I guess we are talking about directories. DOS was a functional copy of CP/M when MS licensed or bought it from a person that did the cloning, who didn't call it DOS. The versions of CP/MI had did not have other than a single (unnamed) directory, and I think the first versions of DOS did not either, although I came in late on that and so don't really remember, having stuck with CP/M on a Z80 as the IBM PC was taking over and marginalizing all other microcomputers. I remember Jerry Pournelle (in Byte Magazine) writing an article "The Z80 is not dead yet," about his pet computer Ezekial. That should have clued me in to the non-PC's imminent demise, but it didn't.

Let's put it this way: When you have only 243K of mass storage capacity, there is not an overwhelming clamor by user's for multiple directories, so DOSes "directory structure" is a difficult concept for me to wrap my brain around. When they started this directory business, it seemed like a burdensome nuisance to have to type directory names in addition to the file name, when the file name would do just as well if a directory weren't in the way. Keeping a particular software package's files logically grouped did eventually turn out to be useful as mass storage gained a lot of mass. Exactly why programmers seemed psychologically unable to grasp the concept of putting the whole program into a single file, I never quite understood, but in the beginning it wasn't bad; they were usually just a couple of files per program, but now they prefer a couple hundred, or a couple of thousand, and I suppose we can look forward to a couple hundred thousand.

Early computer users may recall that DOS got around the problem of directories by something they called the "PATH." Every new program you installed added its directory to the PATH. Then the OS would search through every directory in the PATH (which was every directory) any time a file was referenced. Then at some point, the PATHs were getting too long to fit in the OS buffer, so they devised a startup command to enlarge the buffer. Jeez, those programmers are clever, aren't they? In this day and age we have XP, so our worries are over. Every program now installs mammoth amounts of absolutely essential info in the registry/hive to keep track of where the heck its files may be, because they are most often strewn in various and sundry places for reasons only known to the developer (every reference embedding a drive letter, so that if the driver letter ever changes, the file can't be found.)

As MadRat mentioned, over the years one got used to where files might be stored under Windows, and what subdirectory names might be chosen for what. But that's it: you got used to it. Then MS would decide to change it.

What people are describing as Linux/Unix is a shell, or command line interpreter. It is this program which you see and input to when you type at a command prompt. command.com for DOS corresponds to sh, csh or bash, and you can use a different shell for DOS if you like, just as you can for Unix. There were many around when DOS was current. Some implemented long file names. Some implemented a Unix imitation. Why not? Obviously commands that invoked capabilities that DOS did not have, like multitasking, could not work, but any kind of file manipulation could be duplicated. There were also a lot of windowed, line-graphics shells that functionally duplicated what later appeared as a GUI with MS Windows 3.0. You could drag and drop with a mouse. Mice, multiple windows, drop down menus, dialog boxes, etc, were around before MS Windows. People used to use modems to dial up to what were called bulletin boards, which resemble what we call web pages and Internet forums, and download/upload files. A programmer named Ward Christensen became a folk hero for writing the key software for computer bulletin boards and putting it out for free (actually before DOS existed.) For later versions of DOS, there was a way you could suspend a program and switch to different programs, and switch back, but no hardware way for the computer doing that on it's own (multitasking.) Digital Research had created a little-used true graphical system called GEM that could be added to CP/M 86. When Apple introduced the Macintosh, DR put out a GUI that functionally simulated it on PCs, in the hope of saving their failing company, but Apple put a stop to that.

The important thing to remember about DOS was that it ran on computers ordinary people could afford to buy, when in contrast Unix only ran on computers in research centers, or that major corporations could only afford to rent. No wonder DOS sucks.
 

CTho9305

Elite Member
Jul 26, 2000
9,214
1
81
Originally posted by: n0cmonkey
Originally posted by: CTho9305
n0cmonkey and nothinman - cd is a builtin shell command on *nix too. Try 'which cd'.

# which cd
/usr/bin/cd

cst@unix44~% which cd
cd: shell built-in command.
cst@unix44~%
 

MadRat

Lifer
Oct 14, 1999
12,001
308
126
Originally posted by: spyordie007
No, some standard navigation and very basic commands are functions of the command interpreter (cmd.exe under NT/2K/XP, not command.com). Most programs you run from the command prompt are applications stored in the %systemroot%/system32 directory (ipconfig, arp, diskpart, et. al.).
-Spy

I think you have it backwards, because command.com is both in Win9x and WinNT kernels, and Cmd.exe only in NT variations.
If you type "command" or "cmd" on the Run line you'll get to the same place.

 

MadRat

Lifer
Oct 14, 1999
12,001
308
126
Originally posted by: uncleX
The important thing to remember about DOS was that it ran on computers ordinary people could afford to buy, when in contrast Unix only ran on computers in research centers, or that major corporations could only afford to rent. No wonder DOS sucks.

My point about DOS is that the masses grew up around it and are more likely to understand how it works. Its only some syntactual changes that would need to be done in Linux to cater to these people being that most DOS commands are already there, only with an m- prefix attached to them for some farking reason. ;)
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
n0cmonkey and nothinman - cd is a builtin shell command on *nix too. Try 'which cd'.

I never said anything otherwise.

(btw this also goes for people who want to move away from x86 because it's full of "cruft").

x86 is easier to move away from than a file structure, most OSS projects compile fine on other arches with little or no changes, Debian is a good example of this.

Exactly why programmers seemed psychologically unable to grasp the concept of putting the whole program into a single file, I never quite understood, but in the beginning it wasn't bad; they were usually just a couple of files per program, but now they prefer a couple hundred, or a couple of thousand, and I suppose we can look forward to a couple hundred thousand.

Code or data reuse. If you put everything in the executable it's hard to load it from another executable and the fact that you can replace 1 file and have a totally different program (think Doom and WAD files) is a great advantage.

The important thing to remember about DOS was that it ran on computers ordinary people could afford to buy, when in contrast Unix only ran on computers in research centers, or that major corporations could only afford to rent. No wonder DOS sucks.

And that's also the reason Linux exists, because unix was too expensive and DOS sucked too bad for Linus to use.

I think you have it backwards, because command.com is both in Win9x and WinNT kernels,

It's in neither kernel, but yes only command is shipped wth Win9X while both are shipped with NT.

If you type "command" or "cmd" on the Run line you'll get to the same place.

No you won't. If you run command you get the 16-bit command.com, it's really slow, has no tab completion and gets confused with long filenames. cmd is the 32-bit interpreter and that's what you should be running on NT.

My point about DOS is that the masses grew up around it and are more likely to understand how it works.

Very few of the 'masses' I know grew up with DOS and most of them can't even work Windows besides what we tell them how to do. And those that can work Windows are far from really understanding how it works. Sure there are people that grew up with DOS and know it well, but that's no reason to ignore the fact that it sucked then and it sucks now.

Its only some syntactual changes that would need to be done in Linux to cater to these people being that most DOS commands are already there, only with an m- prefix attached to them for some farking reason

If you really want things like md and dir to work all you have to do is setup some shell aliases, but IMO it's not worth it because you've basically confined yourself to your own system because no other unix system will have those aliases setup.
 

MadRat

Lifer
Oct 14, 1999
12,001
308
126
If you're looking at confined in a relative way, is that not what Linux is now? Its growth is largely based on non-U.S. penetration of the OS, not domestic use. Sure its picked up steam in the U.S. for servers, but people still reject it for the desktop. Personally it can do 95% of my job, as far as work for me goes, but it's not too terribly good for MS-based gaming.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
If you're looking at confined in a relative way, is that not what Linux is now?

No. Most of the basic commands translate verbatim onto every other unix, commercial or not and the ones that don't directly translate usually only have minor differences. I'm not saying that if you can install RedHat you're ready to be a Tru64 admin, but the learning curve would definately be lessened if you can. As much as MS would like you to believe it, the computing world doesn't revolve around them. Hell IIS barely has a ~20% share of the websites on the Internet according to Netcraft, ~67% of the rest are Apache.

Sure its picked up steam in the U.S. for servers, but people still reject it for the desktop.

Most people aren't even offered it as an option so you can't say they outright reject it.

Personally it can do 95% of my job, as far as work for me goes, but it's not too terribly good for MS-based gaming.

Well no sh!t. You said it yourself, MS-based gaming. Why in the hell would you expect it to be able do run programs that weren't designed for it? The fact that WINE runs anything is a miracle and it'll always be behind since there's almost no docs for a lot of the things they're trying to implement. OS X isn't any good for MS-based gaming either but there are still a group of people that love them more than Windows.

Linux won't make any huge inroads on the personal desktop until the corporate inroads are made and they're already starting. A ton of people simply use at home what they have at work because it's what they've been taught, if they're ever given Linux on their work desktop they'll most likely have the same thing at home so they can work from home, especially if it's a company provided box.

And I never said Linux made a great desktop for everyone, I just said it's lightyears ahead of DOS in every way imaginable. The fact that Linux has been on my desktops for 6 years if you count my early dual-boot days proves it can work though, games are really the only thing left holding some people back. I personally only really play Q3 once in a while and that has a native Linux port, the rest of the games I play are either on work machines already running Windows (luckily I'm only stick with 1 of those) or consoles.
 

drag

Elite Member
Jul 4, 2002
8,708
0
0
Originally posted by: n0cmonkey
Originally posted by: CTho9305
n0cmonkey and nothinman - cd is a builtin shell command on *nix too. Try 'which cd'.

# which cd
/usr/bin/cd

It depends on what shell you use, too. My bash shell has cd built in, but others don't. Then you have things like busybox were you have aproximations of common commands in one program, it's designed for low memory footprints. You'll see it get used on embedded platforms, floppy-based distributions, and initrd images.


If you want to go around designing your own trees, more power to you. But keep in mind the one we use now has not been spontaniously created 20 years ago, but has been sutbly changed and modified to meet the changing needs of modern computers and software technology.

Keep in mind that whatever you choose has to be usefull for everything. Not only desktops, but high end servers, low end servers, embedded platforms, telco switches, rendering farms, computational clusters, and computers that don't even have traditional disk setups, mainframes, and everything imbetween.

For example if you only have a minimalist root partition built into a rom chip on a motherboard, how is your directory structure going to be designed to allow you to piece together a entire operating system from network shares? Right now you need to have /boot /sbin and /bin built into the rom chip. Then you have abstact psudeo filesystems like /dev and /proc that only need to exist logicly. The rest of OS can be built from those directories.

How would your setup react in a situation like that?

I personally only really play Q3 once in a while and that has a native Linux port, the rest of the games I play are either on work machines already running Windows (luckily I'm only stick with 1 of those) or consoles.

Ditto. I play quake3 thru x86 port, mostly mods. Right now my favorite is true combat. Then I have a couple games like Neverwinter nights that I play that are native. Then I have a variaty of little garage/indepent games that I play. Then I have my nintendo hooked up thru a tv capture card. Then I buy cheapo old games for that (right now I am slogging my way thru Super Mario Sunshine).

I don't even use my television anymore, I have my TV cap. card for anything I care about from TV, and thats only once of a while anyways. Maybe get a projector for watching movies from my computer when freinds are over, or maybe get one of those big hdtv and hook that up to my computer.