1.2 Software and Software Development Flashcards
Define Open source
Open source code can be used by anyone without a license and is distributed with the source code.
Open source advantages
Can be modified and improved by anyone
Technical support from online community
Can be modified and sold
Open source disadvantages
Support available online may be insufficient or
incorrect. No user manuals.
Lower security as may not be developed in a
controlled environment
Open source example
Mozilla Firefox, Linux
What are system utilities
Software to ensuring/maintain the consistent, high performance of the operating system
Name 5 System Utilities
Backup Antivirus Automatic Updates Disk Defragment Compression
Define Applications software
Designed to be used by the user to perform one specific task.
Define Systems software
Low-level software that is responsible for running the computer system
Example of Applications software
Web browsers, spreadsheets
Example of Systems software
Utility programs, Operating system, Device drivers
Define Translators
A translator is a program that converts high-level source code into low-level object code
Define Compiler
Compilers translate high-level code into machine code all at once,
Define Interpreter
Interpreters translate and execute code line-by-line. They stop and produce an error if a line contains an error
Define Assembly Code
Low-level language
What are the stages of compilation?
Lexical analysis
Syntax analysis
Code generation
Optimisation
What is a memory manager
Keeps track of what portions of memory have been allocated
Determines how much memory to allocate to each process
Determines when a portion of memory should be available for a process
Give three advantages of using libraries
Error-free
Save time
Re-usable
Designed by experts
What are the similarities and differences between static and dynamic linkers?
Both: link external modules and libraries to main program
Static: File size increased.
Dynamic: External updates automatically feed through to main program
Give two advantages of using interpreted
code over compiled code
Is platform independent
Runs instantly without time waiting for compilation
Useful for debugging
Give two advantages of using compiled code over
interpreted code
Faster to execute
Does not require compiler to run
Define libraries
High-level languages come with pre-written code libraries that give you access to many specialist functions
Define Linkers
Compilation of high-level programs, often results in several object code files. The linker resolves all of the cross-references between the files and creates a single executable program.
Define Interrupts
Are signals generated by software or hardware to indicate to the processor that a process needs attention