The Easy Guide to Operating Systems by Larry Miller - HTML preview

PLEASE NOTE: This is an HTML preview only and some elements such as links or page numbers may be incorrect.
Download the book in PDF, ePub, Kindle for a complete version.

When version OS 7.6 was released, the stability of the operating system was much better. People began to fully embrace the Mac OS

and their legitimacy returned as a popular operating system.

System 7 also saw the introduction of an interactive help

application, and the addition of “Stickies” which were basically virtual Post-It notes. Many Mac users still have OS 7 on their Apples.

Two other versions would follow in OS 8 and OS 9 each

improving on the previous version. Apple continued to develop updates to their operating system making it more stable and capable of more tasks working efficiently to bring Mac into the 21st century.

The most recent version and one that is used on new systems today is Mac OS X. This version provides a stable operating environment for the Mac PC and offers more flexibility than other systems. The graphics are updated with lots of color and a flashier look.

By Larry Miller

UNIX

The UNIX operating system was developed in the 60’s and 70’s by a group of AT & T employees at Bell Labs. Unix is used by both servers and workstations and is the basis for a wide variety of other operating systems.

The UNIX system was designed to be portable, multi-tasking and multi-user in a time-sharing configuration. There are various concepts that are unique to all UNIX systems. These concepts include:

• The use of plain text for storing data

• A hierarchical file system

• Treating devices and certain types of inter-process

communication as files

• The use of a large number of small programs that can be strung together through a command line interpreter using “pipes” as By Larry Miller

opposed to a single monolithic program with the same

functionality.

The operating system under UNIX consists of many of the

utilities listed above along with the master control program which is called the “kernel”. The kernel helps start and stop programs, handle the file system, take care of other common high level tasks that most programs share and schedule access to hardware to avoid conflicts if two programs try to access the same resource or device

simultaneously.

Besides the main kernel, UNIX systems also had micro-kernels which tried to reverse the growing size of kernels and return to a system in which most tasks were completed by smaller utilities.

In an era where a “normal” computer consisted of a hard disk for storage and a data terminal for input and output, the UNIX file model worked quite well as most input/output was linear. However, modern systems include networking and other new devices.

Describing a graphical user interface driven by mouse control in an “event driven” fashion didn’t work well under the old model. Work on systems supporting these new devices in the 1980’s led to facilities for non-blocking input/output forms of inter-process communications other than just pipes, as well as moving functionality such as network protocols out of the kernel.

Just as with other operating systems, the programming was

updated periodically to add other features and to streamline processes By Larry Miller

that the system would run. Ironically, the importance of the UNIX

system is quite far-reaching. In fact, some experts call it the most important system you’ll never use.

UNIX is mostly used by Internet servers and database servers.

It is a very efficient multi-user, multi-tasking operating system traditionally used by large companies and educational institutions.

It is scalable from a small system right up to a mainframe-class system (all you need to do is add extra hardware), which makes it suitable for anyone looking for a low cost, reliable operating system.

For programmers it has a wonderful set of built-in utilities, a programmable shell (command/user interface) and a straight forward structure that makes it very easy to quickly produce quite complex programs. For end users, UNIX has a friendly graphical interface (called X Windows) and many business applications and games.

As we said, UNIX is used as a basis for other operating systems.

One of those is Linux.

By Larry Miller

LINUX

The first Linux systems were completed in 1992 by combining system utilities and libraries from the GNU project which is another operating system we’ll address next.

Predominantly known for its use in servers, Linux is used as an operating system for a wider variety of computer hardware than any other operating system including desktop computers, super

computers, mainframes, and embedded devices such as cell phones.

Linux is packaged for different uses in Linux distributions which contain the kernel along with a variety of other software packaged tailored to its intended use.

