I.T. – 2.2 Types of computer software 2.2 TYPES OF COMPUTER SOFTWARE Relationship among operating system, application software and data files System software System software is a set of programs that control the operations of the computer and its devices. It is the interface or communication bridge between the users, application software, and the hardware. There are 2 types of system software: Operating system (OS) Utility programs Operating system (OS) An OS is a program (some may say a set of programs) that coordinates all the activities of a computer. An OS also allows users to run application software. Examples of OS are MS Windows, Unix, Linux and MacOS. OS is the first program loaded when the compute is turned on. The next section shows you how an OS take part in the process of starting a computer. Starting a computer Turn on the computer, the power supply sends a signal to the components in the system unit. The processor finds the ROM chip that contains the BIOS (basic input/output system). The BIOS performs POST (power-on self test) to check the system components such as the buses, system clock, expansion cards, RAMs, keyboard and drives. The results of the POST are compared with data in the CMOS chip. The computer may beep, display error messages, or even hang for any problems found, e.g. the computer would usually produce 7 successive beeps for the problem caused by display adapter. The BIOS looks for the system files in one of the booting drives. The boot sequence depends on user-defined setting in the BIOS, but usually is floppy drive (A:) the first hard disk (C:) CD-ROM drive. Once located, the system files and the #kernel of the OS load into RAM from hard disk/booting drive. The OS loads configuration information and displays the interface on the screen. # Kernel, the main part of an OS, resides in memory all the time once the computer is on (memory resident). The kernel is namely the core of an OS that manages memory and devices, maintains the computer’s clock, starts application, and assigns the computer’s resources. Functions of OS User interface The user interface (UI) provides users a way to interact with the computer. It controls how users enter data and instructions and how information displays on the screen. Two types of UI: Command-line: This kind of UI allows users to enter data and instructions in text form only. Graphical: This kind of UI called Graphics User Interface (GUI) provides a graphical interface for users to use menus and visual images such as icons, buttons, and other graphical objects to issue commands. Besides the beautified UI, it does not require users to memorize command language. Job scheduling The OS determines the order in which jobs are processed. A job is an operation the processor manages. The OS does not always process jobs on a first-come, first-served basis. Sometimes, one user/process may have higher priority than Prepared by Desmond C.S. Wong Page 1 I.T. – 2.2 Types of computer software others. A processor works much faster than other devices in the computer. A device may not be able to complete a job before receiving another job from the processor. For example, a processor may have sent several print jobs to a printer while it is just printing the first document. To prevent the processor becoming idle while waiting for devices, the OS places jobs in buffers. In this example, the process the OS uses buffer with print jobs is called spooling which sends print job to a buffer instead of the printer. The printer prints documents from the buffer while the processor can server for other tasks. Program management Single user/single tasking This kind of OS allows only one user to run one program at a time (e.g. MS-DOS). For example, suppose you are typing a document in a word processor and then decide to check your e-mail messages, you must quit the word processor before you can run the e-mail program. You then must close the e-mail program and restart the word processor to finish the document. Multitasking This kind of OS allows a single user to work on two or more applications that reside in memory at the same time (e.g. MS Windows 9x). In the case above, you do not have to quit the word processor to run the e-mail program. Both programs can run concurrently. Multi-user A multi-user allows two or more users to run a program simultaneously. Networks, most servers, mainframes, and supercomputers require this kind of OS. Multiprocessing This kind of OS can support two or more processors running programs at the same time. A computer with separate processors (and other duplicate components like memory and hard disks) can also serve as a fault-tolerant computer. A fault-tolerant computer continues to operate even if one of its components fails. Airline reservation systems, communications networks, automated teller machines (ATM), and other systems that must be operational at all times use fault-tolerant computers. Data management Data management keeps track of the data on disk, tape and optical storage devices. The application program deals with data by file name and a particular location within the file. The operating system's file system knows where that data is physically stored (which sectors on disk) and interaction between the application and operating system is through the programming interface. Whenever an application needs to read or write data, it makes a call to the operating system. Device management Device management controls peripheral devices by sending those commands in their own proprietary language. The software routine that knows how to deal with each device is called a "driver". The operating system contains all the drivers for the peripherals attached to the computer. When a new peripheral is added, that device's driver is installed into the operating system. Nowadays, most devices and OSs support #Plug and Play (PnP) with which the computer can recognize a new device and assist users in its installation by loading the necessary drivers automatically and checking for conflicts with other devices. With PnP, the OS determines the best IRQ (interrupt request) out of the 16 (IRQ 0-15), which is a communications line between a device and the processor, to use for communications. # PnP allows a user to plug in a device, turn on the computer, and then user, or play, the device without having to configure the system manually. Security of access Multi-user operating systems provide password protection to keep unauthorized users out of the system. Large operating systems also maintain activity logs and accounting of the user's time for billing purposes. They also provide backup and Prepared by Desmond C.S. Wong Page 2 I.T. – 2.2 Types of computer software recovery routines for starting over in the event of a system failure. (The above points are extracted from TechEncyclopedia and Discovering Computers 2003) Resources management The OS provides decision mechanisms to allocate resources, e.g. CPU processing time and memory usage, for application programs to help preventing or avoiding the system from problems due to competition among processes for resources. Error detection and response A variety of errors can occur while a computer system is running. The OS must make the response that clears the error condition with the least impact on running applications. The response may range from ending the program that caused the error, to retrying the operation, to simply reporting the error to the application. (Operating Systems, Stallings, p.49) Types of OS The three basic categories of OSs: stand-alone, network, and embedded. Stand-alone OS A stand-alone OS is a complete OS that works on a desktop or notebook computer. Some of these OSs is called client OS which can operate with or without a network. Examples of stand-alone OS are: MS-DOS, MS Windows 9x, Windows NT Workstation, Windows 2000 Professional, Windows Millennium Edition (ME), Windows XP Home Edition and Professional Edition, Apple Mac OS X, IBM OS/2 Warp Client. Netowork OS A network OS is an OS that supports a network. A network OS typically resides on a server. Examples of network OS are: Novell Netware, MS Windows NT Server, Windows 2000 Server, Windows .NET Server, IBM OS/2 Warp Server for E-business, UNIX, LINUX, Sun Solaris. Embedded OS This is the kind on most handheld computers and small devices. An embedded OS resides on a ROM chip. Examples of embedded OS are: Windows CE, Pocket PC 2002, Palm OS. Utility programs A utility program, or utility, is a type of system software that performs a specific task, usually related to managing a computer, its devices, or its programs. Uninstaller is an example of utility program. Some utility programs can perform managing disk drives, printers, and other devices. Most OSs include several utility programs. Stand-alone (unattached to an OS) utility programs are also available. Some more examples of utility programs: File viewer e.g. Windows explorer File compression utility e.g. WinZip, PKZip Diagnostic utility e.g. Dr. Watson, Norton Utility Uninstaller Disk scanner Disk defragmenter Backup utility Screen saver Prepared by Desmond C.S. Wong Page 3 I.T. – 2.2 Types of computer software Application software Application software consists of programs that perform specific tasks for users. There are some popular application software: Word processing software It allows users to create documents such as letters, memorandums, and brochures. Spreadsheet software It allows users to calculate numbers arranged in rows and columns. It is usually used for performing financial tasks such as budgeting and forecasting. Database software It allows users to store data in an organized fashion, as well as retrieve, manipulate, and display that data in a variety of formats. Presentation graphics software It allows users to create documents called slides that add visual appeal to presentations. Software vendors often bundle the above software in a single unit called a suite, e.g. MS Office. Besides office suite, many other types of application software exist that enable users to perform a variety of tasks. They include: Reference, educational entertainment Graphics software Desktop publishing Photo and video editing Multimedia authoring Network, communications, electronic mail, and Web browsers Accounting Anti-virus scanner Project management Personal information management Application software is available in a variety of forms: Packaged software Copyrighted application or system software that meets the needs of a wide variety of users, not just a single user or company. Packaged software can be purchased from software retailing stores. Custom software The applications that meet the unique requirements of a user or a company. Custom software, written by programmers, is a tailor-made application or system program developed at a user’s request to perform specific functions. Freeware Freeware are applications or system software provided at no cost to users. Freeware are copyrighted. Users cannot resell them. A freeware is also referred as not-yet-made-perfect software. The owner or developer of the freeware has no obligation to ensure the software is made perfect or made without any bugs. Public domain software Public domain software are also free software, but they are donated for public use and have no copyright restrictions. Shareware Shareware are copyrighted software that are distributed free for a trial period. If users want to use a shareware program beyond that period, they simply send a payment to the person or company that developed the program. Software from application service providers As you know that the software may not be at the price level we are willing to afford. It should be a costly investment for owning copies of all software we often use. Some users opt to use an application service provider for their software needs. An application service provider (ASP) is a third-party company that manages and distributes software and services on the Internet. Users run the program from the Internet instead of installing it on their own computers. Prepared by Desmond C.S. Wong Page 4 I.T. – 2.2 Types of computer software Data files Data files store data or information (text, image, animation, video, and sound) processed by the computer or user. Some file extensions of data files you may be familiar with: Text document .txt This is a plain text file format with no formatting features. TXT files are commonly used for cross-platform file transfer. It can be read by most text editors. .rtf It is a file format that allows exchanging text files between different word processors in different operating systems. RTF defines control words and symbols that serve as “common denominator” formatting commands. It is one of the kinds used for cross-platform. .doc The file format developed by Microsoft. It is the proprietary document format of the word processor called MS Word. .pdf PDF (Portable Document Format) is a file format that has captured all the elements of a printed document as an electronic image that can be viewed, navigated, printed, or forwarded to someone else. PDF files are especially useful for documents such as magazine articles, product brochures, or flyers in which you want to preserve the original graphic appearance online. Image files .bmp The file extension used by Microsoft to represent bitmap image files. Bitmap defines a display space and the color for each pixel or "bit" in the display space. .gif GIF (Graphics Interchange Format) is one of the most common file formats for graphic images on the Internet. There are two versions of the format, 87a and GIF89a. Version 89a (July, 1989) allows for the possibility of an animated GIF, which is a short sequence of images within a single GIF file. A GIF89a can also be specified for interlaced GIF presentation. However, the LZW compression algorithm used in GIF need to license its use from Unisys. .jpg JPG or JPEG (Joint Photographic Experts Group) is another most common graphic image file format on the Internet. A JPEG file is created by choosing from a range of compression qualities (actually, from one of a suite of compression algorithms). JPEG is "lossy" but lets the creator make a trade-off between file size and image quality when the image is compressed. .png PNG (Portable Network Graphics) is a file format for image compression that, in time, is expected to replace the Graphics Interchange Format (GIF) that is widely used on today's Internet. PNG was developed by an Internet committee expressly to be patent-free. It provides a number of improvements over the GIF format. Like a GIF, a PNG file is compressed in lossless fashion (meaning all image information is restored when the file is decompressed during viewing). Typically, an image in a PNG file can be 10 to 30% more compressed than in a GIF format. .tiff TIFF (Tag Image File Format) is a common format for exchanging raster graphics (bitmap) images between applications programs, including those used for scanner images. TIFF files are commonly used in desktop publishing, faxing, 3-D applications, and medical imaging applications. Sound files .mid MID or MIDI (Musical Instrument Digital Interface) is a protocol designed for recording and playing back music on digital synthesizers. Rather than representing musical sound directly, it transmits information about how music is Prepared by Desmond C.S. Wong Page 5 I.T. – 2.2 Types of computer software produced. The command set includes note-ons, note-offs, key velocity, pitch bend and other methods of controlling a synthesizer. The sound waves produced are those already stored in a wavetable in the receiving instrument or sound card. Since a MIDI file only represents player information, it is far more concise than formats that the sound directly. An advantage is very small file size. A disadvantage is the lack of specific sound control. .mp3 MP3 (MPEG-1 Audio Layer-3) is a standard technology and format for compression a sound sequence into a very small file (about one-twelfth the size of the original file) while preserving the original level of sound quality when it is played. .ra RA (Real Audio) is a compressed audio format developed by Real ®. .wav A Wave file is an audio file format, created by Microsoft, which has become a standard PC audio file format for everything from system and game sounds to CD-quality audio. Used primarily in PCs, the Wave file format has been accepted as a viable interchange medium for other computer platforms, such as Macintosh. In addition to the uncompressed raw audio data, the Wave file format stores information about the file's number of tracks (mono or stereo), sample rate, and bit depth. Video files .avi An AVI (Audio Video Interleaved) file is a sound and motion picture file that conforms to the Microsoft Windows Resource Interchange File Format (RIFF) specification. .mov MOV is the file extension of QuickTime movie developed by Apple Computer. .mpg MPG or MPEG (Moving Picture Experts Group) is the standard for digital video and digital audio compression. MPEG-1 was designed for coding progressive video at a transmission rate of about 1.5 million bits per second. It was designed specifically for Video-CD and CD-i media. MPEG-1 audio layer-3 (MP3) has also evolved from early MPEG work. MPEG-2 was designed for coding interlaced images at transmission rates above 4 million bits per second. MPEG-2 is used for digital TV broadcast and DVD. An MPEG-2 player can handle MPEG-1 data as well. MPEG-1 and -2 define techniques for compressing digital video by factors varying from 25:1 to 50:1. A proposed MPEG-3 standard, intended for High Definition TV (HDTV), was merged with the MPEG-2 standard when it became apparent that the MPEG-2 standard met the HDTV requirements. MPEG-4 is a much more ambitious standard and addresses speech and video synthesis, fractal geometry, computer visualization, and an artificial intelligence (AI) approach to reconstructing images. MPEG-21 provides a larger, architectural framework for the creation and delivery of multimedia. .rm RM (Real Media) is a compressed video format developed by Real ®. Presentation file .ppt The graphics presentation file format, developed by Microsoft, which present information with slides. Spredsheet file .xls A spreadsheet file format, developed by Microsoft, which is a sheet of paper that shows accounting or other data in rows and columns; a spreadsheet is also a computer application program that simulates a physical spreadsheet by capturing, displaying, and manipulating data arranged in rows and columns. Database file Prepared by Desmond C.S. Wong Page 6 I.T. – 2.2 Types of computer software .dbf DBF (Database File) is the database file format used by FoxPro. A database is a collection of data that are organized so that its contents can easily be accessed, managed, and updated. .mdb MDB (Microsoft Database) is the database file format for Microsoft Access. Can you distinguish the differences between raster graphics (bitmap graphics) and vector graphics? (Information about the file formats are mainly captured from whatis.com) Relationship among operating software and data files system, application The relationship among operating system, application software and data files can be illustrated with the following diagram: User Data Files Prepared by Desmond C.S. Wong Application Software Operating System Page 7