Fundamentals of Computer Systems Flashcards
(42 cards)
Hardware
All of the electrical and electro-mechanical parts of a computer and its input and output storage devices as well as peripherals
Software
All of the systems needed to make a computer function, all the collections of instructions/ programs that can be run and processed by a computer system
System software
All of the software needed to run the computers hardware and application programs
Operating system
A set of programmes that lie between applications software and the computer hardware like resource management
Utility programs
Program made to perform a generic task that is routinely executed by user, related to analysing or configuring data ((de)compression, providing firewall, backing up files and encryption before data transmission)
Libraries
ready-compiled programs that can be run when needed
Translators
A program which converts code from one computer language to another
compiler
A translator that converts high level language to machine code
Interpreters
A translator which checks a source program for syntax errors line by line, translates it to machine code and executes the line
Assembler
A translator in low level language which converts assembly language into machine code
Low-level language
A programming language with little to no abstraction from a processor’s internal instruction set such as machine code or assembly language
High-level language
A programming language with a strong abstraction from a processor’s internal instruction set that is much more human-readable with natural-language keywords
Machine-code
A low level language written in binary which is directly understood by CPU
Imperative language
A programming language built on the programming paradigm of using subroutines and procedures to change a program’S state and describe how the program operates
General-purpose application software
word-processor, spreadsheet graphics package
special-purpose
Performs a single task/set of task like fingerprint scanner. off-the-shelf or bespoke
Resource management
The collective efficient management of the available hardware and software to optimise the performance of the computer system
Scheduling
Allocating processor time to each applications to ensure processor time is used as efficiently as possible when multitasking
Memory management
Manages memory used by the different applications running at once, uses virtual memory where hardware is used as an extension of memory
Processor scheduling
Maximise throughout, be fair to all users in multi-user system, provide acceptable response times to all users, ensure hardware resources are kept as busy as possible
Backing store management
when files and applications are loaded are they moved from backing storage into memory, backing store keeps a dictionary with where files are stored for quick accesing
Peripheral management
Ensures that peripherals are allocated to processor without causing conflict
Interrupt handling
Handles interrupt signal sent from software programs or peripherals to stop processing current list of instructions and what to do next
Code names assembler
Input code is source code and the machine code output is called object code