Linux alleges that people regard the system as suitable mostly for computer experts because mainstream computer magazine reports cannot explain what Linux is in a meaningful way as they lack real-life experience using it. Furthermore, the frictional cost of switching operating systems and lack of support for certain hardware and application programs designed for Microsoft Windows have been two factors that have inhibited adoption.

By Larry Miller

However, as of early 2007, significant progress in hardware compatibility has been made, and it is becoming increasingly common for hardware to work “out of the box” with many Linux distributions.

Proponents and analysts attribute the relative success of Linux to its security, reliability, low cost, and freedom from vendor lock-in.

The primary difference between Linux and other contemporary operating systems is that the Linux kernel and other components are open source software. That means that users have permission to study, change, and improve the software. They can then redistribute it in modified or unmodified form. This is usually done in a public and collaborative manner.

Linux is not the only such operating system, although it is the most well-known and widely used one. Some open source licenses are based on the principle of “copy left”, a kind of reciprocity: any work derived from a copy left piece of software must also be copy left itself.

One of the advantages of open source is that it allows for rapid software bug detection and elimination which is important for correcting security exploits.

Another advantage of Linux as an operating system is inter-

operability. That means, it can run software from other companies such as Mac and Windows. This makes it hugely advantageous to the open market as inter-operability in an operating system is rather uncommon as of late.

People have actually taken on the promotion of Linux in what might be considered almost a cult-like following. In many cities and regions, local associations known as Linux Users Groups. They seek to By Larry Miller

promote Linux and, by extension, the notion and reality of free software. They actually hold meetings and provide free

demonstrations, training, technical support, and operating system installation to new users.

There are also many Internet communities that seek to provide support to Linux users and developers. Most distributions and open source projects have a chat room on the freenode IRC network. These chat rooms are open to anyone with an IRC client. Online forums are another means for support with notable examples being

www.linuxquestions.org.

Every established free software project and Linux distribution has one or more mailing lists. Commonly there will be a specific topic such as usage or development for a given list.

Although Linux is generally available free of charge, several large corporations have established business models that involve selling, supporting, and contributing to Linux and free software. The free software licenses on which Linux is based explicitly accommodate and encourage commercialization.

As of late, lively discussions among computer enthusiasts have arisen over which is the best operating system to use: Windows or Linux? In the past, free software products have been criticized for not going far enough to insure ease of use. However, some experts have declared that Linux is nearly equal to Windows for ease of use as well as compatibility with other programs.

By Larry Miller

Many Windows applications can be run on the Linux operating system. While there are not many games or applications that are available with Linux, there are still others that can run easily on the software.

GNU

Like Linux, GNU (pronounced guh-noo) is also a free software operating system. Its name is a recursive acronym for “GNU’s not Unix” which was chosen because while it is Unix based, it is freeware and contains no Unix code. As of 2007, GNU is being actively developed although a complete system has not yet been released.

The gentleman responsible for developing GNU is Richard

Stallman, a former employee at MIT. He believed computer users should be free, as most were in the 1960s and 1970s; free to study the source code of the software they use, free to share the software with other people, free to modify the behavior of the software, and free to publish their modified versions of the software. This philosophy was published in March 1985 as the GNU Manifesto.

Much of the needed software had to be written from scratch, but existing compatible free software components were used. Most of GNU has been written by volunteers; some in their spare time, some paid by companies, educational institutions, and other non-profit organizations.

By Larry Miller

In 1992, the operating system was more or less finished except for the kernel. The GNU project had a microkernel, and to add the necessary Unix-kernel-like functionality to their microkernel, they were developing a project called “Hurd”. However, “Hurd” was still very incomplete.

That year, Linus Torvalds released his Unix-like kernel Linux as free software. The combination of the Linux kernel and the GNU

system made for a whole, Unix-like free software operating system.

Linux-based variants of the GNU system became the most common way in which people use GNU.

As of 2005, Hurd is in slow development, and is now the official kernel of the GNU system.

By Larry Miller

OTHER OPERATING SYSTEMS

