Monday, November 29, 2010

History of Unix and Linux



Unix History : Unix  is a computer operating system  developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thosmpos, Dennis Ritchie, Brian Kernighan, Douglas McIlroy and Joe Ossanna.In 1965 AT&T bell Labs,MIT and General Electric developed operating system called MULTICS (Multiplexed Information and Computing System).Bell Labs dropped out of the Multics project in April 1969.AT & T employee Ken Thompson and Dennis Ritchie lead an OS team and continued to work on the same project and developed UNICS (Uniplexed Information and Computing System).


Later on it was named UNIX.In 1973 Unix was written in C.Soon more than 600 companies started using UNIX.AT&T made Unix available to universities and commercial firms, as well as the United States government under licenses. The licenses included all source code including the machine-dependent parts of the kernel.Soon other companies began to offer commercial versions of UNIX.Some of the companeis and their unix flavours which exist today also are: Sun SunOS Microsoft Xenix Santa Cruz Operation (SCO) SCO Unix HP HPUX IBM AIX Berkley BSD Cray Research UNICOS Silicon Graphics IRIX Apple MacOsX SUN Solaris.

Linux History: Linux is a free Unix-like operating system kernel created by Linus Torvalds and released under the GNU General Public License.Linux is an open-source version of the UNIX operating system. Actually we should call it GNU Linux rather than just Linux. Linux is the kernel, one of the essential major components of the system. Learn more about calling it  GNU/Linux here http://simplel4linux.blogspot.com/2010/11/call-it-gnulinux-not-just-linux.html. But as this is the first article for those whom want to know more about Linux,we will time being call it just Linux. 

Linux is a generic term referring to Unix-like graphical user interface (GUI) based computer operating systems based on the Linux kernel.Linux is freely-distributable implementation of UNIX that runs on a number of hardware platforms, including Intel and Motorola microprocessors.Linux has a reputation as a very efficient and fast-performing system.

Linux was invented by Linus Torvalds in 1991, when Torvalds was a student at the University of Helsinki in Finland.Linux derived Linux form MINIX, a non-free Unix-like system.MINIX (from "mini-Unix") was first released in 1987, with its complete source code made available to universities for study in courses and research. It has been free and open source software since it was re-licensed under the BSD license in April 2000.While studying Linux began writing his own kernel. He started by developing device drivers and hard-drive access, and by September had a basic design that he called Version 0.01.

This kernel, which is called Linux, was afterwards combined with the GNU system to produce a complete free operating system. On October 5th, 1991, Torvalds sent a posting to the comp.os.minix newsgroup announcing the release of Version 0.02, a basic version that still needed Minix to operate, but which attracted considerable interest nevertheless. The kernel was then rapidly improved by Torvalds and a growing number of volunteers communicating over the Internet, and by December 19th a functional, stand-alone Unix-like Linux system was released as Version 0.11.On January 5, 1992, Linux Version 0.12 was released, an improved, stable kernel. The next release was called Version 0.95, to reflect the fact that it was becoming a full-featured system. After that Linux became an underground phenomenon, with a growing group of distributed programmers that continue to debug, develop, and enhance the source code baseline to this day.

Torvalds released Version 0.11 under a free-ware license of his own devising, but then released Version 0.12 under the well established GNU General Public License. More and more free software was created for Linux over the next several years.Linux continued to be improved through the 1990's, and started to be used in large-scale applications like web hosting, networking, and database serving, proving ready for production use. Version 2.2, a major update to the Linux kernel, was officially released in January 1999. By the year 2000, most computer companies supported Linux in one way or another, recognizing a common standard that could finally reunify the fractured world of the Unix Wars. 

The next major release was V2.4 in January 2001, providing (among other improvements) compatibility with the upcoming generations of Intel's 64-bit Itanium computer processors.Although Torvalds continued to function as the Linux kernel release manager, he avoided work at any of the many companies involved with Linux in order to avoid showing favouritism to any particular organization, and instead went to work for a company called Transmeta and helped develop mobile computing solutions, and made his home at the Open Source Development Labs (OSDL), which merged into The Linux Foundation.
Linux Torvald's posting to the comp.os.minix newsgroup
 
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... 
I'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; Posting to comp.os.minix; 25 Aug. 1991.

