GoConqr has a new look! Let us know what you think.

Flashcards

Applications Generation

Malachy Moran-Tun Computer Science A level English 39 cards

Cards in this deck (39)

  1. 1computingrevision
  2. 2What is Application Software? (terrible name, i know.)> Category of software that allows end users to accomplish tasks
    i really don't know what else to say here
  3. 3What are some Examples of Application Software?> Spreadsheets
    > Presentation software
    > Video games
    > Word processors
    > Web browsers
    etc.
  4. 4What is Utility Software?> Designed to keep your computer running smoothly and safe from threats
    > Usually serves one specific purpose, rather than trying to be an all-in-one solution
  5. 5What are some Examples of Utility Software?> Anti-virus
    > Firewalls
    > Disk clean-up
    > Compression
    > Defragmentation
  6. 6What is Encryption?> "Scrambling" of data
    > Applies a special encryption algorithm to the data
    > Strong algorithms require long mathematical research
    > Special key is required to decrypt the data
    > Usually within the OS to encrypt and decrypt files in real time
  7. 7What is Fragmentation?> Files in secondary storage are not always written in one continuous block (i.e., they may be split up)
    > Fragmented files - those that are not contiguous - take longer to load
  8. 8What is Defragmentation?> Software that reorganises the data on the storage device so that all files are stored in adjacent blocks
    > Defragmented disks increase the performance of the computer
  9. 9How does Fragmentation affect SSDs?> Fragmented data does not take any longer to load, since SSDs provide random acces
    > SSDs should not be defragmented, since the reorganisation can shorten its lifetime as it pushes it towards the read/write cycle limit
  10. 10What is Compression?> Reduction of a file size (and therefore disk space taken up) by applying a certain algorithm
    > Algorithm is either lossy (not all original data can be recovered) or lossless (no data is lost)
    > Files must be decompressed before they are read again
  11. 11What are some Examples of the Uses of Compression?> Archived files, i.e., those that won't be accessed regularly
    > Files that are to be transferred on a network, to speed up network transfer
  12. 12What is Backup Software?> Software that creates a copy of important data, and stores it in an external location
    > Ensures that if one copy becomes lost or corrupted, the file can be restored using another
  13. 13What is a Full Backup?> A backup that makes a copy of everything on the system onto backup media
    > Extremely slow process that takes up a lot of space
    > Very easy to restore a system from
  14. 14What is an Incremental Backup?> Only the files that have changed since the last backup are copied
    > Faster and use less space
    > More difficult to restore a system from since the most recent full backup must be applied first, then each incremental backup in the correct order
  15. 15What is Open Source Software?> Projects where the source code is publicly available
    > Anyone can legally view, modify, and distribute the code
  16. 16What are the Advantages of Open Source Software?> Usually free (depending on the license)
    > Maintained by a large community of contributors
    > Encourages collaboration
    > Encourages rapid development
  17. 17What are the Disadvantages of Open Source Software?> Usually provides no warranty
    > Small projects may not receive regular updates
    > Small projects may be abandoned
    > Official customer support may not be available
  18. 18What is Proprietary Software?> Also known as closed source software
    > Source code is not available to people outside the organisation
    > Often paid for
    > A license is bought to use the software, but you do not own it
    > Modifying, copying, or redistributing the software (piracy) is illegal
  19. 19What are the Advantages of Proprietary Software?> Comes with a warranty or guarantee
    > Often has customer support
    > Should be thoroughly tested, and therefore reliable (although this has become sloppy in the past few years, e.g., Cyberpunk 2077)
    > Can be easier to install and use compared to some open source software
  20. 20What are the Disadvantages of Proprietary Software?> Source code cannot be fixed or modified by users
    > Older versions may not be maintained
    > Can be expensive - even for no reason (thanks Adobe!)
    > Tends to be less niche than open source (in order to gain more sales)
  21. 21What is a License?> Set of rules which tells a customer what they can and can't do with a piece of software
    > Usually related to reselling and distributing software without authorisation
  22. 22What are some Problems with Open Source Licensing?> If the open source software is used in a separate project, often that separate project must also be open source
    > If multiple components are used, with different licenses, there can be potential legal issues
  23. 23What is a Compiler?> Translator that converts source code into an executable binary file
    > Translates the whole program in one go
    > Provides a list of errors once it has attempted the compilation process, making debugging easier
    > C, C++, Visual Basic, Swift etc. are all compiled languages
  24. 24What are the Advantages of Compilers?> There is no need to repeat the process every time the program is run
    > Compilers hide the source code from the end user, protecting developers' intellectual property
  25. 25What are the Disadvantages of Compilers?> Process can be very slow
    > This can slow development if many small changes need to be made
  26. 26What is an Interpreter?> Translator that converts high-level source code into executable binary line-by-line
    > Python, JavaScript etc. are interpreted languages
  27. 27What are the Advantages of Interpreters?> Stop as soon as an error is encountered - this is useful for debugging
    > Interpreted languages are portable, meaning the high-level code can be run on many different architectures, as long as the interpreter has been written for it
  28. 28What are the Disadvantages of Interpreters?> Running an interpreted program is slower because each line must be translated every time
    > Interpreted programs do not produce one final, compiled executable file
  29. 29What is an Assembler?> Translate each line of low-level assembly code into a binary sequence
    > Both the opcode and the operand are replaced with the relevant binary, since each instruction directly corresponds to a binary sequence
  30. 30What are the Advantages of Assemblers?> Provides control over the hardware, meaning the code can take up little space and be quick to execute
    > Can be used on low-spec machines
  31. 31What are the Disadvantages of Assemblers?> Unlike high-level languages, assembly (and therefore assemblers) are difficult to use, and require deep knowledge of the specific CPU and memory
    > Assembly code is not portable, and cannot be run on different machines
  32. 32What are the 4 Stages of Compilation?1. Lexical analysis
    2. Syntax analysis
    3. Code generation
    4. Code optimisation
  33. 33What happens during Lexical Analysis?> White space is removed from the code, since it it not necessary for a compiler
    > Illegal identifiers / values are flagged as errors
    > Tokens, i.e., strings that are recognised by the computer, are created for the keywords and operators (lexemes) in the code - comments are ignored
    > Tokens are assembled into a symbol table ready for the next step
  34. 34What happens during Syntax Analysis?> Tokenised code is compared to the rules of the programming language
    > If a section is found not to fit these rules, an error is generated
    > This process continues until all the code is checked
    > A full error report is sent to the programmer at the end of compilation
  35. 35What happens during Code Generation?> Stage where machine code is generated
    > This code may initially be inefficient due to contain unnecessary instructions, or groups of instructions that can be replaced by simpler ones
  36. 36What happens during Code Optimisation?> The machine code is made to have the smallest binary footprint as possible
    > This is done by removing procedures, variables etc. that aren't used
    > Unnecessary instructions are removed, or groups are instructions are replaced by simpler ones
  37. 37What is a Library?> Small pieces of pre-written, compiled, tested, and checked pieces of code
    > Developers can rely upon libraries to help shorten code
    > Exist in most programming languages to offer shorthand ways to achieve a common task
    > Programmers do not have to repeat code whenever they want a common task
  38. 38What is a Linker?> Software responsible for linking libraries to code that uses them
    > Libraries can be statically or dynamically linked
    > Statically linked libraries are included in the compiled machine code, which increases the binary footprint of the code
    > Dynamically linked libraries are not included in the machine code, but must be installed for the program to run (this is helpful for OS functions, such as showing a window)
  39. 39What is a Loader?> Type of program that loads the program you're trying to run (not confusing at all!)
    > Part of the OS that finds a good place for object or machine code to sit in memory
    > When using statically linked libraries, all of the library and code is loaded into memory
    > When using dynamically linked libraries, the loaded will load the library into memory when necessary

Information

Description
A level Computer Science (Applications Generation) Flashcards on Applications Generation, created by Malachy Moran-Tun on 30/11/2022.
Created by
Malachy Moran-Tun · Nov 2022
Updated
Dec 5, 2022
Views
7
Rating

Feedback

What is it about?

What do you think of the new look?

How do you like it?