UNIT 2: Systems Software Flashcards

1
Q

What is an OS?

A

-boot loader in ROM loads the OS into RAM when computer is switched on
-OS manages the hardware and provides an user interface and the application software

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What functions do the OS provide?

A

-functions it provides- GUI, MEMORY MANAGEMENT, INTERRUPTS and PROCESSOR SCHEDULING

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

OS- User Interface

A

what the user interacts with
hides the complexity of the hardware from the user by providing a UI

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

OS- Memory Management

(Paging, segmentation,VM,)

A

programs and their data needs to be loaded into RAM
OS must manage the allocation of RAM to the different programs
may not be sufficient RM to load all the program at once

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

MM- Paging

A

Available memory is divided into fixed sized chunks called pages
each page has an address
process loads into RAM is allocated sufficient pages- they may not be contiguous in physical terms

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

MM- Segmentation

A

Memory can also be divided into segments which can be different lengths
they can relate to parts of a program- for example functions of subroutine may occupy a segment.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

MM- Virtual memory

A

computer has fixed amount of RAM- demand often exceeds this amount
an area of the hard disk can be designated as VM
some pages are stored in VM until they are needed- then swapped into RAM
if many are running- lots of time is spent swapping as there is insufficient RAM

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

VM - DISK THRASHING

A

Repeatedly swapping can noticeably slow down the computer- DISK THRASHING

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

OS- Interrupts

A

Vital CPU can be interrupted when necessary
They can be sent to the CPU by software, hardware devices or CPU internal clock

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

When does the CPU check for interrupts?

A

CPU checks at the end of each clock cycle whether they are any interrupts to be processed

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Interrupts EXAMPLES

A

EXAMPLE- printer runs out of paper, error, scheduled interrupt or power failure

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Interrupts - using a stack

A

when an interrupt is detected- the processor stops fetching and pushes the current content of its registers into a stack
uses an interrupt service routine

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Interrupts - Priority

A

they have priotires and will be processed in order
interrupts can themselves be interrupted if the new interrupts is of higher priority

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

OS - Processor scheduling

A

single CPU can only process instructions for one application at a time
OS must schedule when each app can use the CPU
gives the illusion of multitasking - appear to be running simultaneously

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Processor scheduling AIMS

A

provide acceptable response times to all users
maximise the time the CPU is usefully engaged
ensure fairness on a multiuser system

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

PS Round Robin

A

Each job is allocated(BY FIFO) a time slice during which it can use the CPU
if job ain’t complete by the end of time slice- next job is allocated a time slice

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What is FIFO? (Round Robin)

A

First in, first out

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

PS First come first served

A

First job that arrives is executed until its complete

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

PS Shortest remaining time

A

time to completion is estimated as each new job arrives
job with SRT is executed, a new shorter job can take over from current process

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

PS Shortest job first

A

also called - shortest process next
total execution time is estimated by the user
waiting job w the smallest total execution time is executed when the current job completes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

PS Multifeedback queues

A

created w different priority levels
if uses too much CPU time its moved to lower priority
processor can move if waited a long time

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Types of operating systems

A

distributed, embedded, multitasking/ multi-user, real time

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Distributed operating systems

A

Separate computers can be joined together via network connections to work together as a more powerful whole.
A distributed operating system coordinates the communication between these computer nodes and essentially makes them component parts that are joined together as a whole.
Distributed systems are useful when processor-intensive tasks need to be completed and a single processor cannot provide enough computational power on its own.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Multitasking system

A

