Utility & Application Software
10 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

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?

  • 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?

  • 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?

<p>Lossy compression provides smaller file sizes but sacrifices data, while lossless compression preserves all data but may result in larger files. (D)</p> Signup and view all the answers

In the context of software development, what distinguishes open source software from closed source software?

<p>Open source software provides access to the source code for modification and distribution, while closed source software restricts access and requires a license. (C)</p> Signup and view all the answers

What role does a linker play in the process of compiling and running a program?

<p>The Linker combines external modules and libraries with the compiled code to create an executable program. (C)</p> Signup and view all the answers

How does an interpreter differ from a compiler in how it translates and executes code?

<p>An interpreter translates code line by line as the program is running, while a compiler translates the entire program into machine code before execution. (C)</p> Signup and view all the answers

What is the primary goal of code optimization during the compilation process?

<p>To reduce the execution time and improve the efficiency of the program. (C)</p> Signup and view all the answers

Why is defragmentation not recommended for solid-state drives (SSDs)?

<p>Defragmenting SSDs can reduce their lifespan due to the way data is stored and accessed. (B)</p> Signup and view all the answers

Which task is specifically performed by the lexical analysis phase of a compiler?

<p>Converting lexemes into tokens and removing whitespace and comments. (A)</p> Signup and view all the answers

Flashcards

Software Categories

Software broken down into system and application types.

Generic Applications

Programs without a specific purpose that can perform various tasks.

Specific Applications

Specialized software with limited use outside its specific task.

Utility Software

Keeps computer safe and running efficiently with tools for file management.

Signup and view all the flashcards

Open Source

Users have access to source code for community modification and support.

Signup and view all the flashcards

Closed Source

Users lack access to source code and require a license.

Signup and view all the flashcards

File Repair Software

Attempts to fix corrupted files.

Signup and view all the flashcards

Backups

Protects important data via scheduled or manual copying to external media or remote locations.

Signup and view all the flashcards

Compression

Reduces file size for easier transfer. Can be lossy or lossless.

Signup and view all the flashcards

Signup and view all the flashcards

Defragmentation

Reorganizes files on a hard disk to reduce fragmentation and improve speed.

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.

Quiz Team

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.

More Like This

Mastering Computer Software
10 questions
Application Software in Education
10 questions
Types of Software Overview
5 questions

Types of Software Overview

FuturisticFigTree5271 avatar
FuturisticFigTree5271
Application and Utility Software Quiz
37 questions
Use Quizgecko on...
Browser
Browser