Computer Systems Basics—Software


Computer Systems Basics—Software

Mary L. McHugh


Software is the general term applied to the instructions that direct the computer’s hardware to perform work. It is distinguished from hardware by its conceptual rather than physical nature. Hardware consists of physical components, whereas software consists of instructions communicated electronically to the hardware. Software is needed for two purposes. First, computers do not directly understand human language, and software is needed to translate instructions created in human language into machine language. At the machine level, computers can understand only binary numbers, not English or any other human language.

Second, packaged or stored software is needed to make the computer an economical work tool. Software packages that perform work are called programs. Theoretically, users could create their own software to use the computer. However, writing software instructions (programming) is extremely difficult, time-consuming, and, for most people, tedious. It is much more practical and economical for one highly skilled person or programming team to develop programs that many other people can buy and use to do common tasks. Software is supplied as organized instruction sets called programs or “apps” (for applications), or more typically as a set of related programs called a package.

For example, several prominent software companies sell their own version of a package of programs that are typically needed to support an office computer, including a word processing program, a spreadsheet program, a presentation graphics program, and sometimes a database manager. Programs translate operations the user needs into language and instructions that the computer can understand. By itself, computer hardware is merely a collection of printed circuits, plastic, metal, and wires. Without software, hardware performs no functions.


There are three basic types of software: system software, utility programs, and applications software. System software “boots up” (starts up and initializes) the computer system; it controls input, output, and storage; and it controls the operations of all other software. Utility software consists of programs designed to support and optimize the functioning of the computer system itself. Utility programs help maintain the computer system’s speed, clean up unwanted programs, protect the system against virus attacks, access the World Wide Web (WWW), and the like. Applications software include the programs that perform the business or personal work people use the machine to do. Sometimes it can get confusing as to whether programs are utility programs or system software or applications because system software packages today usually include a variety of utility programs with the basic system software packages, and many utility programs can be purchased as stand-alone programs and run separately by the users.

System Software

System software consists of a variety of programs that control the individual computer and make the user’s application programs work well with the hardware. System software consists of a variety of programs that initialize, or boot up, the computer when it is first turned on and thereafter control all the functions of the computer hardware and applications software. System software helps speed up the computer’s processing, expands the power of the computer by creating cache memory, reduces the amount of confusion when multiple programs are running together, “cleans up” the hard drive so that storage is managed efficiently, and performs other such system management tasks.

Basic Input/Output System The first level of system control is handled by the basic input/output system (BIOS) stored on a read-only memory (ROM) chip on the motherboard. The software on the BIOS chip is the first part of the computer to function when the system is turned on. It first searches for an operating system (OS) and loads it into the random access memory (RAM). Given that the BIOS consists of a set of instructions permanently burned onto a computer chip, it is truly a combination of hardware and software. Programs on chips are often called firmware, because they straddle the line between hardware and software. For this reason, many computer engineers make a distinction between firmware and software. From that perspective, the OS is actually the first level of system software.

Operating System An operating system (OS) is the overall controller of the work of the computer. The OS is software loaded from the hard drive into RAM as soon as the computer is turned on. While the firmware cannot be upgraded without changing the hardware chip, the OS can be upgraded or entirely changed through software. The user can simply delete one system of OS files from the hard drive and install a new OS. Most users purchase a computer with the OS already installed on the hard drive. However, the OS can be purchased separately and installed by the user. OSs handle the connection between the CPU (central processing unit) and peripherals. The connection between the CPU and a peripheral or a user is called an interface. The OS manages the interfaces to all peripheral hardware, schedules tasks, allocates storage in memory and on disks, retrieves programs and data from storage, and provides an interface between the machine and the user.

One of the most critical tasks (from the user’s perspective) performed by the OS involves the management of storage. In the early computers, there were no OSs. Every programmer had to include explicit instructions in every program to tell the CPU exactly where in RAM to locate the lines of program code and data to be used during processing. That meant the user had to keep track of thousands of memory locations, and be sure to avoid writing one line of code over another active line of code. Also, the programmer had to be careful that output of one part of processing did not accidentally get written over output from another part of processing. As can be imagined, the need for management of storage consumed a great deal of time and programming code, and it produced many errors in programs. Since those errors had to be discovered and corrected before the program would run correctly, the lack of an OS made programming enormously timeconsuming and tedious. In comparison, programming today—while still a difficult and time-consuming task—is much more efficient. In fact, with the size of programs, memory, and storage media today, no programmer could realistically manage all the storage. OSs allowed not only more complex programs and systems, but without them, there could be no home computers, except for machines owned by skilled programmers.

