applications generation Flashcards
applications software
used by the end user to perform one specific task. requires system software in order to run
spreadsheets, web browsers
systems software
low-level software responsible for running a computer smoothly, provides platform for applications software to run. user doesnt interact with systems software but it ensures high performance for user
operating system device drivers
what are utilities
key piece of system software ensuring high performance of OS.
examples of utilities
compression
disk defragmentation
anti virus
automatic updating
backup
compression
os provide utilities that enable files to be compressed and decompressed.
disk defragmentation
as hard disk becomes full, read/write slows down.
cause files become fragmented theyre stored in different parts of memory
disk defragmenter utility rearranges hard drive contents so they can be accessed faster improving performance
antivirus
responsible for detecting potential threats to computer alerting user and removing these threats
automatic updating
ensures os is up to date updating automatically
tackles bugs and threas ensuring system is less vulnerable
backup
creates routine copies of specific files selected by user
how often files are backed up are also selected by the user
so in like power failure files can be recovered
open source
used by anyone without a license and is distributed with the source code
open source advantages
can be modified and improved by anyone
can be modified and sold on
technical support from online community
open source disadvantages
support available online may be insufficient or incorrect no user manuals
lower security as may not be developed in controlled enviroment
closed source
user needs an appropriate license to use it
users cant access code and company owns copyright license
closed source advantages
thorough well tested updates
high levels of security developed professionally
company owns software provides expert support and user manuals
closed source disadvantages
license restrics how many people can use sofware at once
users cant modify and improve software themselves
why user chooses open or closed source
suitability of software for task theyll be using it for
cost
functionality
translator
program that converts high level source code into low level object code then executed by computer
different types of translators
compiler
interpreter
assembler
different types of translators
compiler
interpreter
compiler
translates high level code into object code at once performing checks and reporting errors.
initial compilation slower then interpreters or assemblers
if changes are needed entire program needs to be recompiled
is particular to processer and os so can only run on compatible devices
once comiled can be executed without needing a translator
interpreters
translates and executes code line by line stopping when finding an error.
appears faster then compiler but overall slower can codes translated each time it runs
useful for testing and debugging sections of code
interpreted code is portable can run on diff devices as long and appropriate interpreter is available
assembler and assembly code
translate assembly code into machine code
assembly code is low level language next level up from machine code
is platform specific instructions are dependant on the instuction set of the processor
stages of compilation
lexical analysis
syntax analysis
code generation
optimisation
lexical analysis
whitespace and comments are removed from code
rest is analysed for keywords names of variables and constance
replaced with tokens and info abt token associated and stored in symbol table