Looks like no one added any tags here yet for you.
what is the purpose of applications
programs that allow a user to complete a task. requires systems software to run
desktop publishing
word processing
spreadsheets
web browsers
what are the different application software
✚ word processors: used for writing letters, reports and other documents
✚ spreadsheet packages: these allow a user to model complex situations, and are often used for financial calculations
✚ presentation software: used to make on-screen slide shows to accompany presentations
✚ desktop publishing software: used for documents where layout is important, such as newsletters
what is the role of utility software in a computer system?
small programs designed to help with the maintenance of a system.
what are the different types of utility software
compression
disk defragmentation
antivirus
automatic updating
backup
disk defragmentation
utility rearranges the contents of the hard drive so they can be accessed faster, thus improving performance.
As the hard disk becomes full, read/write times slow down. This is because files become fragmented as they are stored in different parts of memory.
compression
This is used when compressing large files to be transmitted across the Internet and is commonly used to compress scanned files.
antivirus
Antivirus is responsible for detecting potential threats to the computer, alerting the user and removing these threats
automatic updating
This utility ensures the operating system is kept up to date, with any updates being automatically installed when the computer is restarted. ensures the system is less vulnerable to malware and hacking threats
what is open sourced software
Open source code can be used by anyone without a license and is distributed with the source code.
what is closed source software
It is owned by an organisation and has a licence to protect it from copyright. The source code is compiled into machine code. The machine code is then stored as an executable file and this is what is sold as the application.
benefits and drawbacks of open sourced software
Can be modified and improved by anyone
Technical support from online community
Can be modified and sold on
Support available online may be insufficient or incorrect. No user manuals.
Lower security as may not be developed in a controlled environment
benefits and drawbacks of closed source software to creator and user using each of the licensing models
Thorough, regular and well-tested updates
Company owning software provides expert support and user manuals. ]
High levels of security as developed professionally.
License restricts how many people can use the software at once
Users cannot modify and improve software themselves
why do we need translators when writing programs
A translator is a program that converts high-level source code into low-level object code, which is then ready to be executed by a computer
high level code
code that is written and understood by the programmer but not the computer. low-level code can be executed by a computer but cannot be directly understood.
operation of interpreters
translates source code one line at a time. Once translated, the machine code is executed immediately.
operation of compilers
translates high level language source code into machine code which is stored in an object file after carrying out a number of checks and reporting back any errors
benefits and drawbacks of interpreters
less prone to computer crashing.
some interpreters execute code within a virtual machine which insulates the host computer from defective code.
slower to run as every line has to be translated.
useful for testing sections of code an pin pointing errors as time is not wasted compiling the entire program.
benefits and drawbacks of compilers
faster as all translation is done at once and the compiled code is stored as an executable file
executable file runs directly on computer so poor code can crash the computer
compiled code is specific to a particular processor type and operating system
code can be run without a translator being present
role of an assembler and how it differs from interpreters and compilers
Assembler translates assembly code directly to machine code. It is specific to a particular CPU. Interpreters execute code line by line, while compilers translate entire code to machine code before execution.
stages involved in compilation
Flashcard: Stages in compilation process include lexical analysis, syntax analysis, semantic analysis, code generation, and code optimization.
how does lexical analysis work
Flashcard: Lexical analysis is the first phase of compiling, breaking down the source code into tokens like keywords, identifiers, and literals for further processing. these are stored in a symbol table. unnnecessary elements such as comments and white space are removed
how are syntax errors identified and reported at the end of syntax analysis
analyzing the structure of the code based on the defined grammar rules. Any tokens that break the rules of the programming language are flagged up as syntax errors and added to a list of errors.
how the abstract tree will be fed into the next stage of code generation
Abstract syntax tree (AST) is traversed and converted into an intermediate representation (IR) before being fed into the next stage of code generation.
what is an abstract syntax tree
representation of the source coded in the form of a tree
why is optimisation important
how results of lexical analysis feeds into syntax analysis
Optimization enhances code efficiency. Lexical analysis outputs tokens for syntax analysis. Tokens are validated for correctness during and after code generation.
what are code libraries
Code libraries are collections of pre-written code snippets or functions that can be reused in various programs to perform specific tasks or functions.
how are code libraries used
Flashcard: Code libraries are reusable collections of pre-written code that can be imported into a program to provide specific functionality and save time in development.
benefits and drawbacks of code libraries
Benefits of code libraries: save time by reusing code, improve code quality, provide solutions to common problems. Drawbacks: potential for bloated code, dependency on external sources, compatibility issues.