Utility Software

Utility programs include programs designed to keep the computer system operating efficiently. They do this by adding power to the functioning of the system software or supporting the OS or applications software programs. As such, utility programs are sort of between system software and applications software, although some writers identify this software as part of the system software category. Six types of utility software can describe the majority of utility programs, although there is no formal categorization system for such programs. The categories include at least security programs, system management utilities, backup for the user’s data, screen savers, archival assistance software, and programming environment support programs.

Security software, including primarily anti-virus, firewall, and encryption programs, protects the computer and its data from attacks that can destroy programs and data. Anti-virus utilities serve primarily to guard against malicious programs inadvertently accessed, usually through e-mail or downloads from the Internet. Firewalls are a type of security program that makes it much harder for unauthorized persons or systems to enter the computer and hijack or damage programs or data on the computer. Firewalls can include both additional hardware and utility software. Encryption software encodes the data so that it cannot be read until it is decoded. The HTTPS (Hypertext Transfer Protocol Secure) letters on a Web page address indicate that the site encrypts data sent through that site. The encryption is sufficiently high level that it cannot be decoded without a program at the receiver site. This encryption makes buying and selling via the Internet much safer. Without such encryption, credit card and other very private data would not be safe to use to purchase anything via the Internet. Security can also be a hardware issue because there are devices that can greatly enhance the security of computer systems (Markov, 2019).

System management utilities are designed to help the user keep the computer system running efficiently. For example, disk management utilities serve to keep hard disk space clean and efficient. They do this by analyzing use of disk space, defragmenting the drive, and deleting duplicate files if the user so commands. Over time as users store and delete data and programs, information on the disk may become scattered across the disk in an inefficient or fragmented way. The defragmenter moves data around on the disk so that small empty spaces are eliminated and data and programs are relocated to better use the available space. These programs can also compress data to free up disk space, partition a disk so that the user has more control on where different types of information are stored, and clean up disks by eliminating unnecessary data and information.

Other system management utilities locate and remove “temporary” files created by many programs, search for updates for system and applications programs (and may automatically apply the updates), and clean the registry of outdated, broken, or useless entries. Temporary files can build up and clog the system. Many programs and Internet sites temporarily store information on the hard drive as part of their operations, but when those operations are finished, they don’t clean the temporary files. Such files can consume quite a bit of disk space over time and slow down the computer. Disk cleaners can sometimes free up large amounts of disk space just by eliminating those unneeded “temporary” files. Other system management utilities include diagnostic programs designed to find problems with programs or the OS so that they can be fixed, programs that control who can access the computer or certain files on the computer, test the computer’s memory, and other tasks.

Backup utilities serve to help the users back up their data. These backup systems are different from things like external drives and Cloud storage. Applications programs may be backed up, but usually that isn’t necessary because legal copies of programs can be reloaded by the person who bought the license. (Illegal, or pirate, programs are a different issue. The computer owner may not have a backup copy of illegally downloaded programs). Given that any computer component can fail, it is very important for users to back up their data to reduce the chance that saved data could be lost permanently. When a hard drive fails (or crashes), the user who has not backed up that drive is at risk of permanently losing photos, personal and work information, songs, videos, and anything else stored on the computer. Of course, backing up data on the same hard drive isn’t necessarily much protection. A better choice is to back up one’s data to the Cloud or to an external (removable) hard drive or some other backup location.

Screen savers are computer programs that either blank the monitor screen or fill it with constantly moving images when the user is away from the computer but does not turn it (and the monitor) completely off. They were originally developed for old technology screens (cathode ray tube [CRT] screens or plasma screens) that would be damaged by having the same image on the screen for a long period of time. Modern computer screens have different technology and so don’t suffer that risk. However, screen savers are often entertaining or beautiful to look at, and do provide a small measure of privacy because they hide whatever the user is working on when the user steps away from the computer. Unless also linked with a program that requires the user to sign back in to access the regular screen, they don’t provide security because a passing person could simply tap a key to get back to the regular screen. However, most people have the good manners to keep their hands off other people’s computers, and the screen saver hides what might be personal or confidential data from casual roaming eyes. Screen savers sometimes do require users to log back into their computer to turn off the screen saver, and those do have a security function. Typically, screen savers activate automatically if the computer does not receive any input from the user for a preset time period.

