Student notes 3 Software System software System software is software that is used to enable the computer to operate. It includes the operating system and utilities. Operating system The operating system is a crucial piece of software in a computer system because it provides a platform on which all other programs can run. Common operating systems on modern desktop computers include Microsoft® Windows®, Mac OS® and Linux®. There are, however, many more. Functions of an operating system include: • providing a user interface • memory management • peripheral management • multi-tasking • providing basic security Providing a user interface The operating system provides the basic user interface of the computer. It determines the look and feel of the system. This is why it is often possible to tell which operating system a computer is using after you see its user interface. Memory management We have seen that a program or a file needs to be loaded from secondary storage into the RAM before it can be used. Once the operating system itself is loaded, it takes control of how everything else gets loaded into RAM. A special program in the operating system keeps a record of which areas of RAM have been used and what is stored in them. When a new program or file needs to be loaded, it finds the required amount of free space in the RAM and allocates it to the program or file. By doing this, the operating system performs the very important job of making sure that the programs and data in the RAM do not accidentally overwrite each other, or overwrite the operating system. It also makes sure that the RAM is used efficiently. This can involve moving data around inside the RAM to create convenient large free space for new programs and data. This can also involve managing the virtual memory. It does this by deciding which items in the RAM are not currently needed and transfering these to secondary storage, and then retrieving them and putting them back in the RAM when they are needed. Page 1 of 7 OCR Computing for GCSE © Hodder Education 2011 Continued Peripheral management Device drivers are special programs that are used by the operating system to control the hardware that is connected to the computer. Each item of hardware needs a driver that is created specifically for that operating system and that hardware. It enables the operating system to interact correctly with that item of hardware. When a piece of hardware is connected to a computer, the operating system detects it and runs the device driver for that hardware. This often happens without the user realising that the operating system has started a new program. If, for example, the user types some text into a word processor, the operating system uses the keyboard driver to determine which keys have been pressed. It then passes the message that the keys have been pressed to the correct program, even if there are several programs running in the computer. Multi-tasking Many operating systems allow multi-tasking. This is where the computer can run several programs at the same time, for example listening to music while browsing the internet. In reality, most computers can only perform one task at a time because the processor can only fetch and execute one instruction at a time. When the computer is multi-tasking, the operating system keeps all of the programs open even though only one is actually being executed at a time. All the others are waiting for their turn to be executed. The processor then gives each of the programs a turn to be executed and swaps the turns very quickly between the programs so that it appears to the user as if all of the programs are running at the same time. The operating system allocates which programs have a turn to be executed and when. It usually does so in a clever way to make sure that the whole system runs smoothly. For example, if a user is typing into a word processor while another program is doing some complex calculations in the background, then the operating system makes sure that the typing is dealt with quickly so that the user does not have to wait for too long after they have typed a character to see it appear on the screen. Providing basic security The operating system also provids security in several ways. Most operating systems can require a user to log on before they use the computer. The operating system checks whether the password was entered correctly. Operating systems can also assign and manage user rights. This involves determining which files and folders each user can open or edit and which programs a user can run. If several users use the same computer, it uses this to ensure that they do not accidentally damage each others files. In addition to the security provided by the operating system itself, many operating systems also provide additional utilities for security such as a basic firewall program. We look at utilities in the next section. Page 2 of 7 OCR Computing for GCSE © Hodder Education 2011 Continued Utilities Utilities are small programs that perform useful maintenance tasks, for example maintaining security, disk organisation and system maintenance. Utilities for security A piece of software that most computers connected to the internet should have installed and running is antivirus software. It is not usually part of a computer’s operating system and so needs to be installed separately. Antivirus software searches for and destroys computer viruses infecting the computer. A computer virus is a program that attaches itself to files. The virus is programmed so that when an infected file is opened, the virus spreads to other files and potentially to other computers which the computer is connected to. The virus was created intentionally to damage other people’s computers, and so it is often referred to as being a type of software called malware (malicious software). Another type of malware is spyware. Spyware is a program that runs ‘secretly’ on a computer recording personal information, such as passwords and credit card numbers, when a user types these in. It then sends this information to someone via the internet so that it can be used to commit fraud. A trojan is another type of malware which appears to be performing some innocent task, but secretly performs something more sinister, such as allowing unauthorised people to have access to the computers and all its files. Adware is malware that causes multiple, disruptive and sometimes offensive advertisements to pop up on the screen. Many antivirus programs also search for and destroy other types of malware and so are more correctly called anti-malware programs. A good anti-malware program should not just find and delete malware, but should try and prevent the user from getting any malware in the first place. This can be done by scanning any new file that is brought into the computer whether it is downloaded from the internet or copied from a removable storage device. Emails are also often scanned because they are provide common ways for a viruses to spread (e.g. by means of an attachment or embedded code). Another useful utility for security is a firewall. This is a program that monitors the traffic between a computer and the internet and only allows connections which are authorised. If another program, which is not authorised, is trying to access the computer, it will either be blocked or the user will be asked for permission. A firewall can also block the channels, called ‘ports’, through which computers communicate, only allowing those ports which are needed by the user. Using a firewall prevents hackers getting into the computer, and prevents programs such as spyware and trojans from releasing details held on the computer onto the internet. Page 3 of 7 OCR Computing for GCSE © Hodder Education 2011 Continued Utilities for disk management and organisation Secondary storage, which can be internal or removable, is vital to a computer system because this is where the programs and data are stored, allowing the system to operate relialbly over a long period of time, even if it is turned off from time to time. There are therefore a number of utilities which are used to ensure that the secondary storage is working properly. This is so vital to the running of the system that these utilities often come built in to the operating system. Disk formating utilities prepare a disk to be used for the first time. This process is called initialising a disk. A new disk is like a very large blank sheet of paper on which data will be stored. When the disk is formatted the disks is organised into blocks and each block is given an address. This is like dividing the large sheet of paper into smaller numbered squares. To store or retrieve an item, you need to know the number of the square. During formatting, a file allocation table is also created. This is an index that tells the operating system which files are stored in which blocks. Another utility which is often needed on a personal computer is one for defragmentation. This is needed because of the way computers usually use the blocks on a disk. When a file needs to be saved, the operating system splits the file into small pieces and puts each piece into any free block on the disk. Although it is better for the blocks of the same file to be next to each other, they do not have to be. After many files have been saved and deleted, it is very likely that the files will be split across blocks in the wrong order and in different parts of the disk. When this happens, we say that the disk is fragmented as shown below. Representation of a section of a fragmented disk. Each square represents one block and each colour shows the blocks which belong to the same file. A disk defragmenter rearranges the files on the disk by copying data from one block to another, so that the files are saved in order in blocks which are next to each other. The result of defragmenting the disk is shown here. Representation of a section of a defragmented disk. Defragmenting the disk makes the system work better because the operating system does not have to jump between different parts of the disk to retrieve the pieces and assemble them. It can also save files more easily because the free spaces are next to each other. Because disk defragmenting utilities make the disk work better, they are sometimes also called disk optimisation utilities. Page 4 of 7 OCR Computing for GCSE © Hodder Education 2011 Continued Several utilities exist to let users manage their files. Usually, the files are organised in a hierarchy of folders or directories. There is a main folder which can contain files or other folders. These folders can, in turn, contain other files and folders and so on. The files are not actually physically located in these folders on the disk itself: it is the file management software that presents the files organised into folders for the convenience of the user. Some other file management utilities use a different method of organising the files for the user. Instead of folders, they can use other metaphors, such as a library containing shelves with books. Some also have a very powerful search and indexing facility so that the user can easily reorganise the files in different ways, such as by the date it was created, by the type of file that it is or by special words or ‘tags’ associated with the file. File management utilities allow users to perform tasks easily, such as deleting and renaming files. This is especially useful when you want to perform these tasks with a large number of files at the same time, because you do not need to delete or rename each file individually. They also allow users to transfer files. Files can be transfered within the same disk (e.g. from one folder to another). Usually this means that the file is not actually moved on the disk. Only the entry in the file allocation table, or index, is updated to show the new ‘location’ of the file. Files can also copied or moved to another disk (which is useful, for example, in backing up). Some utilities even allow users to manage and transfer files across the internet, using file transfer protocol (ftp). This is an agreed set of rules for file management on the internet which allow different utilities to access, copy, move or delete the files on servers which can be located anywhere in the world, as long as the utility is following the rules correctly. Utilities for system maintenance It is important to keep a computer system running smoothly, and there are a number of utilities that can help with this. System information utilities provide the user with useful information about how the computer system is running. This can include information about the hardware that is in the system, such as the type of processor or the number of disks that are connected. It can also include information about how the hardware is performing, such as the temperature of the processor, the percentage of the CPU capacity that is being used or how full the disks are. System information utilities sometimes also perform a diagnosis. This means that they scan the computer for common problems and report these to the users. They can also automatically repair the problem or give instructions to the user about how to solve the problem. A common problem with computer systems after they have been used for a while is that they accumulate a number of files and other items that are no longer required. These include temporary files, orphaned files and settings (files and settings which were left behind when a program was removed from the system), very old backups etc. As these items accumulate, they use up the computer’s resources and reduce the performance of the system. We need a system cleanup utility to solve these problems. This scans the computer and removes all the unwanted items. Page 5 of 7 OCR Computing for GCSE © Hodder Education 2011 Continued Another system maintenance utility is a system update tool. This keeps a record of software that is installed on a system and checks from time to time whether there is an updated version of this software available on the internet. If an update is available, then it is downloaded and installed. This can often be done automatically. The software updated can be the operating system itself, a utility, an application program or a hardware driver (softare that allows the hardware to work). One problem with this is that a typical computer system will contain software that is written by different companies and the updates are stored on the internet in different formats on different companies’ servers. The software update tools, therefore, are often built into the software itself, allowing each program to update itself. Other systems solve this problem by having large servers called repositories where all updates for all software are stored. A software update utility then has to check only this repository to see an update is available. Issues to consider when acquiring software Custom-written and off-the-shelf software Users who want software usually have the choice between custom-written and off-the-shelf software. Custom-written software is software that is produced specifically for that user. When the user wants software, he or she asks a software developer to write the program. Off-the-shelf software is software that has a more general purpose and is needed by many customers. A software company identifies that this program is needed, writes the program and then make it available, usually by selling a licence to use it. When a user wants the software they can buy a licence, install the program and use it straight away. The main advantage of custom-written software is that it fits the needs of the user exactly: because it was designed for the user, it is likely to have all the functions and only the functions that the user needs. It is also certain that it will work with the user’s existing hardware and software because this can be included in the design of the program. If there is ever an issue with the software, the user can usually contact the software developer to request that the error is fixed or to add new features. However, the user needs to wait for the software to be developed and the cost of paying someone to write the software is usually very high compared to off-the-shelf software. For this reason, custom-written software is mainly used only when there is no off-the-shelf software available to do exactly what the user wants. Off-the-shelf software has many advantages: it is readily available; the user can see the software working and perhaps even try it before deciding to buy it; the user can also be more confident in the software because it has been tried and tested by many other users; the user can get recommendations and read reviews by other users. The existence of a large group of users also has the advantage that that help, training and manuals can be Page 6 of 7 OCR Computing for GCSE © Hodder Education 2011 Continued obtained from other users, not just from the developer. The large number of users also makes the program cheaper because all the users contribute to the cost of making the program. Open-source and proprietary software Another aspect to consider when getting new software is whether the software is open source or whether it is proprietary. These terms describe the type of permission, or licence, that the developer gives about how the software can be used. Proprietary software is software where the user is given the program, but not the source code. The user buys a licence, or permission, to run the software under certain conditions, but the user does not own the software itself. The licence does not allow the user to modify the software or to figure out how the software was made by using a special program called a decompiler to recreate the code. Usually, the licence also forbids the user from making copies to give to other users and may even restrict the number of computers on which the software can be used. Software developers set these restrictions in order to protect the copyright because the software is their intellectual property. (This is why it is called proprietary software.) Open-source software is software where the developer makes the source code available with the program. The software licence allows the user to modify the software. The user can study and then add or change some of the code if they want to improve the program or if they want to adapt it for a particular use which the original software developer had not thought of. The licence usually allows the user to redistribute copies of the software, including copies that have been modified, provided that the licence is not changed. Open-source software is usually free of charge because the licence does not allow the developer to receive royalties. However, ‘open source’ does not necessarily the same as free software. There are many examples of free software (also called freeware) where the developer still claims a right to the copyright of the software. When people refer to opensource software as ‘Free’ software (usually written with a capital F) what they mean is that it is free from the restrictions on the copyright that proprietary software has. One advantage of open-source software is obviously that the user can adapt or improve the code to suit their purpose. Also, the fact that several users contribute to the development of the software means that it is possible that the overall quality will be better. Many people support the concept of open-source software for ideological reasons (they think it is a good idea to share intellectual property instead of trying to profit from it). As a result, they invest a lot of effort in improving open-source software. On the other hand, proprietary software gives software developers an incentive to produce quality software because the developer is looking to profit from the intellectual property rights. This can cause the user to feel more confident about the software, especially if the software developer already has a good reputation. Page 7 of 7 OCR Computing for GCSE © Hodder Education 2011
© Copyright 2025 Paperzz