Computer Systems Flashcards
(21 cards)
four examples
Utility software program examples
file compression
Disk defragmentation
Firewalls(on the device only)
Antivirus
difference between a compiler and an interpreter
compiler:
scans entire program and translates it all into machine code
interpreter:
translates line by line and stops at Error
Assembler
translate assembly into machine code
Purpose of both compilers and interpreters
translates high level language to machine code
special purpose software
performs one specific task. i.e. tax calculator
Bespoke software
custom-made software specifically designed a client
General purpose software
can be used for multiple tasks. i.e. word processor
define
utility program (system software)
type of software which is used to analyze, maintain, configure a computer.
Advantages of library programs
(since basic processes don’t need to be stored for every applications software)
saves programming time
saves memory
saves storage space
“preinstalled small program that allows larger programs to run more efficiently”
library program
acronymn
DLL
dynamic linked library
operating system(system software)
Operating System (OS) refers to the system software that manages hardware and software resources in a computer system, TO HIDE THE COMPLEXITIES.
The main function is to manage hardware resources: the CPU, memory, disk drives, and input/output (I/O) devices.
Examples of OS
macOS, ChromeOS, IOS, Android
For High level Language
Paradigms: what is Imperative?
instructions are executed in a programmer defined order. language describes how to solve a problem i.e vb.net
For High level Language
Paradigms: what is Declarative?
define what should be achieved by the program i.e SQL
For High level Language
Paradigms: what is Functional?
has no global state as imperative languages do i.e Haskell
For High level Language
Paradigms: what is Object oriented?
objects can be defined to model a problem e.g. c#
High vs Low level languages
- Ease of use
- simple to debug
- portable to any platform
- currently most widely used
BUT - less memory efficient
- requires compiler or interpreter to translate which is slower than an assembler for assembly language
discuss
machine code
1st gen
- doesn’t need translation to execute,(it is binary)
- difficult for humans to read and write (and therefore debug)
- often needs to be displayed as hexadecimal
discuss
assembly language
2nd gen
- programmers can write code using a set of processor specific mnemonics (representing the binary equivalent in machine code).
- must be translated into machine code in order to execute in a process called assembling, done by an “assembler” program
discuss
high level language
3rd gen