The computers cost several millions of dollars and the hundreds of hours required to debug a program were a substantial cost as the machine was unavailable for other productive work during debugging. With the advent of early disks people realized that files on the disk could supplant card decks and editors and teletypes connected to the machine could supplant card decks and key punches. Timesharing was thus invented and the computer switched its attention to various programmers for split seconds.
There was wide spread skepticism that programs could be kept from interfering with each other but the skeptics were unaware that there was an informal, yet accurate, theory of computing by which one program could limit the actions of another. This did require special hardware which was uncommon in computers until the early 60’s. The pattern was to give each programmer the effective illusion that the machine was his own. There was as yet no notion that the programmer might want to run a program with less authority than himself. The Unix architecture was set late in this period.
When the personal computer arrived there was no room in RAM for police code, nor CPU features to limit program actions. And besides, the idea was to go back to the garden of Eden where you (the programmer) owned the machine and of course you wouldn’t run a bad program would you? Today few except Unix programmers are aware that a program might be limited in the actions that it might take.
Now (1996) the CPUs of the personal computer are much more powerful than the timeshared computers that served dozens of users in 1970, and the memory is many times as large. Yet the Wintel and Mac OS run applications all in the same space and with direct access to all of your files. Unix at least harkens back to the days of timesharing designed to prevent one user from ruining another.
In 2006 Windows and Mac OS have incorporated Unix like features that can be used to divide the machine into several parts, presumably for several people who might otherwise interfere with each other on a shared machine. Each individual user is still plagued with decisions about whether specific programs are to be allowed free run in their part of the machine. These systems also keep programs from interfering with the shared foundation software of the system, unless the program is being run with someone with administrator privileges.