System software chp-4

Cards (55)

  • System software

    Provides the services that the computer requires, including operating system and utility software
  • Application software
    Provides the services that the user requires, e.g. MS office, Adobe, Browser
  • Software on a Computer
    1. Application Software
    2. Operating System
    3. Firmware
    4. Bootstrap
  • General Features of System Software
    • Set of programs to control and manage the operation of computer hardware
    • Provides a platform on which other software can run
    • Required to allow hardware and software to run without problems
    • Provides a human computer interface (HCI)
    • Controls the allocation and usage of hardware resources
  • Utility software (utilities)
    • Virus checkers [Anti virus software]
    • Defragmentation software
    • Disk contents analysis and repair
    • File compression and file management
    • Back-up software [File history]
    • Security
    • Screensavers
  • Screensavers
    Programs that supply moving and still images on the monitor screen after a period of inactivity by the computer
  • Screensavers were originally developed to protect older CRT, modern LCD and OLED screens, this problem no longer exists
  • Screensavers
    Many screensavers are also used as part of the computer's security system. If a computer is unused for five minutes, for example, and hasn't been logged out, this will trigger the screensaver to be loaded
  • General Features of Application Software

    • Used to perform various applications (apps) on a computer
    • Allows a user to perform specific tasks using the computer's resources
    • May be a single program (for example, notepad) or a suite of programs (for example, Microsoft office)
    • User can execute the software as and when they require
  • Operating Systems
    Every computer or device needs an operating system (OS) to run other programs
  • An OS is the framework that allows us to communicate with computer hardware in an interactive way. Without this, we would not be able to tell the computer to do anything and it would not have any instructions to follow
  • Operating Systems
    • Microsoft Windows
    • MAC OS X
    • Linux
  • Graphical User Interface (GUI)

    The human computer interface (HCI) that allows the user to interact with a computer (or MP3 player, gaming device, mobile phone, etc.) using pictures or symbols (icons)
  • The most common GUI is WIMP (windows icons menu and pointing device), which was developed for use on personal computers (PC)
  • More recently, devices such as mobile phones and tablets increasingly use touch screens and use post-WIMP interactions. With this system, fingers are in contact with the screen allowing actions such as pinching and rotating, which would be difficult to do using a single pointer and a device such as a mouse
  • Command Line Interface (CLI)

    A type of interface where a user would need to type in the different commands they would like to carry out on the operating systems
  • Graphical User Interface (GUI)

    • Advantages: The user doesn't need to learn any commands, it is more user-friendly, a pointing device is used to click on an icon to launch the application which is simpler than typing in commands or a touch screen can be used where applications are chosen by simply touching the icon on the screen
    • Disadvantages: Uses up considerably more computer memory than CLI interface, the user is limited to the icons provided on the screen, needs an operating system, such as Window to operate which uses up considerable memory
  • Command Line Interface (CLI)
    • Advantages: The user is in direct communication with the computer, the user is not restricted to a number of pre-determined options, it is possible to alter computer configuration settings, uses a small amount of computer memory
    • Disadvantages: The user needs to learn a number of commands to carry out basic operations, all commands need to be typed in which takes time and can be error-prone, each command must be typed in using the correct format, spelling and so on
  • Who would use CLI and GUI
    CLI: a programmer, analyst or technician; basically somebody who needs to have a direct communication with a computer to develop new software, locate errors and remove them, initiate memory dumps (contents of the computer memory at some moment in time)
    GUI: the end-user who doesn't have or doesn't need to have any great knowledge of how the computer works; a person who uses the computer to run software or play games or stores/ manipulates photographs
  • Embedded systems
    A combination of hardware and software designed to carry out a specific set of functions
  • Embedded systems
    • microcontrollers
    • microprocessor
    • system on chips (SoC)
  • Interrupts
    A signal that informs software that something has happened. It could happen by many sources such as a user pressing keys on the keyboard or a printer connected to the computer
  • Interrupts
    1. The operating system will stop and then work out what to do next
    2. After an interrupt is detected, the operating system will either continue running the program it was currently running or it will begin running a new program
    3. A computer can only run one program at a time, but because the program it is currently running can be interrupted to run another program, it can perform multiple tasks which is called "multitasking"
  • Interrupt handler
    A program in the OS that priorities the interrupt signal as it received them and places them in a queue to be handled
  • Types of interrupts
    • Hardware interrupts
    • Software interrupts
  • Once the interrupt signal is received, the microprocessor either carries on with what it was doing or stops to service the device or program that caused the interrupt
  • Interrupts allow computers to carry out many tasks or to have several windows open at the same time. In reality, data is being passed in and out of memory very rapidly allowing both functions to be serviced. This can all be achieved by using an area in memory known as a buffer
  • Examples of interrupts
    • Division by 0
    • Data input e.g. key pressed on a keyboard, mouse click
    • Two processes attempting to access the same memory location
    • Error from hardware, e.g. printer out of paper
    • Program request for input
    • Hardware failure
    • Output required
    • Hard drive signal that it has read data
    • Data required from memory
    • New hardware device connected
  • High-level languages
    Much closer to what humans recognize in terms of language, much easier to read and write programs in than low-level languages or machine code
  • The first high-level languages were developed in the 1950s, one of the very first was FORTRAN (short for 'formula translation') invented in 1954 by John Backus for IBM to be used as a practical alternative to assembly language in programming scientific and engineering projects
  • Data is being passed in and out of memory very rapidly allowing both functions (using the internet and listening to music) to be serviced
  • Buffer
    A memory area that stores data temporarily
  • Interrupts
    • Software
    • Hardware
    • Division by 0
    • Data input (e.g. key pressed on keyboard, mouse click)
    • Two processes attempting to access the same memory location
    • Error from hardware (e.g. printer out of paper)
    • Program request for input
    • Hardware failure
    • Output required
    • Hard drive signal that it has read data
    • Data required from memory
    • New hardware device connected
  • The first high-level languages were developed in the 1950s, one of the very first was FORTRAN
  • FORTRAN
    Invented in 1954 by John Backus for IBM to be used as a practical alternative to assembly language in programming scientific and engineering projects
  • Common high-level languages
    • BASIC
    • C
    • C++
    • C#
    • Pascal
    • Java
    • Python
  • Features of high-level languages
    • Deal with structures such as variables, arrays, loops, conditions, functions and procedures, unlike machine code which deals with memory addresses, registers and operation codes
  • High-level languages are mostly independent of any hardware they run on, unlike assembly language which is specific to the hardware it runs on
  • Example high-level language program
    1. Create a variable called 'name' to store user input
    2. Output a question 'What is your name?'
    3. Store user input in 'name' variable
    4. Output 'Hello' and recall 'name' variable to display
  • Compiler
    A computer program that takes code written in a high-level language and translates it into machine code