Podcast
Questions and Answers
What type of software is designed specifically for end-users to perform tasks?
What type of software is designed specifically for end-users to perform tasks?
- System software
- Application software (correct)
- Utility software
- Firmware
Utilities are essential for directly interacting with hardware.
Utilities are essential for directly interacting with hardware.
False (B)
Name one example of application software.
Name one example of application software.
Word processor
The process of rearranging fragmented files on a hard disk is called _____ defragmentation.
The process of rearranging fragmented files on a hard disk is called _____ defragmentation.
Which of the following is an example of a utility program?
Which of the following is an example of a utility program?
Compilers are types of application software.
Compilers are types of application software.
What is the primary function of an antivirus utility?
What is the primary function of an antivirus utility?
Match the following types of software with their descriptions:
Match the following types of software with their descriptions:
What is a key characteristic of static linking?
What is a key characteristic of static linking?
Dynamic linking allows programs to automatically incorporate updates to libraries without the need to rewrite the code.
Dynamic linking allows programs to automatically incorporate updates to libraries without the need to rewrite the code.
What are loaders used for in a program?
What are loaders used for in a program?
Libraries are pre-compiled programs that can be incorporated within other programs using either ______ or ______ linking.
Libraries are pre-compiled programs that can be incorporated within other programs using either ______ or ______ linking.
Match the following types of linking with their characteristics:
Match the following types of linking with their characteristics:
What is the primary function of the automatic updating utility?
What is the primary function of the automatic updating utility?
Open source software requires a paid license to use.
Open source software requires a paid license to use.
What is one advantage of closed source software?
What is one advantage of closed source software?
The _____ utility creates routine copies of specific files selected by the user.
The _____ utility creates routine copies of specific files selected by the user.
Match the following terms with their correct descriptions:
Match the following terms with their correct descriptions:
Which of the following is a disadvantage of open source software?
Which of the following is a disadvantage of open source software?
Closed source software can be modified freely by users.
Closed source software can be modified freely by users.
What is one responsibility of the user regarding the backup utility?
What is one responsibility of the user regarding the backup utility?
What is the first stage of compilation called?
What is the first stage of compilation called?
The purpose of the optimisation stage is solely to add more lines of code to the program.
The purpose of the optimisation stage is solely to add more lines of code to the program.
What is produced as a representation of the source code in the syntax analysis stage?
What is produced as a representation of the source code in the syntax analysis stage?
During the syntax analysis stage, tokens that break the language rules are flagged as ________ errors.
During the syntax analysis stage, tokens that break the language rules are flagged as ________ errors.
Match the following compilation stages with their key activities:
Match the following compilation stages with their key activities:
Which of the following is a potential error detected during semantic analysis?
Which of the following is a potential error detected during semantic analysis?
Which of the following is a disadvantage of using closed source software?
Which of the following is a disadvantage of using closed source software?
Linkers are responsible for linking external modules and libraries included in the code.
Linkers are responsible for linking external modules and libraries included in the code.
Interpreters are generally slower than compilers because they translate code line-by-line.
Interpreters are generally slower than compilers because they translate code line-by-line.
What is the purpose of a symbol table during compilation?
What is the purpose of a symbol table during compilation?
What is the main function of a translator in programming?
What is the main function of a translator in programming?
Assembly code is considered a ______-level language.
Assembly code is considered a ______-level language.
Match the type of translator with its description:
Match the type of translator with its description:
What is a key advantage of interpreted code?
What is a key advantage of interpreted code?
Compiled code can be executed on any device without the need for a translator.
Compiled code can be executed on any device without the need for a translator.
Name the three types of translators mentioned.
Name the three types of translators mentioned.
Flashcards
Applications software
Applications software
Designed for end-users to perform specific tasks, requiring systems software to run. Examples include word processing, web browsers, and spreadsheets.
Systems software
Systems software
Low-level software that manages the computer system, interacts with hardware, and provides a platform for applications. Examples include operating systems, device drivers, and utility programs.
Utilities
Utilities
System software programs that ensure the smooth running of the operating system, each with a specific function related to maintenance. Examples include compression, disk defragmentation, and antivirus.
Compression Utility
Compression Utility
Signup and view all the flashcards
Disk Defragmentation Utility
Disk Defragmentation Utility
Signup and view all the flashcards
Antivirus Utility
Antivirus Utility
Signup and view all the flashcards
Open Source Software
Open Source Software
Signup and view all the flashcards
Closed Source Software
Closed Source Software
Signup and view all the flashcards
Translator
Translator
Signup and view all the flashcards
Compiler
Compiler
Signup and view all the flashcards
Interpreter
Interpreter
Signup and view all the flashcards
Assembly Code
Assembly Code
Signup and view all the flashcards
Assembler
Assembler
Signup and view all the flashcards
Platform Specific
Platform Specific
Signup and view all the flashcards
Static Linking
Static Linking
Signup and view all the flashcards
Dynamic Linking
Dynamic Linking
Signup and view all the flashcards
What is a Loader?
What is a Loader?
Signup and view all the flashcards
Library advantage: Reusability
Library advantage: Reusability
Signup and view all the flashcards
Library advantage: Time saving
Library advantage: Time saving
Signup and view all the flashcards
Lexical Analysis
Lexical Analysis
Signup and view all the flashcards
Token
Token
Signup and view all the flashcards
Symbol Table
Symbol Table
Signup and view all the flashcards
Syntax Analysis
Syntax Analysis
Signup and view all the flashcards
Abstract Syntax Tree (AST)
Abstract Syntax Tree (AST)
Signup and view all the flashcards
Semantic Analysis
Semantic Analysis
Signup and view all the flashcards
Code Generation
Code Generation
Signup and view all the flashcards
Optimisation
Optimisation
Signup and view all the flashcards
Automatic Updating
Automatic Updating
Signup and view all the flashcards
Backup Utility
Backup Utility
Signup and view all the flashcards
What is source code?
What is source code?
Signup and view all the flashcards
What are Advantages of Open Source?
What are Advantages of Open Source?
Signup and view all the flashcards
What are Advantages of Closed Source?
What are Advantages of Closed Source?
Signup and view all the flashcards
What are Disadvantages of Open Source?
What are Disadvantages of Open Source?
Signup and view all the flashcards
What are Disadvantages of Closed Source?
What are Disadvantages of Closed Source?
Signup and view all the flashcards
Study Notes
OCR Computer Science A Level - 1.2.2 Applications Generation
- Applications software is designed for specific tasks, needing systems software to run
- Examples include desktop publishing, word processing, spreadsheets and web browsers
- System software is low-level, running the computer smoothly and providing a platform for applications.
- Users do not directly interact with system software, but it ensures high performance
- Examples are library programs, utility programs, operating systems, and device drivers
- Utilities are crucial system software, ensuring consistent high performance of the OS
- Examples include compression (large files compressed for internet transmission), and Disk Defragmentation (reorganizing files for speed.)
- Antivirus is responsible for detecting, alerting, and removing computer threats.
Open Source vs Closed Source
- Source code is the object code before compilation
- Open source code is accessible to the public, usable without license, and distributed with source code
- Closed source code requires a license, users cannot access the source code (copyright held by company.)
- Open source advantages include modification and improvement by anyone, technical support from online communities, and modification/sale
- Open source disadvantages include insufficient/inaccurate online support, lack of user manuals, and lower security
- Closed source advantages include thorough updates, regular testing, expert company support and user manuals, and high levels of security
- Closed source disadvantages include license restrictions on use, restricted user modification, and no software improvements by users.
Translators
- Translators convert high-level source code to low-level object code, executable by the computer
- Three types: compilers, interpreters, and assemblers
- Compiler translates high-level codes into machine code all at once, and reports errors
- Compiler process is longer than interpreters or assemblers, and if changes are needed, the entire program has to be recompiled
- Compiled code can only be executed on certain devices, specific to a particular processor type and operating system.
- Interpreter translates and executes code line-by-line, stopping and reporting errors if necessary.
- Interpreted code is useful for testing, but slower than compiled code, as code translation is performed each time
- Interpreted code is platform independent because it needs a specific interpreter to run on.
Assembler
- Assembly code is one level up from machine code, platform-specific (based on processor)
- Translates assembly code to machine code, with each assembly line equivalent to almost/nearly a machine code line
Stages of Compilation
- Lexical analysis: whitespace and comments are removed, code is analyzed for keywords and variables
- Syntax analysis: tokens are analyzed against the language rules, errors identified
- Parsing: verifies if the code is well-formed
- Code Generation: abstract syntax tree produced in syntax analysis is used to produce machine code
- Optimisation: code is examined for efficiency, redundant sections removed, repeated code portions may be replaced, for increased speed.
Linkers, Loaders and Use of Libraries
- Many programs use external code (subroutines/libraries) from outside sources.
- Linkers join external modules and libraries into the main program
- Static linking includes modules and libraries directly into the main file (larger file size, external updates don't impact program)
- Dynamic linking uses addresses in the program to reference external modules and libraries (smaller files, external updates automatically applied.)
- Loaders are OS programs that retrieve libraries and subroutines when a file is executed.
- Libraries are pre-compiled programs for specific functions, saving programming time
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Test your knowledge on different types of software, including application and utility programs. This quiz covers definitions, functions, and characteristics associated with software used by end-users and systems. Gain insights into concepts like defragmentation, linking, and the roles of utilities.