While we have covered the main operating systems above, there are still other minor systems to touch on. We won’t go into great detail on these systems, but they are still worth mentioning.

Amiga computers have their own Amiga OS. It has unique

hardware in Amiga DOS which is a disk operating system. Their windowing interface is called Intuition, and the graphical user interface is referred to as Workbench. While Amiga OS isn’t as popular now as it used to be, there are still some Amiga computers out there running this operating system.

Solaris is a computer operating system developed by Sun

Microsystems. It is one of the largest open source projects in the computer community. It continues to grow in features, members, and applications. It is an independent operating system much as Unix is and is available for use on many computer systems.

Digital audio players run on free software called Rockbox. It was released under the GNU General Public License. This is a relatively new operating system and was first implemented on Archos Studio player because of owner frustration with limitations in the manufacturer-supplied user interface and device operations. It is By Larry Miller

present or available for many different players including the new ones with multi-color video capabilities.

Apple Computers miniature MP3 players run on a version of

Linux called ipod linux. Newer players like the iPod shuffle are supported by its own version of operating system as the Linux system isn’t capable of supporting some of the new graphical abilities.

Most computer routers run on a Cisco operating system. While the specific OS may vary slightly between versions, the basic set-up is essentially the same.

There have been many, many operating systems that have been created over the years. They have all evolved over the years to accommodate new technologies, and they will continue that evolution as our computers and electronic devices change.

Windows Vista has been the most recent OS to be released. Mac will soon be releasing another version of Mac OS X as well dubbed

“Leopard”. As the open source OS market continues to grow and evolve, we are likely to see many more of these popping up as well.

The competition can be fierce. As of late, some users have put pressure on Dell to pre-load all of its PCs and laptops with Linux operating system. Whether or not this is a good move remains to be seen. Many, many computer users are used to Windows, and learning a new system could be detrimental to one of the largest computer manufacturers in the world.

By Larry Miller

Another movement has been taken on to have new computers

come without an operating system but with a coupon for a free OS of their choosing. That way, users can decide for themselves which system they want to use. Microsoft isn’t keen on this idea, as you can imagine, but we do have a free enterprise system in our country.

While they do have an almost corner on the market, some believe that these other companies should be able to go after their “piece of the pie” as well.

If you think you want to change your current operating system or if you have a computer without an operating system, you’ll need to know how to install the new OS.

By Larry Miller

INSTALLING AN OPERATING SYSTEM

You might think that installing an operating system would be a simple procedure. And you’d be right. However, you really should know what you’re doing before you undertake this process. Even if you already know how to do it, it’s always nice to have a refresher course.

The first thing you should before installing a new operating system is to back up your existing data. These programs basically take a picture image of everything on your hard drive. With them, you can restore your entire system even if your new OS doesn’t leave a trace of your old OS.

To effectively and safely back up your system, it’s always a good idea to get some type of software program that will accomplish this.

You could try doing it yourself, but these programs make it much, much easier. Consider one of the following:

A

cronis True Image 10 Home

By Larry Miller

Acronis True Image 10 Home creates the exact copy of your

hard disk and allows you to instantly restore the entire machine including operating system, applications, and all the data in the event of a fatal system crash or virus attack — no reinstallations required!

With the new version you also can easily back up your music, video, and digital photos, as well as Outlook e-mails, contacts, calendar, tasks, and user settings with just a few mouse clicks!

Copy your entire PC, including the operating system,

applications, user settings, and all data using patented disk imaging technology; backup your music, video, and digital

photos; backup your outlook e-mails, contacts, calendar, tasks, etc.; and restore all settings for Microsoft Office, iTunes, Media Player, and dozens of popular applications.

A free trial copy of this software can be downloaded at

http://www.acronis.com/homecomputing/products/trueimage/

N

orton Ghost

Made by Symantec Corporation, the same people who make and

