Software is a general term used to define a set of instructions given to a computer to perform, it is not a physical piece of a computer, but it is just as important to a computer as the hardware. There are a great many different types of software, but we will stick to four general categories:
This type of software has a set of instructions that is designed to help users, who are people using the computer, perform a task. A user task is another way of saying a job or action that a user wants to take. These jobs can range from creating a document for an essay, to playing a video game, to listening to music, to creating a database. The one thing these pieces of software have in common is that they are very specific or specialized in what they do, and that the users should not have to know how a computer works in order to use the software.
We can break application software down into some sub-categories:
System software is responsible for communication between hardware and other pieces of software. There are a few different types of system software:
Device drivers come in many shapes, sizes and locations. For example, when you start up your computer, you are presented with a black screen. On that black screen you may see something like the image on the right.
This is a driver that controls how your computer operates. It is called the BIOS, which stands for Basic Input Output System. Previously, the BIOS existed inside a chip of Read Only Memory (ROM) on your motherboard. This was inconvenient especially if it was discovered that there was an error in the BIOS program. Today, flash memory is used to store the BIOS so that it can be changed or updated.
The purpose of the BIOS is to start up your hardware and test to ensure that communication with that hardware works. In addition, the BIOS provides other pieces of software with an API which defines how to interact with the hardware. For example, the BIOS will have some way of changing the colour of a pixel on the screen, perhaps through an interface that looks like this: setPixelColour(position, colour).
An operating system is composed of:
Development software exists for the sole purpose of allowing people like us, programmers, to create new fantastic pieces of code, or to fix old ones. There are a few key types of development software:
Malware is a general term for any piece of software that exists to be disruptive in some way: Malicious Software. They can be broken down into a few general categories:
1. Classify the following programs as either Application, System, Development software or Malware. Justify your answer. You may have to search the internet.
2. There are many different types of malware. Use the search term "Famous Viruses" to find a virus and answer the following questions:
3. What is a DDOS attack? Do DDOS attacks qualify as software? Why or why not?