Save
Upgrade to remove ads
Busy. Please wait.
Log in with Clever
or

show password
Forgot Password?

Don't have an account?  Sign up 
Sign up using Clever
or

Username is available taken
show password


Make sure to remember your password. If you forget it there is no way for StudyStack to send you a reset link. You would need to create a new account.
Your email address is only used to allow you to reset your password. See our Privacy Policy and Terms of Service.


Already a StudyStack user? Log In

Reset Password
Enter the associated with your account, and we'll email you a link to reset your password.
focusNode
Didn't know it?
click below
 
Knew it?
click below
Don't Know
Remaining cards (0)
Know
0:00
Embed Code - If you would like this activity on your web page, copy the script below and paste it into your web page.

  Normal Size     Small Size show me how

1.2.2

QuestionAnswer
Hardware physical parts of a computer system (internal/external)
Software all computer programs - Application software - Systems software
Application software (Software) software that is designed to perform a task or produce something (typically user run)
Generic application (Application software) doesn’t have a specific or narrow purpose, meet many needs (e.g. word processors, graphics manipulation)
Specific application (Application software) can only be used for a single purpose (e.g. database software, web browser)
Systems software (Software) controls hardware + provides platform for other software to run (e.g OS, utilities) - Utility software
Utility software (Systems software) software designed to keep the device safe, running efficiently and provides the user with useful tools for maintenance - Anti-malware software - Defragmentation - Compression - Backup - File management - File repair - Device drivers
Anti-malware software (Utility software) recognises + removes malware from files
Defragmentation (Utility software) groups together data on a hard drive, speeding up access to files
Compression (Utility software) reduces storage space occupied by a file - Files must be extracted before being read
Backup (Utility software) copies data to another location (automatic, manual, scheduled), protecting data
Full backup (Backup) all data copied
Incremental backup (Backup) only data changed since last backup copied
File repair (Utility software) corrects errors in corrupted files
Source code the high-level language-code the program was originally written in
OSS open source software: users have access to course code
OSS pros Users - Can be installed and used for free, on any number of computers - Can customise, modify and distribute software - Wide community modification Creators - Less work, support provided by community - Gets software out to a wider community
OSS cons Users - Can be poorly supported, and features may not be well tested, leaving bugs Creators - Little to no financial gain
Closed source software (proprietary software) Software supplied pre-compiled; no source code - Covered under CDPA - May be a one-time fee, subscription fee or it could be free
Closed source software pros Users - Usually better supported, more testing Creators - Usually get an income
Closed source software cons Users - Cannot see any bugs in the code - May have to pay a fee per user/device - Cannot modify the software Creators - No community support - Constant demand for new updates
Translators convert code into machine code
Machine code binary form of source code, so computers understand, low-level language
Syntax the structure of a language
Assemblers (Translator) Converts each line of assembly code into machine code Pros - Memory-efficient - Fast to execute - Fewer instructions to accomplish result Cons - Long time to code the program - Lack of portability between devices
Interpreters (Translator) Converts and runs one line at a time, each time it is run Pros - Program will always run + stops at errors - Code never needs to be ‘recompiled’ - Easy to debug Cons - Execution speed is slower - Source code is required
Compiler (Translator) Converts all code at once, compiling it into an executable file that only runs when all errors are corrected
Compiler pros and cons (Translator) Pros - Speed of execution is faster - Source code kept secret - No need for translation at run time Cons - Program won’t run with syntax errors - Code must be recompiled when changed - Compiled file only works on certain CPUs
Stages/parses of Compilation 1. Lexical analysis 2. Syntax analysis 3. Code generation 4. Code optimisation
Lexical analysis identify parts that make up a program (whitespace + comments removed)
Stages of lexical analysis Lexer reads code letter by letter, when whitespace, operator or special symbol is found, lexeme is complete The lexeme is then checked if it is valid using predefined rules that allow lexemes to be identified as valid tokens Symbol table is created
Lexeme (lexical analysis) sequence of recognisable characters (e.g. a word)
Tokens (lexical analysis) class of lexemes (e.g. keywords, identifiers, strings, numbers + punctuation)
Symbol table (lexical analysis) keeps track of variables and subroutines
Syntax analysis checks/reports errors
Stages of syntax analysis Analyses tokens' syntactical structure by analysing them against production rules to detect any errors, ensuring that the line of code has the correct components and makes sense An abstract syntax tree created from the tokens Updates symbol table
Stages of code generation The abstract syntax tree is converted to object code
Object code (code generation) machine code before the linker is run
Stages of code optimisation Tweaks the program to make it run as efficiently as possible, for speed or memory
Linker puts the appropriate machine addresses in all the external call/return instructions so all modules and external library routines are linked together correctly, and links any separately compiled subroutines into the object code.
Static linking (linking library code) All required library code included directly in finished machine code - results in large executable program files
Dynamic linking (linking library code) Compiled versions of libraries stored on the host computer. The OS links the required code from the library as the program runs. The file size is reduced, but when libraries are updated the program may not work anymore
Linking library code (Linker) The library code can be included in two ways: - Static linking - Dynamic linking
Loader part of the OS responsible for loading the executable program file (machine code) into memory. In dynamic linking, it also loads the libraries into memory
Libraries ready-compiled + tested programs that can run when needed and can be reused.
Libraries pros and cons Pros - Code is usually pre-tested + works - Saves time writing code - Pre-compiled, so are optimised to run quickly Cons - Hard to amend library code - No guarantee the library is still maintained - Sometimes you can’t see the library’s code
Created by: FlashCardFun!
 

 



Voices

Use these flashcards to help memorize information. Look at the large card and try to recall what is on the other side. Then click the card to flip it. If you knew the answer, click the green Know box. Otherwise, click the red Don't know box.

When you've placed seven or more cards in the Don't know box, click "retry" to try those cards again.

If you've accidentally put the card in the wrong box, just click on the card to take it out of the box.

You can also use your keyboard to move the cards as follows:

If you are logged in to your account, this website will remember which cards you know and don't know so that they are in the same box the next time you log in.

When you need a break, try one of the other activities listed below the flashcards like Matching, Snowman, or Hungry Bug. Although it may feel like you're playing a game, your brain is still making more connections with the information to help you out.

To see how well you know the information, try the Quiz or Test activity.

Pass complete!
"Know" box contains:
Time elapsed:
Retries:
restart all cards