SHCC WYSIWYG Article from January 2003

Previous Next

This article appeared in the January 2003 WYSIWYG newsletter.

Computer Operating System

by Jerry Carson

This month I'll finally try to tackle the question "Why do we need an operating system?"

What does an operating system do for you and why do you need it?  First, the general answer.  It allows you to organize your storage, execute programs, and provides a standard interface to the hardware by using device drivers. Remember those?

For example, while a device driver allows a program to be able to read and write to the hard disk, it doesn't keep track of which file is stored where. It doesn't even know what name belongs to a section of data.  The device driver deals with small chunks of data called sectors.  These usually contain 512 bytes, and the average file will be made up of hundreds of these sectors.  It is up to the operating system to keep track of which sectors are being used by each file, the file names, and other properties (creation date, permissions, etc.).  It is also responsible for keeping track of which sectors are free so that new files can be created.

It is also the operating system's responsibility to copy a program into memory in order to allow it to be executed.  The executing program then asks the operating system to read data files, create new files, erase old files, display information on the screen, or send data to the printer.  Modern operating systems will even format the data for the printer or make sure the information displayed on the screen is kept in it's own window.

Modern operating systems can also  execute more than one program at a time.  This is call multi-tasking and is done by a method known as time-slicing. Time-slicing is where each program gets a turn but each turn is only for a very small period of time.  This makes it appear that all the programs are running at the same time.  It's similar to the way a movie projector works. By switching pictures fast enough they appear to be moving.

When an operating system allows multi-tasking, it's important to make sure that one program doesn't cause others to crash.  Again it's up to the operating system to make sure that a program only uses the memory and resources that are assigned to it.  This was missing in the early version of DOS and windows.  Even Windows 95 and 98 had trouble in this area.  It's getting much better now with Windows 2000 and XP.

Finally, larger operating systems like UNIX or Windows NT can allow multiple users to run programs at the same time.  This can make it appear that each user has their own computer when they are actually sharing just one.  This has some pluses and minuses.  First, you only need one computer, but it needs to be pretty fast.  Second, if that computer crashes you have a lot of people twiddling their thumbs waiting for it to come back.  However, upgrades and installations only need to be done once instead of once per person.

Since computers are relatively cheap, most companies are choosing to give each user their own computer (or several) and network them together so they can share resources like storage, printers, and the internet.  Of course it's up to the operating system to allow all this sharing to take place.  Next time I'll try to explain how this works.

End of Article

Previous Next

To discuss the article with the author, send an email.

Article Index Page

Club members should contact the webmaster with comments and suggestions about this web site.