thought food

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
crazybuddha

thought food

Post by crazybuddha »

I have terminated the baby steps series, but there were a few (random) items that I was going to get to that I wanted to mention, for whatever it's worth.

The first computer I ever programmed was a KIM-1, which featured a MOS 6502 microprocessor. You entered hex values at the keypad, but since you could control each segment on the LED display, you could actually make it show text. It had an assembler in ROM. It could save the bit sequence out to a cassette player and read them back in. This was completely done through hardware. There was no software interface for this.

Although Apple produced a pre-assembled microcomputer kit, the TRS-80 was really the only game in town (due to cost and availability). It was the use of its optional disk drive (invented by Alan Shugart) that made an operating system necessary (and much less importantly, memory accesses needed it).

As more hardware options were added over the years, Disk Operating Systems became increasingly more integral to the usefulness of a microcomputer. There were many flavors of these, but CP/M (by Gary Kildall) was really the one that started to emerge as a standard (template is probably a better description).

When Apple began implementing its GUI (along with many other ideas from Alan Kay at Xerox), it needed a system that could run multiple full-blown programs (as opposed to TSRs). Although 'visionary' in the sense that it's what we expect a computer to be nowadays, it made programming hellish -- something Microsoft devotees would painfully experience eventually. To their credit, the Apple engineers made the best of a bad situation. The abstractions made for serious overhead with limited advantage in reality (i.e. nobody gave a hoot). They were eventually vindicated of course when they came out with their laser printer, which when combined with their interface, started the Desktop Publishing craze. Even though MS-DOS would continue to be the operating system of PC's for almost another decade, this is probably what made Microsoft pinch the idea of a GUI-OS (Apple had actually struck a deal with Xerox).

Back on the college computer scene all the while was Unix. It's raison d'etre was supposedly allowing many programmers to use a single computer simultaneously to minimize machine downtime. There's more to that story, but Unix could certainly be considered the jumping off point for "multitasking". For consumer machines, however, Apple was still the only significant player in OS concepts. A major evolutionary step came with NeXT, where Apple (Xerox) concepts met Unix on a consumer chip, but sadly people are sheep and the machines were too expensive anyway.

With the advent of game consoles, PDAs, the development of WWW as a mall and a library, and ubiquitous email, I think we see a change. I have watched the PC continuously justify itself for twenty plus years. Throughout this period, it has developed into a jack-of-all-trades as it develops new identities to keep the industry expansion alive. Its latest incarnation with the pouring of billions into the spread of the Internet has perhaps signaled the end of the general-purpose machine. Development machines will continue, much as they are used for microcontroller and console work. But consumers probably won't have any use for such things.

Something, perhaps, to ponder as you work on your operating system.
Tim

Re:thought food

Post by Tim »

Interesting. Do you see the need for separate development and consumer machines? If so, is it possible to produce a system (or OS at least) which caters for both developers and consumers? For example, all of the Unixes seem to be written by programmers for programmers, and for system administrators, and I don't think that, say, Linux can fully cater for 'regular' users until the mindset of its developers changes (despite the efforts of the KDE and GNOME teams).
crazybuddha

Re:thought food

Post by crazybuddha »

If I understand you correctly, the old thinking on OSes is to cater to both. As soon as people can hook their MP3 players directly to the Internet, they don't need a computer, unless it's to shop online. But that really doesn't require all the extra hardware either. Executives buy laptops for prestige. Give them a Blackberry and they no longer care. Gaming on the PC is relatively primitive. Digital cameras really shouldn't require a PC even if you want to send your photos to somebody else.

And as far as I can tell (not my area of expertise), servers are becoming single-minded.
K.J.

Re:thought food

Post by K.J. »

IMHO, an OS would have several different versions, each tweaked and trimmed down for that specific main task:
Server, Programming, Gaming, and then a general all around one for office work.

Of course, that's probably never gonna happen with any OS.

K.J.
Post Reply