Podcast
Questions and Answers
Why might a user opt for generic application software over specialized software?
Why might a user opt for generic application software over specialized software?
- Generic applications offer more robust security features compared to specialized software.
- Generic applications are always more memory efficient than specialized software.
- Generic applications are specifically designed for highly specialized tasks, offering superior performance in those areas.
- Generic applications can perform a variety of tasks, meeting multiple needs, even tasks for which specialized software might be better suited. (correct)
Which of the following scenarios best illustrates the use of file repair utility software?
Which of the following scenarios best illustrates the use of file repair utility software?
- Fixing a corrupted document so it can be opened and read again. (correct)
- Recovering data from a hard drive that has physically failed.
- Scheduling automatic backups of important documents.
- Compressing a large video file to reduce its file size.
How do incremental backups differ from full backups in terms of data storage and backup time?
How do incremental backups differ from full backups in terms of data storage and backup time?
- Incremental backups compress data more efficiently but require significantly more time to complete.
- Incremental backups copy all data, providing faster recovery times compared to full backups.
- Incremental backups store data on remote servers, while full backups store data locally.
- Incremental backups copy only the data that has changed since the last backup, reducing storage space and backup time. (correct)
What is a key trade-off to consider when choosing between lossy and lossless compression methods?
What is a key trade-off to consider when choosing between lossy and lossless compression methods?
In the context of software development, what distinguishes open source software from closed source software?
In the context of software development, what distinguishes open source software from closed source software?
What role does a linker play in the process of compiling and running a program?
What role does a linker play in the process of compiling and running a program?
How does an interpreter differ from a compiler in how it translates and executes code?
How does an interpreter differ from a compiler in how it translates and executes code?
What is the primary goal of code optimization during the compilation process?
What is the primary goal of code optimization during the compilation process?
Why is defragmentation not recommended for solid-state drives (SSDs)?
Why is defragmentation not recommended for solid-state drives (SSDs)?
Which task is specifically performed by the lexical analysis phase of a compiler?
Which task is specifically performed by the lexical analysis phase of a compiler?
Flashcards
Software Categories
Software Categories
Software broken down into system and application types.
Generic Applications
Generic Applications
Programs without a specific purpose that can perform various tasks.
Specific Applications
Specific Applications
Specialized software with limited use outside its specific task.
Utility Software
Utility Software
Signup and view all the flashcards
Open Source
Open Source
Signup and view all the flashcards
Closed Source
Closed Source
Signup and view all the flashcards
File Repair Software
File Repair Software
Signup and view all the flashcards
Backups
Backups
Signup and view all the flashcards
Compression
Compression
Signup and view all the flashcards
Signup and view all the flashcards
Defragmentation
Defragmentation
Signup and view all the flashcards
Study Notes
- Software is broken down into system and application software.
Utility Software
- Designed to keep computers safe and running efficiently.
- Provides tools to manage files and applications.
- Examples: File repair, backups, compression, defragmentation, anti-malware, file management, and device drivers.
Generic Applications
- Programs without a specific or narrow purpose.
- Used for different tasks and meet multiple needs.
- For example, a word processor.
Specific Applications
- Very specialized with limited use outside of their use case.
- Downloaded for specific needs.
- For example, database software.
File Repair Software
- Attempts to fix corrupted files for use and access.
- Built into applications and operating systems.
Backups
- Used to protect important data.
- Can be automatic, scheduled, or manual.
- Full backups copy everything; incremental backups copy changes.
- Stored on external media or remote locations via cloud.
- Operating systems usually include backup software.
Compression
- Reduces file size for easier uploading, downloading, and transfer.
- Lossy compression loses data, reducing image/audio quality.
- Lossless compression represents information differently without data loss.
Open Source
- Users have source code access.
- Pros: Free, little to no monetization, allows creators to distribute to a wider community.
- Cons: Poor support, community modification may not test properly, may not be properly maintained.
Closed Source (Proprietary)
- Users cannot access source code and require a license.
- Protected by the Copyright Design and Patents Act.
- Pros: Well-supported and tested, easy to monetize, high security.
- Cons: Costs upfront or subscription, constant demand for more features, piracy issues, functionality or changes are difficult or impossible.
Translators
- Converts source code into machine code
- Necessary because source code is what the programmer writes, machine code is the pure binary form.
- Types: Assemblers, Interpreters, and Compilers.
Assemblers
- Converts assembly language into machine code using a one-to-one process.
- Pros: Memory efficient, speed of execution is faster.
- Cons: Harder to code as syntax is hard to remember and takes longer to code.
Compilers
- Translates high-level language to machine code.
- Translates the whole program before running.
- Pros: Runs faster, no need for translation at run-time, code is optimized.
- Cons: Harder to code as it will not run with syntax errors, must be recompiled when changes are made, cannot be run without a translator after compilation.
Interpreters
- Translates high-level language to machine code line by line as the program runs.
- Pros: Easy to write and debug code, no need to recompile, suitable for small changes and beginners.
- Cons: Translation software required at runtime, source code required, slower execution.
Stages of Compilation
- Involves several parses to prepare source code: Lexical analysis, syntax analysis, code generation and code optimization.
Lexical Analysis
- The lexer converts lexemes (words) from source code into tokens, such as keywords, strings, and operators.
- Tokens are stored in a symbol table, and all spaces and comments are removed
Syntax Analysis
- Receives tokens from the lexical analyzer.
- Checks syntax against predetermined rules for the language.
- Checks for errors and creates an abstract syntax tree (parse tree).
Code Generation
- Uses the abstract syntax tree to produce machine code.
Code Optimization
- Attempts to reduce execution time by removing redundant code, grouping repeated sections, and removing unused subroutines and variables.
Linkers, Loaders, Libraries
- Libraries are pre-compiled and tested programs that can be run when needed.
- Often include specialized functions that are difficult to program from scratch, grouped into software libraries.
Linkers
- Responsible for linking external modules and libraries within code.
- Types: Static and Dynamic.
- Static linkers add library directly into file, which increases file size and won't be affected by updates.
- Dynamic linkers add addresses into the file, and they can be retrieved when they are referenced, keeping file size small.
Loaders
- Loads the machine code of a program into memory, ready to run.
- Also loads libraries when using dynamic linking.
Defragmentation
- Reorganizes files on a hard disk, putting fragments of files back together
- Collects free space.
- Speeds up the disc as the read/write head has to move less
- Ineffective on SSDs as they have no moving parts. It also reduces the drives lifespan
Anti-malware
- Protects the computer and files from malware like viruses and spyware.
- Operating systems come with malware protection built in.
- Some companies specialize in dedicated anti-malware.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Explore utility and application software, including file repair and backups. Learn about generic applications used for multiple tasks and specific applications for specialized needs. Understand how backups protect data through full and incremental copies.