Fichas
Applications Generation
Fichas del conjunto (39)
- 1computingrevision
- 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 - 3What are some Examples of Application Software?> Spreadsheets
> Presentation software
> Video games
> Word processors
> Web browsers
etc. - 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 - 5What are some Examples of Utility Software?> Anti-virus
> Firewalls
> Disk clean-up
> Compression
> Defragmentation - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 15What is Open Source Software?> Projects where the source code is publicly available
> Anyone can legally view, modify, and distribute the code - 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 - 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 - 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 - 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 - 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) - 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 - 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 - 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 - 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 - 25What are the Disadvantages of Compilers?> Process can be very slow
> This can slow development if many small changes need to be made - 26What is an Interpreter?> Translator that converts high-level source code into executable binary line-by-line
> Python, JavaScript etc. are interpreted languages - 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 - 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 - 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 - 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 - 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 - 32What are the 4 Stages of Compilation?1. Lexical analysis
2. Syntax analysis
3. Code generation
4. Code optimisation - 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 - 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 - 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 - 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 - 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 - 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) - 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
Información
- Descripción
- A level (Applications Generation) Computer Science Fichas sobre Applications Generation, creado por Malachy Moran-Tun el 30/11/2022.
- Creado por
- Malachy Moran-Tun · nov 2022
- Actualizado
- 5 dic 2022
- Visitas
- 7
- Valoración