Software

Cards (51)

  • System Software
    Provides the services that the computer requires, including operating system and utility software
  • Application Software
    Designed to carry out a specific task the user would need for completing a variety of tasks
  • Without systems software the system would be useless
  • Elements of Systems Software
    • Operating system
    • Utility software
  • Operating System
    A program designed to run other programs on a computer. It is considered the backbone of a computer, managing both software and hardware resources
  • Operating System
    • Responsible for everything from the control and allocation of memory to recognising input from external devices and transmitting output to computer displays
    • Manage files on computer hard drives and control peripherals, like printers and scanners
  • Examples of Operating System
    • Windows
    • MAC
    • Linux
  • Utility Software
    Perform specific tasks related to computer functions, resources, files and security. They help to configure the system, analyse how it is working and optimise it to improve its efficiency
  • Examples of Utility Software
    • Security utilities
    • Disk organisation utilities
    • Data compression utilities
    • File backup utilities
  • Security utilities
    • Anti-Virus - Scans the computer system and ensures that files are quarantined so that they can be removed by the user
    • Encryption - uses an algorithm to scramble (encrypt) a file according to the key which is used to make the file unreadable; the key is needed to decrypt the file back to its original form so it can be read
    • Firewall - monitors network traffic and blocks unauthorised access. Criteria is set and if the data meets the criteria it is accepted otherwise it is rejected
  • Disk organisation utilities
    • System Clean-Up Tools – to search for and remove files no longer needed, to reduce space and speed up access to the system
    • Disk Defragmentation Tools - it is used to rearrange the parts of files on the disk drive: when a file is saved to the disk, parts of the file might be saved in different areas of the disk, these tools try to move all the parts to the same area for quicker access
  • Data compression utilities
    File Compression Software – to make files smaller so that they take up less storage space and can be transmitted to other users more easily
  • File backup utilities
    • Full Backup - stores all files and software on the system
    • Incremental Backup - only backs up the files and software that have been added since the last backup
  • Examples of Application Software
    • Word Processing Software
    • Spreadsheet Software
    • Presentation Software
    • Multimedia Software
    • Web Browsers
  • Exam Tip: Make sure you use the names given above and not brand names e.g. Microsoft as this will cost you marks
  • Freeware software
    • The user is not allowed to access the source code so, they cannot tailor the software to their needs or fix any bugs in it
    • The software is still covered by copyright and the user must get the owner's permission to do anything beyond using it
  • Free software
    • The user can access the source code so, they can tailor the software to their needs and fix any bugs in it
    • The source code could be studied for educational purposes
    • The user can redistribute the software but this must be done under the same terms as the original software
  • Shareware
    • Gives a trial version of the software for a limited time with limited features free of charge
    • Requires the user has to pay fee if the full version is needed
    • Is protected by copyright
    • Is a type of software licence
  • Ethical considerations when distributing software
    • Accessibility of software
    • Age appropriation
    • Copyright
    • Distribution of malware
    • Environmental impact of distribution media e.g. CDs
    • Following guidelines of professional bodies e.g. ACM/IEEE/BCS
    • Intellectual property theft
    • Offensive materials
    • Plagiarism
    • Privacy of data
    • Security of software
  • Exam Tip: Make sure you apply your answer to the context given in the question
  • Operating System

    Manages files, handles interrupts, provides an interface, manages peripherals and drivers, manages memory, manages multitasking, provides a platform for running applications, provides system security, manages user accounts
  • How the Operating System manages files
    1. The file manager controls all of the different files on the system, e.g. text files, graphic files, and program files
    2. It controls file permissions such as the user's ability to see or open a file, write a file or delete a file
    3. It helps to organise and control files so that they are as easy to use as possible for the user
    4. It can help to protect the user from accidental mistakes
  • How the Operating System handles interrupts
    1. An interrupt is a signal from a device or software to the processor
    2. This will stop the processor temporarily from fulfilling this request immediately
    3. The status of this task is saved to the interrupt service routine
    4. Once the interruption has been completed the system continues back to normal before the interruption even happened
  • User Interface
    A system which converts what the user inputs to a form that the computer can understand and vice versa
  • How the Operating System manages peripherals and drivers
    1. It communicates with the devices through software called drivers
    2. These translate the instructions by the device manager into one the devices can understand
  • How the Operating System manages memory
    1. Memory management checks all requests from programs are valid and allocates accordingly
    2. It will deallocate space and swap out data to virtual memory
    3. It will ensure overall that different programs can be open at the same time
  • Multitasking
    Allows for software tasks to be completed at the same time to ensure multiple elements can be completed immediately, it uses a system called time slicing which splits different tasks into small segments
  • How the Operating System provides a platform for running applications
    1. Application programs and the hardware will communicate through a system within the operating system called an application programs interface(API)
    2. This API is a library interface which will share data between software to allow elements to process
    3. If any application is installed on the system, the Operating System will manage this process, it will allocate memory space and will control the application's data or devices, user access will also be managed
  • System Security in the Operating System
    • Creating/Deleting users for the system
    • Providing access level rights, e.g. administrator rights over installing, modifying a system or accessing files or folders. This is compared to standard rights of just accessing and using software/files on the system
    • Auditing - this is keeping a log of file edits, deleted files, creation of files etc
    • Protecting from threats, viruses, worms, malware or remote hacker attacks
    • Security updates to fix patches in the operating system
  • How the Operating System manages user accounts
    1. Each user is provided with an account for access to the system
    2. They will be provided with their username and then will need to create a password based on rules set out initially
    3. Each account will then be granted different levels of access, dependent on needs and level of security
    4. This will also monitor login activity and even log users out if they have been inactive for a while
  • Application Software must talk to the operating system
    This will then allow it to interact with the hardware
  • Firmware
    This process is in between the Operating System and Hardware
  • How the computer initially loads up
    1. It has to explore the ROM for its initial boot-up instructions
    2. These are contained in a Bootstrap loader
    3. The initial process is handled by the basic input/output system (BIOS) which is known as firmware
    4. This will provide some low-level control for all devices
    5. Once complete these are sent to RAM to be processed by the operating system
    6. This creates an extra layer which is to ensure that initially the hardware devices e.g. keyboard are available and can be communicated directly with the operating system
  • Exam Tip: Ensure you have the understanding of how the four areas (hardware, firmware, operating system, application software) work together. An exam question would focus on how these four key areas would communicate.
  • Interrupts
    Signals from a device or software to the processor to stop it temporarily from fulfilling its current request
  • Types of Interrupt
    • Hardware Interrupt - caused by a hardware device such as a hardware failure
    • Software Interrupt - occurs when an application stops or requests services from the OS
  • How the CPU handles interrupts
    1. The interrupt service routine is added to a particular area where a certain set of instructions are sent that will need to be fetched, decoded and executed to complete the commands of the interrupt
    2. The current registers (Program Counter, Current Instruction Register, Memory Address Register, Memory Data Register) will need to be changed to accommodate the interrupt
    3. The current values held in the registers are copied back to the RAM in an area known as a stack
    4. These values are pushed onto the stack and are added to the top of the stack frame, which will save them for later retrieval when the interrupt is complete
    5. There is a possibility that an interrupt can also be interrupted which is known as a division by zero. Due to the system in RAM with stack frames, the current interrupt would be moved to the bottom of the stack frame to complete the main interrupt initially
  • Exam Tip: Focus on the interrupt service routine and its importance with sending the instructions to a stack frame to process the interrupted instruction, the previous instructions can be accessed at the top of the stack frame to continue processing afterwards.
  • Common interrupt priorities
    • Hardware - e.g. power supply failure, power button pressed
    • User - e.g. moving the mouse, clicking an icon, keyboard presses
    • Software - e.g. illegal instruction, overflow, login request, crashing
    • Timer - e.g. data logging, screen recording
    • Input/output devices - e.g. signaling of data transfer, printer ink supply notifications, input devices not responding
  • High Level Languages
    Programming languages which use English-like statements to allow users to program with easy to use code, allow for clear debugging and once programs are created they become easier to maintain