distribute Norton Anti-Virus, Norton Ghost is awarding winning back-up software. You should know, however, that this software is only for Microsoft Windows XP and 2000 operating systems.

Like True Image, Ghost will save everything on your computer safely and efficiently. It will back up everything on your system including music, pictures, applications, settings, etc. in one easy step. It can also recover your system and data even when you can’t restart your operating system.

You can download a free trial ware version of Norton Ghost at

http://www.symantec.com/home_homeoffice/products/overview

.jsp?pcid=br&pvid=ghost10.

S

OS Online Backup

With SOS Online Backup, you can start small, protecting a

handful of really important files, and scale all the way up to By Larry Miller

100GB. It keeps previous versions of files forever. And

continuous backup means your files are always backed up.

It handles open files and performs continuous and scheduled backup. SOS backs up only differences for changed files and stores unlimited versions. It also has online access and file sharing.

A free trial version can be downloaded at

http://www.sosonlinebackup.com/

G

host for Linux

If you are currently using Linux for your operating system and want to switch to another one, this is the program for you. Like other backup software programs, Ghost for Linux is a cloning tool and was created by Symantec, the folks who brought us

Norton Anti-Virus.

Your drive will be cloned using the click and clone tool. It has been said to be easy to use and very efficient.

A downloadable version of Ghost for Linux can be found at

http://linux.softpedia.com/get/System/Hardware/Ghost-for-

Linux-053.shtml

Once you have all of your files backed up and you are sure the disk contains all of your information, you’ll then be ready to install your system. This is the easiest process of all.

If you have purchased an OS such as Windows, it will come with an installation disk. What you’ll need to do is put the disk in your disk drive and then shut down your computer. Turn it back on, and the OS

will begin installing from the boot. Follow any on-screen prompts and answer accordingly.

If you have downloaded your new OS from a freeware site such as those that offer Linux for free, you will need to save the program to By Larry Miller

your computer’s “My Documents” area. Once it has downloaded, go to

“My Documents” and double click on the file. You will probably then be directed to answer questions as to how to proceed.

Be aware that the installation process will probably take some time to complete. You need to monitor the progress, so expect to spend at least an hour during the install answering questions and watching it install.

Once your new system is installed, you should spend some time going through its features and performing tasks that you would normally do. Make sure that all your previous functions work. Keep in mind that if you have had certain programs and applications on your computer prior to the re-install, you will have to put them back on after the install.

For example, if you had a favorite game on the computer before, you will have lost it with the re-boot. You will have to re-install the game if you want to play it.

That’s it for installing an operating system. It really is quite a simple process, but it can be time consuming, so be prepared before you proceed!

Now let’s take a look at some of the functions contained in an operating system and what they mean. Sometimes computer

terminology can be a bit confusing, so it’s helpful to know what certain functions are all about!

By Larry Miller

DEFINING THE PROCESSES

Cache

When shopping for a computer, often the word “cache” will

come up. There are two types of caches when it comes to modern computers: L1 and L2. Some now even have L3 caches. Caching is a very important process when it comes to your PC.

There are memory caches, hardware and software disk caches, page caches and more. Virtual memory is even a form of caching.

Let’s look at what caching is and why it is so important.

Caching is a technology based on the memory subsystem of

your computer. The main purpose of a cache is to accelerate your computer while keeping the price of the computer low. Caching allows By Larry Miller

you to do your computer tasks more rapidly.

To understand the basic idea behind a cache system, we can

use a simple analogy using a librarian to demonstrate the caching process. Think of a librarian behind the desk. He or she is there to give you the books you ask for.

To keep it simple, let’s assume that you can’t get the books yourself, you have to ask the librarian for the book you want to read and he or she gets it for from you from shelving in a storeroom. This first example is a librarian without a cache.

The first person arrives and asks for the book Great Expectations. The librarian goes to the storeroom, gets the book, returns to the counter, and gives the book to the customer. Later, the borrower comes back to return the book. The librarian takes the book and returns it to the storeroom returning to the counter to wait for the next customer.

