software

Cards (32)

  • when is complier used(appropriate time)

    After completion so that other people cannot edit/view the code
    In final testing It creates an executable file\can test repeatedly with different data faster
  • when is interpreter appropriate to use

    when writing the program // when debugging
    easier to debug
    stops when an error is detected
    reports one error at a time
  • 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.
  • application software
    -used to perform various applications on the computer
    -allows a user to perform specific tasks using the computer’s resources
    -may be a single or a suite of program
    -user can execute the software as and when they require
  • UTILITIES
    software that are designed to carry out specific tasks on a computer
  • Utility software include:

    » virus checkers
    » defragmentation software
    » disk contents analysis and repair
    » file compression and file management
    » back-up software
    » security
    » screensavers.
  • virus checkers(anti-virus software)

    -Running anti-virus software in the background on a computer will constantly check for virus attacks.
    -must be kept thoroughly up to date and should run in the background to maintain their ability to guard against being infected by such malware.
    -full system checks need to be carried out once a week, for example, since some viruses lie dormant and would only be picked up by this full system scan
  • heuristic checking:

    -checking of software for types of behavior that could indicate a possible virus; this is useful if software is infected by a virus not yet on the database
  • Defragmentation software
    -files are stored in contiguous manner(next to each other)
    -much faster data access and retrieval since the HDD will now require fewer read-write head movements to access and read files
  • Back-up software
    create supplementary exact copies of files, databases or entire computers.
  • types of back up:
    -File history :File History is a feature in Windows that regularly saves copies of your files to an external hard drive. It takes snapshots of your files every hour and keeps them forever by default. This way, you can choose to use older versions of your files if needed.
    -Time-machine: Mac OS has a backup tool called Time Machine. It replaces the contents of a chosen drive with the data from a backup. To use it, you need an external hard drive or SSD connected via USB, and you must have Time Machine installed and turned on
  • Security software
    -manages access control and user accounts
    -links into other utility software, such as virus checkers and spyware checkers
    -uses encryption and decryption to ensure any intercepted data is meaningless without a decryption key
    -oversees the updating of software (does the update request come from a legitimate source, for example).
  • Screensavers
    Screensavers are programs that display images on your computer screen when it's idle. Originally created to protect older monitors, they're now mostly for personalizing your device. Some screensavers also enhance security by automatically locking your computer after a period of inactivity. They can also trigger background tasks that only run when your computer is not in use.
  • Device drivers
    Device drivers act as translators between the operating system and hardware devices. They convert data into a language that devices understand. Without them, connecting devices like USB sticks or printers would show a 'device not recognized' message. When you plug in a device, the operating system looks for the right driver to make it work.
  • descriptors
    used to transfer data into and out of computer
  • Command line interface(CLI)
    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 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
  • Graphic line interface(GUI)

    he user doesn’t need to learn any commands it is more user-friendly; icons are used to represent applications a pointing device can be used this type of interface uses up considerably more computer memory than a CLI interface the user is limited to the icons provided on the screen needs an operating system, such as Windows, to operate, which uses up considerable memor
  • who uses cli and gui
    cli is used by programmers, analyst
    gui is used by common user who wants to game or uses the computer to run software etc
  • Memory management
    manages the primary storage (RAM) and allows data to be moved between RAM and HDD/SSD during the execution of programs
    keeps track of all the memory locations
    carries out memory protection to ensure that two competing applications cannot use the same memory locations at the same time. I
  • Security management
    -the function of security management is to ensure the integrity, confidentiality and availability of data.
    1. Updating the operating system regularly.
    2. Keeping antivirus and security software up to date.
    3. Communicating with a firewall to monitor incoming and outgoing traffic.
    4. Utilizing privileges to restrict access, setting up user accounts and passwords.
    5. Managing access rights for all users.
    6. Enabling data recovery and system restore options.
    7. Preventing unauthorized access to the computer system for data privacy.
  • Hardware peripheral management
    Hardware management oversees input and output devices through device drivers.
    • It translates data from the operating system for compatibility with these devices.
    • Prioritizes hardware resources for efficient utilization and release.
    • Manages printers by loading drivers, handling print queues, and sending control commands.
    • Ensures error messages and interrupts from printers are addressed for smooth operation.
  • File management
    -maintaining the directory structures
    -performing specific tasks
    -ensuring access control mechanisms are maintained (for example, access rights to files,etc)
    -nsuring memory allocation for a file by reading it from the HDD/SSD and loading it into memory
  • Multitasking
    -allows computers to carry out more than one task (i.e. a process) at a time.
    -Processes share hardware resources controlled by the operating system for multitasking.
    • The operating system monitors each process to avoid clashes.
    • Resources are allocated to each process for a set time, allowing interruptions.
    • Processes are prioritized, but there's a risk of low-priority ones lacking resources.
    • Multitasking management optimizes CPU time by effectively handling main memory, HDD/SSD, and virtual memory.
  • definition:
    -firmware:e. Firmware is defined as a program that provides low level control for devices.
    -booting up/boot strap :When a computer starts up, part of the operating system needs to be loaded into RAM.
    -buffer: stores data temporarily
    -translator:A program must be translated into binary before a computer can use it; this is done by a utility program called a translator.
  • Interrupts
    -a signal sent from a device or from software to the microprocessor that something more important has come up(cause the microprocessor to temporarily stop what it is doing so that it can service the interrupt.)
  • High-level languages
    -independent of the type of computer being used
    -easier to read, write and understand programs
    -quicker to write programs
    -programs are easier and quicker to debug
    -easier to maintain programs in use
    -programs can be larger
    -programs can take longer to execute
    -programs may not be able make use of special hardware
  • low level language
    -can make use of special hardware includes special machine-dependent instructions
    -can write code that doesn’t take up much space in primary memory -can write code that performs a task very quickly
    -it takes a longer time to write and debug programs
    -programs are more difficult to understand
  • Assembly languages
    to make use of special hardware
    » to make use of special machine-dependent instructions
    » to write code that doesn’t take up much space in primary memory
    » to write code that performs a task very quickly.
    -An assembler is a computer program that translates a program written in an assembly language into machine code so that it can be directly used by a computer to perform a required task.
  • compiler
    compiler is a computer program that translates an entire program written in a highlevel language (HLL) into machine code all in one go so that it can be directly used by a computer to perform a required task.
    Once a program is compiled the machine code can be used again and again to perform the same task without re-compilation. If errors are detected, then an error report is produced instead of a compiled program
  • Interpreters
    An interpreter is a computer program that reads a statement from a program written in a high-level language, translates it, performs the action specified and then does the same with the next statement and so on. If there is an error in the statement then execution ceases and an error message is output, sometimes with a suggested correction. A program needs to be interpreted again each time it is run
  • Integrated Development Environment (IDE)

    -used by programmers to aid the writing and development of programs .includes
    1.code editor: allows a program to be written and edited without the need to use a separate text editor.
    2.Translator: Most IDEs usually provide a translator, this can be a compiler and/or an interpreter, to enable the program to be executed
    3.A debugger is a program that runs the program under development and allows the programmer to step through the program a line at a time (single stepping)
  • more
    4.Dynamic error checking finds possible errors as the program code is being typed, alerts the programmer at the time and provides a suggested correction.
    5.Auto-completion Code editors can offer context-sensitive prompts with text completion for variable names and reserved words.
    6.IDEs can provide an auto-documenter to explain the function and purpose of programming code.
    7.Most code editors colour code the words in the program and lay out the program in a meaningful way – this is called prettyprinting.