1/43
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
|---|
No study sessions yet.
what is the operating system
program that acts as an interface between the hardware and other software in a computer system
enables efficient communication between them
provides interface for liveware
process management
modern computers are multitasking - can execute several processes concurrently
CPU can only execute one instruction at a time so it is up to OS to ensure that every process loaded into main memory gets a share of CPU time using scheduling algorithms
examples of process management
first in first out
shortest job first
round robin (each process assigned time slice)
memory management
when process loaded into main memory from secondary storage, OS allocates it a block of addresses (pages)
when computers memory full, OS frees up space by temporarily moving inactive processes into an area of hard drive (virtual memory)
uses paging algorithm to determine which processes to swap out
processes swapped back in again when it is their turn to use CPU
file management
OS responsible for managing and keeping track of files stored on computers hard drive
hierarchal tree structure with top node called root directory
user management
access control
user interface
GUI
CLI
access control
OS uses login names and password (and/or some form of biometric identification) to authenticate users and control who can go in
GUI
graphical user interface - has window, icons, menus, pointers WIMP
CLI
command line interface - only allows users to type in commands. mainly used by expert users who want more control over function of the computer
user interface
OS provides it to enable users to interact with computer
file permissions
part of user management
control who can do what with each file
4 levels of access: read, write(but cannot delete), execute (run files), delete(full access)
OS enforces permissions associated with each user
how does the OS allocate space on the hard drive to a file
file are broken up into blocks of a fixed size
each block is placed in an empty space on the disk
block may not be contiguous
left over space where a block is not complete is known as ‘slack space’
OS keeps track of starting point of each block and its sequence number for files larger than one block
data compression
reduces size of a file so it takes up less space in secondary storage and is faster to transfer across networks
repackages or removes some of files data to reduce its size
file repair
recovers data from and repairs files that have become corrupted
scans damaged file, extracts as much data from it as possible and stores it in a new, useable file
backup software
keeps a copy of files so that, if it gets lost or damaged, the most recent backup can be restored
backup copies of files are made at regular intervals and stored on a separate device in a different location to the live working environment (possibly on the cloud)
What is an audit trail?
helps improve accountability by keeping track of who made what changes and when during the development process
if a problem is found then it can be tracked back to its source and the code rolled back to a version before the flaw was introduced
part of robust software
version control software
used alongside audit trails, especially when a large team works on a complex project
uses data bases to keep track of every modification to the code
if a mistake is made, the code can be reverted to an earlier version
purpose of code reviews
to check that software adheres to agreed standards
to find any instances of inefficient code
to identify potential vulnerabilities
pert of robust software
what are code reviews
reviews carried out by other programmers or by specialised software that checks the code to make sure it meets a pre-defined set of rules.
can detect bugs and security issues and may suggest ways to fix them
examples of OS
Microsoft windows, Apple iOS, Linux
examples of low level languages
machine code and assembly language
what are low level languages
they work directly with a computers hardware
programs have to be translated into machine code before they can be executed by the CPU
what must programmers do for low level languages
A programmer must have detailed knowledge of a computers architecture in order to write a program
must be familiar with CPUs instruction set (binary instructions, opcodes)
uses of low level languages
device drivers, firmware for embedded systems
machine code
written in binary
thousands of 1s and 0s only for a simple program
very hard to write and debug
assembly language
uses mnemonics (short memorable keywords) to represent instructions
examples of high level languages
Java, Python
high level languages
use key words (print, if, return)
problem oriented - enable programmers to focus on their program’s logic rather than how it will be implemented on a computers hardware
must be translated before it can be executed by a CPU
single line of code requires multiple lines of machine code
what do high level languages have
come with libraries of ready-made functions, integrated development environments and editing tools to make it easier to write code
cons of low level languages
difficult and time consuming to use
have few tools to help with maintenance and debugging
machine specific - programs written in a low level language will not run on a computer with a different type of CPU
pros of low level languages
interact directly with the hardware, enabling memory to be used directly
pros of high level languages
programmer friendly
have tools that make maintenance and debugging easier
machine independent - will run on computers with different type of CPU
cons of high level languages
generally less memory efficient
types of secondary storage
magnetic
optical
solid-state
magnetic storage
contains a stack of circular, metal platters that spin at a high speed
surfaces of the platter are coated in a substance that can be magnetised
how to read and write data in magnetic storage
an electromagnet in the read-write head (each platter has one) magnetises the surface of the platter as north-south or south-north these represent 1 and o
the read-write head detects the magentic state of the platter
solid state storage
an electrical current is applied to a transistor, forcing the electrons through a barrier, trapping them on the other side in ‘pools’ .
full pool = 0, empty = 1
a small volatge is applied and if the pool is empty, the transistor turns on and a 1 is read out, if it is full, the transistor does not turn on and a 0 is read out
optical storage
a laser is used to burn the surface of a disk, changing its form to become more or less reflective. Reflective areas are called land and less reflective are called pits.
land = 1, pit = 0
data is stored as a series of lands and pits on a single track that spirals out from the centre of the disk
a laser beam is shone onto the surface of the disk. pit reflects more dimply than land
amount of light is detected by a light sensors and translated into 1s and 0s
advantages & disadvantages of magnetic storage
high capacity
fast data access
has moving parts that will eventually fail
noisy
advantages & disadvantages of optical storage
portable
disks are cheap
slow to access
prone to scratches
advantages & disadvantages of solid state storage
very fact data access
no moving parts
low power
quiet
relatively expensive
has a limited number of read-write cycles
examples of magnetic storage
tape drives, hard disk drives
examples of optical storage
CD, DVD, blu-ray
examples of slid state storage
USB sticks, SSD cards, mobile phones