Thursday, October 20, 2011

My Linux essay (incomplete)


I wrote this as part of my school. It's about Linux ,an open source operating system.




Linux essay
It all started in 1991 when DOS (basically the old windows) reigned supreme and was the only operating system adequate for the masses. It was owned by Bill Gates which was bought from a Seattle hacker for $50,000. Apple systems were available but were extremely highly priced and the only other option was the UNIX OS. UNIX wasn’t free, far from it in fact. Like apple it was also highly priced so as to keep the average user away from it and all. Its source code was cautiously guarded and kept secret although it had once been taught at Universities. It was owned by Bell labs. So as you can see it was a pretty limited experience back then and very frustrating for many.

Then Minix was invented and it seemed a solution had been found. It was written from scratch by Andrew S. Tanenbaum, a US-born Dutch professor written mainly as a teaching tool. It was designed to work with the popular 8086 microprocessors that were around then. It had its own specific book called ‘Operating Systems: Design and implementation’ which anyone who had it could read the very code (source code) which made up the OS. It was a great inspiration to many because now programmers and hackers worldwide could see the code for themselves and the very basics of the systems. Students of computer science from all over studied the 12,000 lines of code and were inspired by this new outlook and one of them was Linus Torvalds.

In 1991 Linus Benidict Torvalds was studying computer science at the University of Helsinki. He was 21 and loved to experiment with the power of computers. He felt held back by the lack of a good industry strength operating system. He thought Minix was good but just not strong enough for him as it was designed for teaching.

At that time programmers worldwide like Linus were inspired by the GNU project, a software movement by Richard Stallman to provide free, quality software to many. In the early 1980’s major software companies were employing many of the programmers from the famous Artificial Intelligence Laboratory at MIT (Massachusetts Institute of Technology) , where Richard Started his career, and established agreements that made them keep all the code a secret and not make it available and open source. But Richard Stallman had a different idea which was where the GNU project came from. He wanted to make software free from restrictions against copying and modification in order to improve software and make it more available through the community that used the software. With his famous 1983 manifesto marking the start of GNU he started producing the tools needed to achieve the ultimate dream of creating a free operating system with these ideas. He created the GNU C compiler (a program to write programs in the C programming language) which was an amazing feat by one man, alone surpassing the ability of whole groups of commercial programmers. The compiler is considered one of the most robust compilers ever created.

By 1991 ,back to where we started, there were a lots more tools created by the GNU project but still no OS. Work was going on on it but it was still a few years away which was too long for Linus to wait.

In August 25, 1991 the historic post was sent to the MINIX news group by Linus .....