The next customer comes in and also asks for Great

Expectations. The librarian has to return to the storeroom to get the same book he had already handled and give it to the client. So basically, the librarian has to make a complete round trip to fetch every book – even very popular ones that are requested frequently.

This isn’t a very efficient system for our librarian, is it?

However, there is a way to improve on this system. We can add a cache on the librarian.

By Larry Miller

To illustrate a cache, let’s give the librarian a backpack into which he or she will be able to store, say, ten books. That would mean the librarian has a 10 book cache. In this backpack, he or she will put the books the customers return to him up to a maximum of ten. Now, let’s go back and visit the first scenario with our cached librarian.

At the beginning of the day, the librarian’s cache is empty. The first person arrives and asks for Great Expectations. So the librarian goes to the storeroom and gives it to the customer. When the customer return with the book, instead of going back to the storeroom, the librarian puts the book into the backpack making sure it isn’t full first.

Another person arrives and asks for Great Expectations. Before going to the storeroom the librarian checks to see if the book is in the backpack already. Lo and behold, it is! Now all he or she has to do is take the book from the backpack and give it to the client. No extra energy is expended by the librarian, and the customer doesn’t have to wait for that trip to the storeroom.

Let’s assume that the customer asks for a title that’s not in the backpack? In this case, the librarian is less efficient with a cache because he or she must take the time to look for the book in the backpack first.

That is why one of the challenges of cache design is to minimize the impact of cache searches. Modern hardware has reduced this time By Larry Miller

delay to practically zero. The time it takes for the librarian to look in the cache is much less than having to run to the storeroom, so time is saved automatically with a cache. The cache is small (just ten books) so the time it takes to notice a miss is only a tiny fraction of the time it takes to walk to the storeroom.

From this example you can see several important facts about caching:

Cache technology is the use of a faster but smaller memory

type to accelerate a slower but larger memory type.

When using a cache, you must check the cache to see if an

item is in there. If it is there, it's called a cache hit. If not, it is called a cache miss and the computer must wait for a round trip from the larger, slower memory area.

A cache has some maximum size that is much smaller than

the larger storage area.

It is possible to have multiple layers of cache. With our

librarian example, the smaller but faster memory type is the backpack, and the storeroom represents the larger and slower memory type. This is a one-level cache.

There might be another layer of cache consisting of a shelf that can hold 100 books behind the counter. The librarian can check the By Larry Miller

backpack, then the shelf and then the storeroom. This would be a two-level cache.

A computer is a machine in which we measure time in very small increments. When the microprocessor accesses the main memory (RAM), it does it in about 60 nanoseconds (60 billionths of a second).

That's pretty fast, but it is much slower than the typical

microprocessor. Microprocessors can have cycle times as short as 2

nanoseconds, so to a microprocessor 60 nanoseconds seems like an eternity.

What if we build a special memory bank in the motherboard,

small but very fast (around 30 nanoseconds)? That's already two times faster than the main memory access. That's called a level 2 cache or an L2 cache.

What if we build an even smaller but faster memory system

directly into the microprocessor's chip? That way, this memory will be accessed at the speed of the microprocessor and not the speed of the memory bus. That's an L1 cache, which on a 233-megahertz (MHz) Pentium is 3.5 times faster than the L2 cache, which is two times faster than the access to main memory.

Some microprocessors have two levels of cache built right into the chip. In this case, the motherboard cache -- the cache that exists between the microprocessor and main system memory -- becomes By Larry Miller

level 3, or L3 cache.

There are a lot of subsystems in a computer; you can put cache between many of them to improve performance. Here's an example.

We have the microprocessor (the fastest thing in the computer). Then there's the L1 cache that caches the L2 cache that caches the main memory which can be used (and is often used) as a cache for even slower peripherals like hard disks and CD-ROMs. The hard disks are also used to cache an e