UNIT 3 – OPERATING SYSTEMS Overview This unit approaches the study of operating systems from a conceptual and functional point of view. It makes no claim to enter into the complexities of an operating system’s architecture or structure. This is beyond the scope of this document and course of studies. Therefore, it attempts to identify the main functions demanded of any operating system so that the student can identify these functions with the different parts of an operating system through observation of function. This unit is a pre-requisite for unit 4, wherein networking will be explored in detail. The student may find it helpful to review Unit 1 and refresh some of the concepta that will be referred to here in the discussion of operating systems. What is an Operating System? Operating system is the term we use to describe the combination of instructions and data that cause the computer hardware to function in a certain way. The operating system is not an application. Its chief function is to instruct the processor and other parts, as it supports the various jobs required by the applications and the user. It is important, at the very onset of this discussion; to understand that an operating system is always software, even though parts of it may be burned into firmware (chips). Operating systems always have set low-level modules that communicate with the hardware and a set of high-level modules that communicate with the user and provide the look and feel of the computer. While an operating system is usually designed for a particular platform (type of computer), many are designed in various versions to run on many types of computers. These are referred to as “cross-platform”. The term: ‘Operating System” usually refers to the off the shelf product like Mac System or Windows 2000. In the technical sense, the term includes both the low-level instruction set that differs with each processor, the BIOS, that differs with each motherboard, the “off the shelf “ operating system and its user interface. The table below is an example. TERM Micro-Processor ( Main & Sub-processor) Low-level Instruction Set (Processor Binary Commands) Motherboard Chipset (Supporting Chips) BIOS (Basic Input Output System) Operating System (High Level System) User Interface (“Look & Feel”) EXAMPLE Intel Pentium Intel Pentium Intel AMD Windows XP Professional Graphical (GUI) All “off the shelf” operating systems are generally designed in various layers, depending upon their complexity. These are: The low-level layer that communicates with the processor and BIOS using the binary low-level command set. This is the layer that makes an operating system version specific to a particular machine or platform. The high-level layer that carries out commends and manages the file system. This usually contains the kernel of specified routines to carry out the functions indicated by the user interface including multi-user and multi-tasking functions. Systems may differ in whether they use 16 or 32 bit addressing schemes. The user interface, that can be a command-line type like MS-DOS or UNIX, or can be graphical (GUI) like Windows Linux and Apple Mac. This layer communicates directly with the user, passing requests on to the high-level layer, and makes up the “look and feel” that is usually associated with a particularly operating system. An operating system may also be designed and optimized for special tasks such as single user, multi-user, networking and network server capabilities. The following table classifies several of the popular operating systems using several parameters. Families of Operating Systems While there have been many operating systems like CPM, VAX, DEC, Honeywell, OS/2, Data General, etc., the following are those that have had a significant impact on the user market today. OPERATING SYSTEM GROUP DOS UNIX Apple Mac System Windows SOME EXAMPLES MS-DOS (No longer used) Apple II System UNIX LINUX RED HAT Latest Versions of Mac System Earlier Versions of Mac System Windows 98se Windows Me Windows XP TYPE USER INTERFACE Command Line Command Line Command Line Graphical Graphical Graphical/Command Line Graphical Graphical/Command Line Graphical/Command Line Graphical/Command Line Explanation of parameters Address Scheme: All information and instruction code is stored as binary numbers. 32 bit systems use combinations of 32 “0”s and “1”s as 10011001100110011001100110011001 as opposed to 16 as: 1001100110011001. We will discus binary numeration later in this unit. Users: A multi-user operating system allows different users to use the same computer allowing each to have a user name and password. Some allow different profiles allowing each to configure the computer differently. Tasking Single Tasking: The early operating systems allowed only one task to be loaded in memory at once. For example: o do word processing, one had to load the word processor program; start the program; do work; save the data file; then exit the program. Sometimes, parts of the operating system had to be reloaded. All drivers were included for each device supported by the program had to be part of the program. Memory Resident Programs: With the coming of “memory-resident” programs, multitasking was born. While this permitted more than one program to be loaded into memory, only one could actually run at any one time. Multi-Tasking: By allocating computer resources (processor time and memory) to each program, more than one program could be made to run at one time. Actually, while the programs appeared to be running simultaneously, the processor was actually switching rapidly back and forth to run parts of each program. Hence, the more programs running, the slower the system would run. Crashes were frequent as system components timed out waiting for other programs to release processor time. Later a system of rules called pre-emption allowed more important processes, like saving files, to have priority. This was known as “Pre-emptive Multi-tasking”. With the advance of more sophisticated processors by Intel, AMD, and Mototola, the processor resources could actually be split into channels called “threads” allowing programs to truly run simultaneously. This is know as “Multi-Threading”. Today a combination of all of the above is used in concert to permit programs and application programs to coexist and function harmoniously. While systems still crash occasionally, most crashes are caused by program errors in poorly tested application programs. Today’s operating systems like Windows XP and Mac System can shut down programs that violate the rules before they damage operating system code. The User Interface Command Line requires typing in commands at a prompt. A Graphical User Interface (GUI) makes use of a pointing device to select an operation or a function from an icon or menu. Generally speaking, the user interface is what we usually associate with a particular operating system. However, as we will find out, the differences among operating systems go much deeper than appearances, even though many of these are transparent to the user. COMPONENTS AND FUNCTIONS OF OPERATING SYSTEMS Generally speaking, all operating systems have the same jobs to perform even though they may go about it in different ways. We can summarize this by dividing the operating system into four functional components: The device component, the file component, the program component, the network component and the interface component. The Device Component Although Plug ‘n Play and the PCI have eliminated having to manually assign the following, knowledge of the following will help when devices conflict. These settings can be found in the Windows Device Manager or Apple System Folder. Windows also records these settings in a database called the Registry and Novell NetWare makes use of a similar database called NetWare Directory Services (NDS). Addresses: In order to be recognized and used by the computer, each device attached to the computer is must be given an address or address range in memory where information may pass to and from the device. These addresses are usually expressed in hexadecimal numbers. Interrupts (IRQ) There are 16 available interrupts. These are set from a “0” to a “1” when a particular device needs the system’s attention. Each device, including processors and boards must have a unique interrupt. These are assigned using the numbers from 0..15. In rare cases, two devices may share an interrupt, if they do not operate simultaneously. Direct Memory Address (DMA) some fast devices like disk drives must also be assigned a DMA number as well. Drivers are programs containing instructions that direct the operating system on how to communicate with a device. These are loaded in low memory and act as a patch to BIOS. The File Component The file component or Disk Operating System handles communication with the file system that was set up on the disk drives. It contains a command set that must be used by the user, either at a command line or through a menu or icon system. The logical file structure is presented to the user as a directory structure or “folder” metaphor as in the Windows Explorer or Apple System. This component of the operating system contains objects (functions), which may be individual programs, to perform all of the functions of file management on disk drives. This component is the one most used by the user to: Format Disks Save and Delete Files Copy and Move Files Backup and File System Maintenance The Program Component This component, sometimes known as a task manager or launcher, is responsible for launching, application programs managing system resources, like memory addresses and shutting down programs and reclaiming resources. In windows, the Registry contains notations about each program. These are placed there during the program installation and are only removed during uninstall. Unlike the Apple Mac, programs in a Windows system are integrally bound to the operating system through registry entries, *.INI files, *.DLL files so proper install and uninstall procedures must be used. Never delete a program folder. The Network Component The network component contains the facilities to identify different users for the same computer and the sharing of devices and resources. Depending on the operating system, this may range from simple peer to peer sharing or a fully dedicated network server system. This component must intercept all incoming and outgoing requests to the operating system. This includes the mapping of network volumes and identifying them to the computer. In GUI systems, the network appears as an extension to the local computer. Therefore, external network disks or volumes become part of the local folder structure and may be managed by the file system to the extent that the user’s rights permit. Listed below are the functions for the network component. Drivers for the network interface adapter card (NIC) or other connection such as Dial-up, USB or Fire Wire. Protocols (common language & communication rules) for various network systems. Client Type that allows other computers or the server to recognize the computer as a member of the network. Workstation or Server Identification Services – a definition of what resources are available for sharing. User Identification, Password Protection, Rights and System Security The Interface Component This is the part of the operating system that comes in direct contact with the user. It gives the system and the computer its “feel and touch”. Some operating systems like UNIX and DOS, Novell and others use a simple prompt or command line and require spelling out commands. However, most popular operating systems like Apple Mac and Windows use a graphical User Interface (GUI) where a pointing device is used select from icons and menu choices using “point”, “click”, “drag” and “drop” procedures. These operating systems use a system of resident, shared components and system resources. These more complex systems make use of a layered or nested structured hierarchy. The “Desktop” appears as the primary folder or container wherein all menu and icon objects launch their programs. The desktop as well as other folders, in some systems’ may be cosmetically decorated with colors and backgrounds to enhance user friendliness. Which is better, PC vs. Mac? If today’s P.C. is a 32-bit computer and the Apple Mac is a 32-bit computer and both use GUI user interfaces, what is the difference? It is true that today, that the P.C. and the Mac were never closer. They use the same RAM Chips, CDROMS, IDE Interface and Hard Drives. In addition to the cosmetic differences in the user interface, the major system differences are as follows: First, the Mac uses a single-mode processor. Because Apple did not address the issue of software backward compatibility, this processor is a single-mode 32 bit processor. When IBM commissioned Intel to design its family of processors, it started as a 16-bit system. As it grew into a 32-bit system, later processors had to be designed as a dual-mode processor (Real Mode and Protected Mode) and two separate addressing systems 16 and 32 bit. To maintain backward compatibility with earlier software, memory must be segmented and does not enjoy the Mac’s flat address scheme. All Intel and Intel compatible (Cyrix, AMD, etc.) processors currently boot in the 16 bit real mode until the operating system makes a call to switch the chip’s mode. This is no so with the Mac. Hence, this leads to a more complicated system and a less stable situation. However, as the need for 16-bit real-mode software passes away, the day will come when Intel will be able to design a single-mode processor. At that time, the P.C. and the Mac will be very similar. Therefore, any performance comparisons made between the P.C. and Mac are not valid, regardless of the commercial claims. The following table compares the Mac and the PC in some popular areas. From the concept of structure, the greatest difference between the Mac and the PC is that the Windows operating system uses the concept of shared software resources. A record of what uses what is kept in a two database files (User.dat and system.dat) that each program must consult at startup. While this eliminates the redundancy of DLL files and allows smaller program files, program installation and removal is more complex. An incomplete installation or removal can leave orphan files and registry entries that can create errors on system startup. In contrast, the Mac program contains all necessary code in one program or folder. That is why deleting a Mac program folder deletes the program. Moving or deleting a PC Windows program folder can yield an adventure that would challenge Indiana Jones. General Operating System Maintenance An operating system is a dynamic system and is prone to errors due to a number of factors like faulty application programs, power failures, improper shutdown procedures and computer viruses. Even when none of these may be the case, Operating systems are not perfect. The disk file system is most prone to damage due to computer viruses and incomplete file save procedures. The following routine system maintenance should be done regularly. Since all of the following can do damage, if a mistake is made, perform them only when you are not distracted by other things. Regularly back up all files, especially the registry files and your data files (Windows Backup). This can be done on tape, Zip disks, LS-120 Floppy disks or using the Iomega Jaz Drive. Install and run a virus checker with the latest updated virus signature list (like Norton or McAffe). Minimal protection for your boot sector can be had by setting the “virus protection” flag in your BIOS Setup. This will warn you when a change is attempted. Viruses can enter your system from floppy disks, CD-ROMS, your on-line connection or network connection. Viruses may be attached to any file. New viruses are created every day. For virus protection to be sound, you must constantly download the latest virus signatures from your virus protection program’s website. A list or virus signatures that is old is like no protection at all. Install any available Service Packs or update. These are usually corrections for known bugs in the system. Use available cleanup programs to cleanup temporary files, program fragments and registry entries. (Windows Cleanup or Norton’s System Works). Run file repair regularly (Windows Scandisk). This will reclaim and attempt to repair file and folder entries and refreshes the Disk File table. Run a disk defrag program to rearrange and relocate file fragments for more efficient operation (Windows Defrag). Always run Scandisk first. Defragging a drive with a bad file structure can wreck havoc with your files. Make sure that your web browser history is set for the lowest practical setting. If you do a lot of web browsing, history can mount up very quickly. Also delete temporary Internet files. When installing or uninstalling any Windows programs, always shut down all other programs and utilities first. Never delete program folders or files. Always use the uninstall program (Windows Add/Remove Programs in the Control Panel). After installing a program, do not use it until your system is restarted. Unlike the Macintosh, a Windows program does not exist as a separate entity. It is assimilated by the system. This is done during installation by changes made in the Windows system folder and Registry. Windows also uses a system of shared *.DLL files that service more than one program or the system itself. Deleting or changing one element can cause problems in many other areas. Changes can render Windows inoperable. The Internet “cookies” folder, found in the windows folder, needs to be cleared occasionally. For the more intrepid of us, we can clean up unwanted entries in the Windows.ini and System.ini files as well as the Registry. Sysedit.exe allows us to search and change the system *.INI files and Regedit.exe permits us to search and edit the Registry. These files should be backed up first. These routines can be very dangerous to the health of your system. Commercial programs like Norton’s System Works are a bit safer but always risky. Finally, no matter how many cleanup utilities or procedures you use, over time, a lot of orphan *.INI, *.DLL files and Registry entries collect that bog down our system. Occasionally back up your data files (Note: Having a separate hard drive just for data makes this process easier.) and format your system drive and completely reinstall your operating system with updates and latest device drivers to give your system a fresh start. After doing this, you will have to reinstall all of your current programs from original disks. CAUTION: Some economy computer dealers install dealer copies of programs and do not give you the original disks. This process will also wipe out installation copies on the hard drive. IF YOU DO NOT OWN YOUR SOFTWARE AND MANUALS, THIS IS AS GOOD AS NOT HAVING THE SOFTWARE AT ALL. ILLLEGAL COPIES ARE NOT ONLY ILLEGAL BUT CAN LEAVE YOU IN A FIX AFTER WIPING OUT YOUR HARD DRIVE. Today’s operating systems, whether PC or Mac are complex. Serious damage can happen from outside the computer. Caution should be exercised in the following areas: Power Supply, Phone Line, Network, Disks, CDs, DVDs and Floppy Disks. Power Supply: A fluctuation in power can cause loss of data and hardware damage. A sudden rise or “spike” in voltage or drop in voltage, “brownout“, can have serious consequences. At the very least use a good quality surge protector, designed for computer equipment. Most come with a warrantee that will replace equipment lost, if damaged while protection is in place. An Auxiliary Power Unit (APU) is a better investment, since these afford a battery backup that will permit proper system shutdown, even in your absence. They can be purchased for under $100. Manufacturers like APC, Belkin and Energizer are popular brands in retail stores. Be careful to buy one with the capacity to handle all your equipment. Laser Printers should not be plugged into the unit. Also pay attention to the safe lights on both surge protectors and APUs, these lights indicate if they stop giving protection or need service. Virus Protection: Viruses, Trojan Horses, and Worms can enter from disks or online services. It is not enough to have a anti-virus program, to be effective, you must check daily for updates to virus signatures and download the latest list. New viruses appear at the rate of several per day. Never accept disks without checking them or download material, except from a reputable source. Personal Firewall: This type of program is a must if you are continuously on-line (using cable, DSL, T1). This will protect or warn you of unwanted intrusion into your computer. People can, unknown to you, use your system or install programs that silently send them personal information. These also protect against pop-up adds and unwanted junk email. Like antivirus programs, these must be upgraded on a daily basis. Most can be set to do this automatically. Both Norton and McAfee offer programs for anti-virus and personal firewall protection for under $100 each.