From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.FI>
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki 
Hello everybody out there using minix -
I'm doing a (free) operating system (just a hobby, won't be big and
professional like gnu) for 386(486) AT clones. This has been brewing
since april, and is starting to get ready.I'd like any feedback on
things people like/dislike in minix, as my OS resembles it somewhat
(same physical layout of the file-system(due to practical reasons)
among other things). I've currently ported bash(1.08) and gcc(1.40),and
things seem to work.This implies that I'll get something practical within a
few months, andI'd like to know what features most people would want. Any
suggestions are welcome, but I won't promise I'll implement them :-)
Linus (torvalds@kruuna.helsinki.fi)
PS. Yes - it's free of any minix code, and it has a multi-threaded fs.
It is NOT protable (uses 386 task switching etc), and it probably never
will support anything other than AT-harddisks, as that's
all I have :-(.
As you can see from the e-mail Linus didn’t have high expectations of the “project” that was to change computing forever. Linux version 0.01 was released by mid-September and was put on the internet for people to download, use and tweak. Enthusiasm gathered around it and after some additions by Linus, version 0.02 came out on October the fifth the same year:

From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds) 
Newsgroups: comp.os.minix 
Subject: Free minix-like kernel sources for 386-AT 
Message-ID: <1991Oct5.054106.4647@klaava.Helsinki.FI> 
Date: 5 Oct 91 05:41:06 GMT 
Organization: University of Helsinki 
Do you pine for the nice days of minix-1.1, when men were men and wrote their own device drivers? 
Are you without a nice project and just dying to cut your teeth on a OS you can try to modify for your 
needs? Are you finding it frustrating when everything works on minix? No more all-nighters to get a nifty program working? Then this post might be just for you :-)
As I mentioned a month(?)ago, I'm working on a free version of a minix-lookalike for AT-386 computers. It has 
finally reached the stage where it's even usable (though may not be depending on
what you want), and I am willing to put out the sources for wider distribution. It is  just version 0.02 (+1 (very 
small) patch already), but I've successfully run bash/gcc/gnu-make/gnu-sed/compress etc under it. 
Sources for this pet project of mine can be found at nic.funet.fi (128.214.6.100) in the directory /pub/OS/Linux. 
The directory also contains some README-file and a couple of binaries to work under linux 
(bash, update and gcc, what more can you ask for :-). Full kernel source is provided, as no minix code has been 
used. Library sources are only partially free, so that cannot be distributed currently. The system is able to compile 
"as-is" and has been known to work. Heh. Sources to the binaries (bash and gcc) can be found at the 
same place in /pub/gnu.

 Version 0.03 came out 3 weeks after and version 0.10 by December, each time getting a little more advanced but version 0.10 was still no more than the skeleton of Linux. It only had support for AT hard disks (an old type of hard disk) and had no login (booted into a command line environment). V0.11 was much better with support for different language keyboards and VGA/ EGA ports.
The version numbers went straight from 0.12 to 0.95 (I can’t find why) and then carried on as normal (0.96, 0.97 etc.). The project had become quite a big thing by this point and the source code of Linux ,as it was, went worldwide via FTP sites for people to use and develop themselves soon after version 0.97.
Along the way Linus faced some negatives from Andrew Tanenbaum, the creator of MINIX. He was well respected by Linus and what Tanenbaum said mattered.
Tanenbaum criticised Linux in a post to Linus saying:

"I still maintain the point that designing a monolithic kernel in 1991 is a fundamental error. Be thankful you are not my student. You would not get a high grade for such a design :-)" 
(Andrew Tanenbaum to Linus Torvalds)

Tanenbaum also said “Linux is obsolete”.
Linus later said that this was the worst point in Linux’s development and although Tanenbaum’s word certainly mattered to him, Linus was a stubborn guy who wouldn’t admit defeat and gave a spikey reply:

Your job is being a professor and researcher: That's one hell of a good excuse for some of the brain-damages of minix. 
(Linus Torvalds to Andrew Tanenbaum)

And work went on. Many, many more people joined the Linux community, going from hundreds to thousands to hundreds of thousands and soon it was no longer a toy or something to be dismissed; backed by a plethora of programmers from the GNU project Linux was gaining momentum. It was licenced under the GNU licencing act ensuring the freedom of the users to do what they liked with the source code. Then commercial software companies took notice of it and started to use it. Linux was, and is free so the companies made their own versions of it to use. This was where the Red Hat distribution came from. At the same time as these commercial ventures, individuals were also tweaking Linux in their own way for themselves and through this process “Debian”, with its GUI interface(Graphical User Interface), was formed amongst other distros. Linux was very popular.

Meanwhile, Linux was being used in other ways as well as on the PC. It had been “ported” to work on a handheld PalmPilot and had been used in a supercomputer. Multiple systems running Linux had been joined or “clustered” together to combine their processing power and create the 315th most powerful supercomputer, clocking in at 19 billion calculations per second and at only $152,000, quite a cheap option compared to others of its kind and even after three months it didn’t have to be rebooted so it was robust as well.

Perhaps the highest point of Linux today is the growing, vast community in action to help it improve and to take advantage of any new hardware that is released. For example; within weeks of the release of the Intel Xeon® Microprocessor Linux had been tweaked for its use and was ready for it. The same had happened with Alpha, Mac, PowerPC and palmtops which is hardly matched by any other operating system and it is still and always will be improving and growing.

No comments: