How It All Started
“I didn’t know you’ve worked on Linux”, said Eva in surprise.
Mike replied, “Yes, I’ve been managing Unix and Linux servers before. Then I started running business and never got back to system administration again. We are at a stage where we should start making use of Linux for our work”.
Eva said, “I want to know about Unix and Linux. May I ask you questions on that?”. “Sure, go ahead”, replied Mike.
Introduction to Unix
“What is Unix?”, asked Eva as her first question.
Mike started telling in detail, “Unix is a Multi-tasking and Multi-user operating system. It was started and developed in 1969 at AT&T Bell Labs by Ken Thompson, Dennis Richie and other team members. The target was to provide platform to programmers who developed softwares. Initially Unix was written in machine language and later in 1973, it was rewritten in the programming language C. As commercial and academic sectors started adopting Unix, it grew by leaps and bounds. With contribution from many programmers, Unix got it’s many variants. Berkeley Unix(BSD), IBM Unix(AIX), Sun Unix(Solaris), Microsoft based Xenix all belong to Unix family with their own features sets. Hardwares are also different for running these Unix family operating systems”.
Eva asked in surprise, “You didn’t name Linux in Unix family operating systems”.
“Yes, In 1984 Bell Labs started selling Unix as proprietary operating system and hence users were not allowed to modify Unix. In 1991 Linus Torvalds wrote his own operating system kernel and that came to be known as Linux kernel. Since Linux kernel was made freely available to users under GNU General Public License, it soon grew into full fledged operating system known as Linux”
“And what is GNU General Public License(GPL)?”, asked Eva.
“GNU GPL is also known as GPL. Richard Stallman in 1983 started GNU Project with the goal of creating a complete Unix-compatible operating system composed of totally free software. This license guarantees the end users the freedom to run, study, share and modify the software. The plus point of this license is that ,the resultant work has to be distributed under same license terms and conditions. It all means that Linux is completely free operating system giving user full freedom to use it for their purpose”, replied Mike.
“Are the softwares among Unix and Linux operating systems compatible among themselves?”, asked Eva.
“Yes, most of them are. The softwares have good compatibility among operating systems conform to POSIX standards”, said Mike.
“And what is POSIX”, asked Eva getting keener.
“Portable Operating System Interface (POSIX) are set of standards defined by IEEE Computer Society for maintaining compatibility among operating systems. Many programs and utilities like awk, echo and shell etc. are all standardized and run on different operating systems of Unix and Linux based variants almost seamlessly. There may be minor differences, but most of the features are same”, answered Mike.
Mike said further, “HP Unix, IBM AIX, Solaris are POSIX certified operating systems for example. Android, Linux, OpenSolaris etc. are Mostly-POSIX-compliant. Means lot of softwares and utilities adhere to POSIX standards. Please mind the difference”.
Eva asked, “And you mentioned Multi-tasking and Multi-user. What are these?”.
Multi-tasking and Multi-user Systems
Mike said, “Multi-tasking means performing multiple tasks concurrently over a specific period of time. Let’s say a task is running and another task needs to execute. It briefly interrupts the currently running task midway claiming the system resources, does it’s work and goes to sleep while it waits for another resource which it requires to run. The latter task doesn’t have to wait till the finishing of the former task. But do not assume that the tasks necessarily run in parallel. It only means that whenever desired resources are available, those are allocated to the process to run in the same specific time. Operating system ensures that CPU does not remain idle while processes wait for I/O operations”. “I understand now”, said Eva.
“And Multi-user means that multiple users can access the same software for their work e.g. Users do not have to wait for other users to finish their tasks for starting their use of software. Like processes, here also operating system ensures that CPU doesn’t remain idle while I/O operations are awaited”, explained Mike.
Now, Eva was ready to dive into Linux.
Unix: Multi-user and multi-tasking operating system developed at AT&T Bell Labs by Ken Thompson and Dennis Richie.
Linux: Free and OpenSource operating system developed by Linux Torvalds.
Multi-user system: Many users can access same software concurrently resulting in best utilization of resources.
Multi-tasking system: Many tasks run concurrently on the operating ensuring best utilization of system resources.
GNU GPL: aka GPL is GNU General Public License started by Richard Stallman to provide softwares freely to users for their use. Linux is licensed under GPL.
POSIX: Portable Operating System Interface, standards which operating systems adhere to for maintaining software compatibility.
Linux is mostly-POSIX-compliant.
*The information in this chapter has been condensed from wikipedia articles. https://en.wikipedia.org/wiki/Main_Page