Many people have heard of UNIX, but few have actually used it, especially recently. UNIX is rather old and and relatively unused by most of the general population? Why? Because most people aren’t Network Administrators/Engineers, or Programmers. My father has been working with computers in many ways, including several years in computer programming, and has never touched a UNIX machine.
UNIX was the first successful standard computer Operating System (OS). When large businesses and and Universities started using computers, computers were just like in those pictures you see where the machine is about 10ft x 8ft x 3ft, with 2 scruffy guys typing away. You know you’ve seen it before. Back in these days, Computers had no standard Operating System. Microsoft released MS-DOS in April of 1981, but computers had been around for some 20+ years before that. Each computer had a custom OS, which made it difficult to work on more than one computer. For instance, if you learned to use the computer at one job, you’d have to completely relearn the computer at your new job. Get the idea? Not only this, but Computers weren’t networked either. Sending files meant copying them to a disc, walking with the disc to your destination (usually elsewhere in the office) and giving it to the person you wish to have it. This was commonly known as Sneaker-net. (Now, computer networking is very complex, and has many different protocols, but that’s for another tutorial.) For now, lets focus on UNIX.
This went on for several years. In 1967, AT&T Bell Labs, and MIT collaborated on creating a new standard computer OS. After 2 years of development, UNIX was born, in 1969. UNIX is one of the biggest names in the history of computers. UNIX also had a hand in bringing about the C++ programming language that much modern computer software is written in, and also the TCP/IP networking protocol stack, which powers the Internet. In fact, many Internet servers run some form or type of UNIX.
UNIX was crated in a time when The general public didn’t have much, if any, access to a computer. Computers were only affordable for Universities, Government Institutions and large businesses. At this time, no home had a desktop computer, or PC, like we do now. UNIX is often a very perfect fit for specialty use system, such as servers or embedded projects. It’s not as friendly on the desktop, but it’s still usable with somewhat of a learning curve.
UNIX is unique for many reasons. First of all, everything in UNIX is a text file. Your resume, those pictures of your sisters wedding, that MP3 collection, the programs you’ve installed, even hardware and peripheral devices are represented in UNIX as a text file. Because of this ,one of the most important parts of any UNIX-type system is a text editor. I’m using a text editor right now, writing this in HTML code. And you thought Notepad sucked. UNIX does have file extensions, like “program.conf”, or “backup.py”, or “groceries.lst”, but these extensions don’t necessarily have an impact on the format of the file. For instance, you don’t need one application to open up “program.conf”, and another for “groceries.list”. These examples would open perfectly in your favorite text editor. In other examples, my HTML pages look awfully weird when saved as “.txt”, but open fine in any web browser or text editor as a “.html” file.
Another of UNIX’s praises is that it’s a true multi-user system. You could literally log several hundreds of people on a UNIX server with no problem. This is accomplished by the task scheduler in the the kernel. This sounds complex, but it’s really not. The UNIX kernel manages hardware for the programs to use. In older computers (i.e. older than UNIX), the processor would take things one job at a time. This is great for 1 person, but absolutely horrible for a multi-tasking system. UNIX was the first OS to bring a more advanced task scheduler to the table. Instead of one job at a time, UNIX has the processor work on a little bit of each job at a time. This happens so fast that it appears that we’re the only user on the system. This is something that modern OSs can do, but many non-UNIX systems haven’t perfected this (I’m thinking mostly of Windows here, but I recall similar problems with older versions of MacOS).
UNIX was also the first to utilize a protected memory scheme. Basically, when a program goes bonkers and crashes, it won’t take down your whole OS. The UNIX systems is pretty modular in this manner. This is a great feature for servers. If you’re running, say, 8 services on a server and one of the programs running that service goes down, it won’t crash the whole system. Neat, eh?
UNIX is also known for being a very portable system. After writing the initial source code for the PDP-7 at Bell Labs, it didn’t take long to get it working on other computers. This is possible because less than 10 percent of the kernel’s source code is in assembly language. This means that it didn’t take a near-complete rewrite of the source to get it running on different processor architectures.
Another acclaimed feature of UNIX is it’s hierarchical directory structure. The UNIX file system begins with ‘/’, other wise known as the root directory. Not to bee confused with /root though 🙂 the / directory contains several directories all containing the innards of the system, like /bin, /sbin, /usr, /etc, /var, /proc, and others. It’s these features and so much more that make UNIX a very different OS, but only different than the Windows many of us grew up with. These are the features that put UNIX on the Operating Systems market, and started a revolution. If you talk to any one who’s used a computer in the 70’s, they were using some version of UNIX. UNIX has been such a huge part of our tech culture, and will continue to do so. It has such a huge following, with millions of people working with it for work and play, every day. To some, UNIX is just an archaic operating system. To some, it’s a way of life.