a single processor can appear to do more than one task simultaneously by scheduling processor time

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
multi user system
A multi-user operating system provides the facilities for multiple users to access the same system. It controls the consumption of resources so that users can access the same system at the same time, without adversely affecting the other users. lots of users with their own terminals access the mainframes cpu and each gets a time slice
26
Mobile operating system
IOS is an example mos are linked to speicfic hardware low level propreuty OS is used for handling hardware and special features meanwhile the main OS handles the user interface and running applications
26
open source operating system
android is open source based on Linux and owned by Google - used by all major device manufacturers including smasung, mototraola, dell, ericsson allows for major customisation decvice manufactioerer can fine tune the os to suit their devices and add additional feature or user interafacaes to enhance the user epxiernce interface and avlaibale apps can be a major selling point
27
Embedded operating systems
In contrast to more general purpose systems, embedded operating systems are used in computers which only serve a specific purpose, such as mobile phones and washing machines. Embedded operating systems must provide a reliable platform for specific applications to carry out their processes. Embedded operating systems are often used to provide hardware reliability and ensure efficient use of resources, although this is usually at the cost of flexibility of the system. An example of an embedded operating system is the operating system used on a network router, which has a very specific purpose to perform, and limited hardware capabilities.
28
household devices
embedded os has minimal features application programs are held in ROM limited amount of RAM user interface is simple and minimal
29
real time operating system
- must respond extremely quickly to inputs - may need to cope with many inputs simulateneosuly ususalyl seen in safety critical enviroments if a hardware component fails, the of must have a failsafe to detect this and respond appropriately this is hardware redundancy- curcial componenets are duplicated in case one fails
30
what does BIOS stand for
basic input output system
31
what is BIOS
stored in ROM BIOS boots the computer at start up - initalises and tests hardware - loads the operating system into RAM
32
Device drivers
a driver is a program that provides an interface for the OS to interact with a device drivers are hardware dependent and OS sprcific - they are needed to allow the OS to control hardware devices from your speaks to your graphics card
33
installing device drivers
Typically, drivers are installed using software routines that are either built into the operating system, or where necessary, downloaded from the internet. For example, when a specialist keyboard is connected to a computer, the operating system will detect the model of the keyboard and download the suitable driver from the manufacturer's website. Older systems, or systems with specialist hardware, might need to install device drivers from physical storage media, such as a CD provided by the manufacturer. Should a specific device driver either not be found or not be installed, the operating system may load a generic device driver. A generic device driver may not be as well-suited to the device as a specific device driver: The generic device driver may be missing features that the specific device driver would provide The operation of a generic device driver may be inefficient, meaning that the computer system’s performance would slow down
34
driver routines
When a program requests to interact with a hardware device, it calls a routine within the driver software of that device. The routines will cause the device to perform specific tasks. The drivers may also receive requests from the device that require the processor to be interrupted. The driver will then provide the interrupt handling instructions to the operating system.
35
software can be grouped into several categories
software - system software and applications software
35
virtual machine
software is used to emulate a machine can be used for running one OS inside another to emulate different hardware a virtual machine can execute intermediate code eg java virutal machine executes java byte code emulation basically
36
systems software - 4 of them
operating systems, utility programs, library porgrams, translators
37
applications software - 4 of them
off the shelf, custom wrtitten, proprietary, open source
38
operating system - purpose
- provide a user interface - handle memory management - interrupt handling - processor scheduling to provide multi tasking
39
utility programs - purpose
they optimise the performance of the computer and perform useful background tasks - disk defragmenter - automatic backup - automatic updating - virus chcecker - compression software
40
utility - disk defragmenter
large files stored on a magnetic hard drive may be split upon across several physical disk locations disk defragmenter reogramises the hard driv eso that files are in sequential blocks where possible the result is that files can be read more quickly
41
Utlity - automatic backup
data in permanent storage needs to be regularly backed up users may forget to do this
42
utlity - automatic updating
runs in the background detecting software update releases and automatically installing them some updates add new softwawre features some importatnt updates fix security issues which could otherwise be exploited by hackers
43
utility - virus checker
scans perfmenant storage for viruses by comparing files to kown virus defintions may also scan files on access as they are opened must be kept up to date with new virus definitions to be effective
44
utility - virus checker - heurisitcs
antivirus software uses heurisitcs - it knows what types of behaviour are likely to be used by a maslicious program heuristics can be used to guess which programs or files may contain a virus based on their behaviour
45
utlity - compression software
we may want to send large files across the internet compression software can reduce the size of files
46
libraries and translators
allow programs to use prewritten routines and to be trasnlated into executable code discussed in deail in topic 4
47
applications software
software that perfroms a task to benefit the user applications can be divided into categories - general purpose - speical peurpose = besporke apps is short for appllciatons !!!!
48
off the shelf or bespoke
ready made software avalibale to anayone to purchase is known as off the shelf software sofwatere that is custom created for a speicfic user is knwon as bespoke software bespoke software is moslty used by bsuinesses rather that indiviudals
49
open source software
allows anoyone to access its source code the software is open source liscened by fee to use anyone may modify the software and sell it on the the oncndition taht the software produced is also open source diffrent from freeware - softwaere that is free to anyone to use bt the source code is not avaliab;e
50
closed source (propritary)
doesnt allow access to source code users must pay the person or company who owns the copyright for a license to use the software there may be restrictions on how the software is used
51
assembly code
assembly is a low level language computers execute machine code - 0010101001001 assembly code insturctions are equivalent to machine code by easier for humans to work with - LDA 5
52
assembler
trasnlating assembly code insturctions into machine code is done by an assembler each processor has its own instruction set and so the object code produced will be hardware specific
53
Compiler
trasnlates a whole program written in a high level language into excutable machine code, going through several stages resulting machine code is called object code, it is also hardware specific
54
Interpreter
also translate code written in a high level language into machine code interpreter does this line by line rather than the whole program before any of it can be executed
55
Compiler advantagesr
- program can be run many times without the need to recompile - fster to execute - executable code does not require the interpreter to run - compiled code cannot be easily read and copied by others
56
interpreter advantages
- source code cna be run on any machine with the interpreter - if a small error is found, no need to recompile the entire program
57
bytecode
Bytecode is source code that has been compiled into low-level code (bytecode) designed to be run on a virtual machine (the interpreter). An interpreter must be present on the user’s computer for the bytecode to be translated and executed. Use of bytecode (i.e. partially compiled code) speeds up the translation process and is the approach favoured by most modern interpreters.
58
stages of compilation
1. lexical analysis 2. symbol table 3. syntax analysis 4. semantic analysis 5. code generation
59
1. lexical analysis
all unnecessary spaces and all comments are removed keywords (print), constants and identifie=rs are replaced with TOKENS representing their function in the program
60
2. symbol table
the LEXER will build up a symbol table for every keyword and idneifier in the program the symbol table helps to keep track of the run time memory address for each identifier
61
3. syntax analysis
the stream of tokens from the lexing stage is split up into PHRASES each phrase is PARSED which means it is checked against the rules of the language if phrase not valdi, an error will be recorded
62
syntax rules
rules of lanugage need to be defined
63
4. semantic analysis
its possible to create a swquence of tokens whichh is valid syntax but not a valid program this checks for that kind of error
63
5. code generation
once program is checked, compiler geneates the machine code may do this in several passes because code optimisation will also take place
64
Libraries
most languages have sets of pre written (and pre compiled) functions called libraries eg function for random numbers programmer can also write ther own libraries
65
Linker - library
needs to put the apporpraite memory adresses in place so that the program can call and return from a library function
66
loader
to copy the program and any linked subroutines into main memory to run when the excutable code was created it may assume the program will load in memeory address 0 however memeory adresses in the program will need to be relocated by the loader because some memory will already be in use
67