Ghost in the Machine

Data In, Data Out

Ghost in the Machine
by Bill O’Kane, Alternative Business Systems

For all their elaborate circuitry, computers will not do much without their software. Software is the applications, processes or programs, which accomplish the tasks we wish to perform, whether it be balancing your check book or calculating Pi to the ten thousandth decimal.

Software falls into two basic categories; operating systems and applications.

Think of layers, with the application software on top, then the operating system software, then the hardware. The user communicates with the application through the mouse and keyboard. The application communicates with the operating system for processor, memory and hardware usage. The operating system allows time for the applications processes and communicates with the hardware, then the whole thing is reversed to allow output to the user.

Software as a product is different from other products in that you do not buy the actual software but a license to use the software. The most common licenses used today are proprietary (commercial), freeware, shareware, and open source.

In the majority of cases when installing software you will be presented with a license screen that requires you to check a box or click a button confirming that you have read and understand the license agreement before you continue with the installation.

In proprietary software this license usually states that you agree to install the software on one machine and that the manufacturer is not libel for damages from data loss when using the software. Installing the software on a second machine makes you guilty of software piracy, something I’m sure many people do not realise as they have paid for the installation disk and feel that they now own the software.

Freeware licensing means the developer of the software will allow you to use the software for free. Sometimes the free usage is limited to non-commercial applications, or maybe students and home use.

Shareware is software that the developer will let you use for a specific period of time to try out before buying. To continue use after the trial period, a registration key or code is required. Some shareware has no time limit but is crippled in some way, such as not being able to save your work, until the registration is obtained.

Open source licensing applies to software where the source code (the instructions or programming code) is provided openly to the computer community. This allows other developers to contribute to the software’s design, adding new features or improving the code. The most common open source license is the GPL (GNU Public License). Software code distributed under this license requires the developer to release any modifications they make to the code and preserve the copyright intact when distributing the code.

We will look at the operating system (OS) first as this is the brain of the computer allowing the other software to function and communicate with the hardware. Although most users will be familiar with the Microsoft Windows OS, there are many others available to the user. These include Macintosh, UNIX, Linux, BSD variants, MS-DOS, DR-DOS, Novell, Hurd, BeOS, and many experimental systems being developed but not intended for the average user. Amongst all of these Microsoft Windows is the most common and will be the one used in this series.

So what makes the OS form of software so special? It is the conductor. It makes sure the hardware is running and running properly. It negotiates with the processor to give time to all the application software running. It moves the data, reads and writes it to the proper destination, accepts users input, and supplies the output. It even makes sure the clock is keeping proper time.

The list of tasks the OS performs is huge, and a good OS does this without complaining and crashing when all these balls it juggles get out of control. Most modern operating systems are less prone to crashing than their earlier counterparts. Any users who have had the pleasure of comparing Windows 95 with Windows 2000/XP will know what I mean.

A system crash is caused when the OS or an application does something it is not allowed to do. As I mentioned earlier, computers are very dumb machines, if something unusual happens that they have no instructions for, they just give up and crash.

The most common cause of these illegal operations is an application trying to write to memory that another application is using. Thankfully, modern systems avoid this problem and although the application may crash and need to be shut down the OS will stay stable.

Operating systems software is a collection of thousands of files and applications that the OS uses as needed to perform the tasks required by the user. For this reason it may contain bugs or errors in the code that escaped the programmer’s attention during the testing phase.

If major bugs are discovered most companies will provide a fix or patch that you can apply to repair the erroneous files. This also applies to most application software. Keeping your software patched will allow for a much more enjoyable and secure computing experience.

Next column we look at application software, the real workhorse for the user.

Contact Bill O’Kane at: Alternative Business Systems
680 Water Street
Miramichi, New Brunswick
E1N 4B8 Canada
Phone: 506-622-7469
Fax: 506-622-6705