GNU, GPL & Creative Commons

As the heading suggest we will be learning about Unix, GNU, GPL, Linux & Creative Commons. Brief study of all these concepts is very much essential to know how the open source OS like Linux system works.

Operating System:

An operating system is the system software responsible for the direct control and management of hardware and basic system operations. It provides a foundation upon which to run application software.An operating system is conceptually broken into three sets of components: a user interface (which may consist of a graphical user interface and/or a command line interpreter or "shell"), low-level system utilities, and a kernel--which is the heart of the perating system.The shell is an outer wrapper to the kernel, which in turn talks directly to the hardware.  
Hardware <-> Kernel <-> Shell <-> Applications 

Open Source: 

It refers to any program whose source code is made available for use or modification.Open source software is usually developed as a public collaboration and made freely available. Open Source is a certification mark owned by the Open Source Initiative (OSI). Developers of software that is intended to be freely shared and possibly improved and redistributed by others can use the Open Source trademark if their distribution terms conform to the OSI's Open Source Definition. Open source provides software which has better quality, higher reliability, more flexibility, lower cost, and an end to predatory vendor lock-in. 

FSF: 

The Free Software Foundation (FSF) is a non-profit corporation founded by Richard Stallman on 4 October 1985 to support the free software movement,a copyleft- based movement which aims to promote the universal freedom to create, distribute and modify computer software.FSF catalog useful free software that runs under free operating systems — particularly the GNU operating system and its GNU/Linux variants. 

GNU:

GNU is short for "GNU is Not Unix".The GNU Linux project was created for the development of a Unix-like operating system that comes with source code that can be copied, modified, and redistributed. Richard Stallman announced the GNU Linux project in 1983 and, with others,formed the Free Software Foundation in 1985.The philosophy behind GNU is to produce software that is non-proprietary. Anyone can download,modify and redistribute GNU software.

GPL:

The GNU General Public License (GNU GPL or simply GPL) is a widely used free software license, originally written by Richard Stallman for the GNU project.The GNU General Public License is a free, copyleft license for software and other kinds of works.General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs.Learn More about GPL here: 

GPL 3: 

Learn more about GPL3 at http://gplv3.fsf.org/

Creative Commons: 

It is a nonprofit organization that allows artists, authors, publishers and musicians the option of creating and defining a flexible copyright for their creative works. Creative Commons was officially launched in 2001 by a group of intellectual property experts, lawyers and web publishers. Creative Commons licenses cover art, music, and writing, but is not designed for software.A Creative Commons license allows creators to place conditions on their copyrights. Traditionally, copyrights restrict the rights of others from modifying or distributing copywritten works. Creative Commons licenses offer flexibility by allowing the creator (copyright holder) the ability to choose what limitations they want in place with respect to specific copywritten works.With CC you are free:
  • to Remix — to adapt the work

Under the following conditions:

Attribution You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).

Call it "GNU/Linux" not just "Linux"

As Richard Stallman said

"Names convey meanings; our choice of names determines the meaning of what we say. An inappropriate name gives people the wrong idea. A rose by any other name would smell as sweet—but if you call it a pen, people will be rather disappointed when they try to write with it. And if you call pens “roses”, people may not realize what they are good for. If you call our operating system Linux, that conveys a mistaken idea of the system's origin, history, and purpose. If you call it GNU/Linux, that conveys (though not in detail) an accurate idea."

Now the question arises in every one's mind as to why should we call is GNU Linux and not just Linux.So here starts the explantion:
If we are taking about whole system kernel,shell and utilities we should call it “GNU/Linux”.When we are talking about specifically kernel we should call it Linux. If we call the whole system “Linux”, as a consequence they call the whole system by the same name as the kernel. Die to this confusions are created, because only experts can tell whether a statement is about the kernel or the whole system. By calling the whole system “GNU/Linux”, and calling the kernel “Linux”, we avoid the ambiguity.