Archival software usually performs at least two functions. First, it compresses information in files to be archived, and then stores them in a compressed form in some long-term storage device. For Windows, programs such as WinZip and WinRar are well-known archival utilities. When the files are retrieved, software must be used to unpack (or decompress) the data so that it can be read. Terms used to describe the data compression performed by archival software include packing, zipping, compressing, and archiving as well as unpacking, unzipping, de-archiving, and extraction. Compression can sharply reduce the size of a large file such that it can be made small enough to e-mail to another person or location.

Programming environment support programs are used by program developers to support their programming work or to run their programs. Computers cannot read or understand English or any other human language. Ultimately, programs must change the language in which developers write programs (the source code) into a machine language the computer can understand (assembler or machine language). The programs that perform these translations are called compilers or interpreters. If a programmer wishes to translate a machine language program into a higher level language a human can understand, the programmer uses a decompiler program. Programming is difficult; not only does the programmer have to detail complex logic, but the commands that comprise the program must be written in a specific syntax. Syntax in this usage refers to a set of very specific rules about words, punctuation, word usage, and word order in a particular computer language. Syntax must be exactly correct for a computer to correctly compile or interpret the code and run the program. Problems with either the logic or syntax will cause the program to fail, or perform incorrectly. These kinds of problems are called “bugs” and correcting them is called “debugging” a program. Utility programs designed to help a programmer debug a program are called debugging programs. The most commonly used utility programs for programmers include programming aids and the various types of compilers and debuggers.

Applications Software

Applications software includes all the various programs people use to do work, process data, play games, communicate with others, and watch videos and multimedia programs on a computer. Unlike system and utility programs, they are written for system users to make use of the computer. When the user orders the OS to run an application program, the OS transfers the program from the hard drive, or removable media, and executes it.

Application programs are written in a particular programming language. Then the program is “compiled” (or translated) into machine language so the computer can understand the instructions and execute the program. Originally, programs were written for a specific computer and could only run on that model machine. However, the science of programming languages and their translation eventually advanced to the point that programs today can generally be “ported” (or translated) across many machines. This advance permitted programmers to develop programs that could be used on a class of machines, such as the Windows type or Mac type computers (the two are still generally incompatible). This advance opened a whole new industry, since programs could be mass marketed as off-the-shelf software packages. By far the most commonly used set of programs are the programs in an office package. The most popular office packages include Microsoft Office, Office 365, Google Docs, Apache OpenOffice, and LibreOffice, but there are many other office program packages. The most useful program in these packages is, of course, the word processing program. But spreadsheets and presentation graphics are also widely used, as are the Database Management System software packages such as Microsoft Access. Many of these products also offer e-mail systems, publisher programs, flowchart software, and various other application programs.

Nursing applications programs are typically part of a hospital or healthcare organization’s information system. Hospitals usually have a large information system called a Hospital or Health Information System (HIS) or Hospital or Health Information Technology System (HITS). These systems include most of the business applications needed, such as billing, payroll, budget management, inventory control (for the hospital’s Central Supply department), personnel applications, etc. They also include clinical and semi-clinical systems, such as laboratory, pharmacy, admissions and patient locator, order entry/results reporting, and the electronic medical record (EMR) or electronic health record (EHR), that contain the clinical documentation or hospital charts for patients.

There are hundreds of application programs that nurses can use in clinical care, and specialized applications for all the settings of care in which nurses work. For example, nurses work with heart monitors, which have programs that assist with interpretation of heart rhythms and may even provide capabilities for nurses to enter data and notes. Fetal monitors, intravenous volumetric pumps, some surgical tools, and a myriad of other instruments have computer processors and programs which support nurses’ use of these tools in patient care. Software has been written and programmed into these machines. The data from patient monitors (including monitoring of blood pressure, heart rate and rhythm, body temperature, oxygenation levels, blood glucose levels, and other parameters) are gathered, fed into a computer and transmitted to the nurse’s work station for interpretation and possible interventions. Home health nurses may use remote monitoring instruments to monitor the health of patients in their homes.

Programming Languages

Only gold members can continue reading. Log In or Register to continue

Stay updated, free articles. Join our Telegram channel

Jul 29, 2021 | Posted by in NURSING | Comments Off on Computer Systems Basics—Software

Full access? Get Clinical Tree

Get Clinical Tree app for offline access