Saturday, September 25, 2010

Running With Your Period?

The birth of UNIX

everyone. I am aware that is a chapter of the Commodore Amiga series, the third and last but due to personal circumstances I have no available access to the documentation that was on it, so, if I may, until you can finish the series will continue to speak of other issues. The

today is one that I have always aroused curiosity. The legend goes on to say that Ken Thompson was idle for the world after the failure of the MULTICS operating system development work, a PDP-7 with laughter by the Bell (which worked) and began to develop an operating system with many MULTICS ideas but taking away some things, then taught it to his colleagues and decided to port it to another more powerful machine with the language that had just formed Denis Ritchie, C. That is myth, but ... How true is it?

Fernando J. Corbató.jpg

As always, every event has to be placed in its proper context, ie we must go back to the top. And the principle of UNIX is in MULTICS. MULTICS was a project led by Fernando J. Corbató (pictured), a computer scientist who worked at that time at MIT as an expert in computer systems timeshare. Under his tutelage in 1964 teamed General Electric, Bell Labs and MIT itself to create a time-sharing operating system that will provide future operational systems of this style. Although there were several types of time-sharing systems, most were the result of experiments that had been developed in universities and laboratories, so the idea of \u200b\u200bMULTICS was to take all these experiments and agglutinate into one that incorporated all the good things that had been created over some of their own.

However, the project encountered many problems (it was too big and heavy for the time, we might even say too ambitious), prompting many critics to abandon Bell made the development of the system. Finally, yes MULTICS was completed a few years later, but was a major commercial failure, although many of his ideas were very interesting and innovative, as demonstrated used to see it implemented in future operating systems.

However, although Bell had abandoned the project, did not mean that all the work done in the past five years fell on deaf ears, and several of the engineers involved in the development of MULTICS (Ken Thompson, Dennis Ritchie, Doug McIlroy and JF Ossanna) continued to work in the field of shared systems.

There was one problem. They were working on developing a new system capable of supporting multiple users at once (which could do MULTICS) in a simple and economical (which did MULTICS), but of course ... without a computer to work with all was, how to say, a little more complicated, so it made several requests to the Bell for the purchase of equipment with which to work, which were all rejected requests (think of the enormous costs that have computers at that time, something difficult to justify for a group like this that just was investigating and did not even know if I could get something out there, huge costs even for a giant to the Bell).

On the same day or so, Ken Thomson, who could be called the father of the original idea of \u200b\u200bUNIX (least the first drive of the creation of a new operating system), had developed a game called "Space Travel" a GE 635 (a General Electric machine, one of three partners MULTICS). However, this was not very suitable for computer programs such as graphic about the limited capacities in this regard with which it was designed, so for all was a blessing to find a DEC PDP-7, which was equipped display capabilities far superior to the GE 635 and was hardly used by anyone, so Ken Thomson began working on porting their game to this machine. It may not seem to have this much to do with UNIX, but thanks to this project Ken Thomson learned the idiosyncrasies of the DEC machine and enough tricks to feel confident at the time of developing her ideas about the new operating system that came prowling through his mind for some time. They had to work with computer.

first thing that was developed was the system files, and once followed the shell, an editor and an assembler would be able to "assemble" himself (remember that much of the code then those systems are pulling in assembler). Once you could create and manipulate files, edit code and assemble without the need to work on other machines and then pass it to the PDP-7, ie once had a system that could be autonomous in order to work, it began to work directly on the operating system itself.

And like any system, needed a name. This came from the hand of Dennis Ritchie in 1970, which suggested to Ken Thomson on behalf of UNIX, because on one hand it seemed their pronunciation to that of MULTICS, a system in which it was based, and the eunuch , a eunuch in English, since it basically was a MULTICS UNIX "castrated" that have been removing things in the pursuit of simplicity.

NewImage.jpg

system gradually grew and reached the point where the original machine that was installed on the PDP-7, had become too small to accommodate the project. Fortunately, with the growth of the project grew its usefulness and also the number of people who used it in the Bell.

For the type of use being made of UNIX, its developers were adapting the system to enhance the treatment of text files. Due to system facilities for the treatment of flat files (ie text only), an early internal customers of the project was the patent department of Bell.

Since the experiment was very successful, the group gained credibility within the firm and strong enough to get permission to buy a new machine, a whole brand new, brand new PDP-11/45 DEC for $ 65,000 in 1970 (which you can see in the picture along with Dennis Ritchie, who is standing, and Ken Thomson).

Now there was a small problem when porting all the old UNIX system to the new PDP-7 PDP-11, which is that the whole system was written in assembly and therefore was inconsistent from one machine to another (now hard to understand that a new system is backwards incompatible, but ... were other times, and times were more expensive computer that hours of programming).

course, there was the possibility of carrying all the code for the PDP-7 PDP-11, but in the future they wanted to port to another machine that was not a PDP-7 or PDP-11 would require to adapt back again code as Ken Thomson and Dennis Ritchie decided to port the UNIX code to the new language that Ritchie had developed from language B in 1971. While UNIX until then had been written in assembly, applications are developed in assembler and some other language B, but that language had some shortcomings, so Ritchie decided to develop a new language based on B to include concepts such as structures and data types, thing lacking B. Since it was an evolution of language B, called C Ritchie, finishing porting UNIX code Assembler PDP-7 to C language in 1973.

Until that time operating systems were written exclusively in assembler for efficiency reasons, so developing an operating system written in a portable programming language was a milestone. While assembly code was (presumably) more efficient, the C language was considered more legible and easy to modify, as well as being portable between machines with different architecture, so that was quickly evolving.

UNIX in 1974 made his first appearance in public when published in the journal Communications of the ACM an article explaining the simple and elegant design of UNIX. With this document, the number of machines installed UNIX grew at about the 600, a success that if you did not grow in time UNIX entered college and began to be studied, developed further by the number of new students to use it and, above all, working on it both to create new applications and to improve the system itself .

UNIX was growing, expanding, mutating, creating disputes over licensing issues and rights ... But that's another story and will be told at another time ...