Linus Torvals wrote Linux kernel in 1990s, but before him GNU stared developing free OS.GNU development started in 1984.Though GNU did not develop all the parts themselves—but they led the way. As they developed most of the central components, forming the largest single contribution to the whole system. The basic vision was ours there too so In fairness, they ought to get at least equal mention.So its worth mentioning GNU/Linux rather than only Linux.

As  this free OS (GNU/Linux) contains kernel as Linux and most of the utilities and shells are GNU utilities we call it GNU/Linux.

GNU is a small fraction of the system nowadays, and Linux is an even smaller fraction. But they are the system's core; the system was made by combining them. Thus, the name “GNU/Linux” remains appropriate.

(Note:Most of the above article is from http://www.gnu.org/gnu/gnu-linux-faq.html#why)



Me and my encounter with Linux

About me:

I am Prayag Sangode, a Linux enthusiast and Linux System Administrator by Professional with almost 5+ years of Experience in administration of hybrid networks containing Linux,Solaris,HP-UX and Windows.I have a sound knowledge on Unix based OS like Linux/Solaris/HP-UX and on Microsoft Windows.In last few years have worked extensively on IBM SAN ,VMWare ESX virtualization and scripting languages like Bash,Perl and PHP.Now days having some hands on CMS like Joomla,Drupal and Mambo.

My Encounter with Linux:

I never wanted to make a career in Computers and never thought would ever teach Linux.But Linux helped me in making a bright career in Linux and I have enjoyed teaching Linux to Linux Enthusiast,Students and Professionals.
It was in 2003 i was having apprenticeship training in one of Government Organisation in India. I was having a general talk with one of my friend. I asked him is there only Windows OS in market or in any Research organisation.I was of the view that only only Microsoft Windows existed in the market.He explained to me,as he was more aware of computers than me, that there are so many OS that exist and he named few. One of those was Linux(other names I still don't remember).Few days passed and I asked him,as I always wanted to know how google.com and rediff.com work and can we ever get to work on such websites or servers, what to learn to know how ".com" business runs and he said learn Linux.He said few days back there was an advertisement in news paper where some body is teaching Linux Course.I said lets join it.
So we went to the Linux Class with so much of enthusiasm that we will get to learn Linux,something different.But our enthusiasm lasted only for two days as the trainer, who used to very proud of himself, as if he is the only superior person who knows Linux and used to make look Linux very difficult,left the training.Now there was no one to teach us Linux.The trainer had taught us just Linux installation and few basic commands and we wanted to learn more.It took several weeks for the Course conductor to get another Linux Trainer,so I bought one second hand Celeron PC with just 333Mz CPU and 64MB RAM.
I was having apprenticeship training in Telecom domain which I didn't enjoy.I started learning Linux on my own.Installed PC Linux which was based on RedHat 7 with only CLI as my PC didn't support GUI and was not aware as to how to trouble shoot GUI problems.I bought book "Linux Complete" and first server which i configured was DNS. Later on after so much of effort installed Apache with virtual host.After installing Apache sever I started gaining confidence and then decide to make career Linux. Thus I started learning Linux on my own and in that Institute started teaching that so some of friends and fellow friends.
This way I got aware about Linux.This was my first encounter with Linux.Now I started enjoying working on Linux,especially on CLI mode. Still love CLI of Linux most rather than GUI part.I really have zest for Linux and it fascinates me.Now I know how the ".com" business runs and how servers and clusters are configured and feel so proud that because of Linux I learned all this.
After working on Linux on my own and with some workshops on Linux in Hyderabad,India I decide to go for RHCE.After gaining RHCE got a job as Linux System Administrator in Mumbai,India and my professional journey of Linux got a new turn.

I would like to urge all the Linux enthusiast and students to go for Linux and promote Linux.I would also like to tell the new-bies,professionals and students that if you know computers and doesn't know Linux,then you are missing so much.

I always say(though people may not like as it being universal truth,also i am not saying its universal truth but my personal opinion), that:

"Who will be called Computer Literate if they don't know anything about Linux?"