• Created by: g.zel11
  • Created on: 19-05-19 14:12
What is the purpose of operating systems?
Managing the operations of the computer for the user.It acts as a bridge between the user and the computer’s hardware.
1 of 82
What are the main functions of operating systems?
Memory management - Interrupt service routines - Processor scheduling - Backing store management - Management of input and output
2 of 82
Define memory management.
Allocating memory so that each process has enough to run, allows efficient sharing of memory, ensures that programs can’t access each others’ memory.
3 of 82
Describe paging.
Allocating fixed-sized memory blocks to the processes. Uses physical divisions. Used for virtual memory.
4 of 82
Describe segmentation.
Logical division of address space into varying length segments. Used for virtual memory.
5 of 82
Describe virtual memory.
Holds the parts of the programs currently not in use to allow programs run despite insufficient memory. Swaps pages between the main memory and secondary storage. Can cause trashing when more time is spent transferring pages than processing the data.
6 of 82
Define an interrupt.
A signal to the processor indicating a device/process needs attention.
7 of 82
Describe Interrupt Service Routine when the interrupt is of a low priority.
If the interrupt is of a lower/equal priority to the current process then the current process continues and when it’s completed, the interrupt is taken care of.
8 of 82
Decribe ISR when the interrupt if of a high priority,
CPU finishes its current FDE cycle. The contents of the registers are copied to a stack in memory. The location of ISR is loaded into the PC. When the ISR is complete, the previous contents are popped from the stack and loaded back to registers.
9 of 82
What is the purpose of scheduling?
To make the most efficient use of the processor / resources - Be fair to all users / applications - Provide a reasonable response time - Prevent processes from failing to run / Process starvation / Deadlock
10 of 82
Name the scheduling methods.
Round robin - first come first served - multi-level feedback queues - shortest job first - shortest remaining time.
11 of 82
Describe how round robin works.
Each process is given an equal time to run. If the process has not completed before the end of the time slice, it is sent to the back of the queue and has to “wait” to continue processing. This helps give reasonable response time to all users.
12 of 82
Describe how first come first served works.
All jobs are processed in the order in which they arrive with no system of priorities.
13 of 82
Describe how multi-level feedback queues work.
Implements several job queues and jobs can move between queues depending on how much processor time they use. This aims to maximise processor use.
14 of 82
Describe how shortest job first works.
The process with the shortest estimated completion time is run next.
15 of 82
Describe how shortest running time works.
The process with shortest running time is run next.
16 of 82
Describe how distributed OS works.
A parallel processing system. Splits jobs into several tasks and shares them between multiple computers to work together as a single system. Provides more power resulting in a better performance.
17 of 82
Describe how embedded OS works.
System used in devices with limited resources, e.g. washing machine. Has minimal user interface, limited RAM and no permanent data storage.
18 of 82
Describe how multitasking OS works.
Runs multiple jobs simultaneously, switching between them so that each appears to be the only one running. Uses round robin method.
19 of 82
Describe how multi-user OS works.
A single mainframe is connected to multiple terminals. Each gets a time slice. Allows multiple users to access computer resources at the same time using flags and priorities.
20 of 82
Describe how real time OS works.
Data is processed immediately with no delay which guarantees a response within a given time frame, failsafe and incorporates redundancy.
21 of 82
Decribe how BIOS (basic input/output system) works.
Used to initialise and test the system hardware components and to load the operating system from the hard disk into RAM.
22 of 82
Define device driver.
A program which provides a software interface to a particular hardware device. Enables the OS to access hardware functions without needing the details of how the hardware is used.
23 of 82
Define virtual machine.
Any instance where software is used to take on the function of the machine, including executing intermediate code to emulate different hardware.
24 of 82
Describe intermediate code.
Partly translated, simplified code between high level and machine code produced by the compiler. Used on any computer using an interpreter improving portability between machines. Used to write code in different languages by different programmers.
25 of 82
Define system software.
Software needed to run the computer's hardware and applications programs. Divides into operating systems, utility programs, library programs and translators.
26 of 82
Define operating system (OS)
A set of programs that lies between applications software and computer hardware. Its functions include resource management and provision of a user interface.
27 of 82
Define utility program.
A system software designed to optimise the performance of the computer or do things such as backing up files, restoring corrupted files from backup, compression, defragmentation, encryption, virus check.
28 of 82
Describe disk defragmentation.
A program that reorganises a magnetic hard disk so that files which have been split up into blocks are put into a single series of sequential blocks.
29 of 82
What types of applications software are there?
General purpose (off the shelf) or special purpose ( also called custom written or bespoke)
30 of 82
Describe general purpose software.
Can be used for many different purposes (e.g. word). It is ready to be installed immediately, relatively cheap and well tested. May contain many unnecessary features.
31 of 82
Describe special purpose (bespoke) software.
Performs a single specific task or set of tasks. Its features are customised to user requirements which makes it costly and may take a long time to develop. It can also contain errors which do not surface immediately.
32 of 82
Describe open source software.
Software licenced for use with no charge for the licence, Anyone can use and modify it. Modifications may be sold, but must always include the source code so that the software stays open source.
33 of 82
Describe closed source software.
Software sold in a form of a licence. There are restrictions on how the software may be used and the creator hold the copyrights. User do not have the access to the source code and are not allowed to modify it.
34 of 82
Describe assembly code.
A low level language where one instruction equals one machine code instruction.
35 of 82
Describe an assembler.
A program which translates assembly code to machine code. The input to the assembler is called the source code, and the output is called the object code.
36 of 82
Describe a compiler.
Translates a high level language into machine code. It runs through the entire program and saves it as a whole, so the program can be run without the presence of the compiler.
37 of 82
Describe an interpreter.
Translates a high level language into machine code line by line, returning errors if there is any. Must be present each time a program is run.
38 of 82
What are the stages of compilation?
Lexical analysis, syntax analysis, code generation and optimisation.
39 of 82
What is the function of lexical analysis?
Converts source code into a series of tokens which are fixed length strings of binary digits. Redundant code, spaces and comments are removed. A symbol table is used to store info about the variable names and subroutines. Error diagnostic is run.
40 of 82
What is the function of syntax analysis?
Determines whether the sequence of input or tokens forms a valid sentence in the language against a given set of rules. Further details are added to the symbol table.
41 of 82
What is the function of code generation?
The code (tokens) is converted into object code by producing machine code. Variables are given addresses and relative addresses are calculated.
42 of 82
What is the function of optimisation?
Object code is checked and made as efficient as possible increasing processing speed by reducing the number of instructions.
43 of 82
What is the function of a linker?
To link compiled program with any separately compiled subroutines and library code into one program.
44 of 82
What is a function of a loader?
To load the program and associated libraries into the memory and to handle addresses before the program runs.
45 of 82
Describe libraries.
Ready-compiled programs of pre-written functions which can be loaded and run when required. It's code is tested, reliable, reduces repeated code, can be reused.
46 of 82
What are the stages of software development?
Analysis, Design, Implementation, Evaluation and Maintenance.
47 of 82
Describe the waterfall lifecycle model.
Each step is completed one at a time from beginning to end. Requirements are established in the analysis stage, and user has little input throughout. May be required to return to previous stages to make changes, and all stages after must be revisited
48 of 82
What are the advantages of the waterfall lifecycle model?
Good for inexperienced users, suitable for programs with few stable requirements, easy to measure progress.
49 of 82
What are the disadvantages of the waterfall lifecycle model?
Inflexible as depends on clear requirements, Time consuming as requires lots of documentation, cannot be tested until system is fully coded, lacks user feedback.
50 of 82
Describe the spiral model.
Uses the same structured steps as the waterfall model in an iterative way. Each time, the requirements are specified and a prototype is created. Each loop generates a new, more refined prototype until the product is finished.
51 of 82
Describe agile modelling.
The stages of development are not completed in a linear sequence. While some parts of the program are already analysed and designed, some are just beginning to be analysed. User feedback is obtained after each module is implemented.
52 of 82
Describe extreme programming (XP)
A type of agile software development in which frequent releases of the software are made in short development cycles. The user gives feedback on each and new versions are made accordingly.
53 of 82
What are the advantages of spiral and agile models?
Users do not need to give specific requirements, those can be identified as prototypes are made. Any errors or issues are found early on.
54 of 82
What are the advantages of XP?
New requirements can be adopted as the user gives feedback frequently, Final product is well tested, efficient and robust, has a short development time.
55 of 82
What are the disadvantages of XP?
Requires a lot of user feedback so the end user must be available at all times, lacks documentation as main focus is on coding.
56 of 82
Describe rapid application development (RAD)
Using prototyping to continually refine the system in response to user feedback, each part of the system is produced in a strict time limit, reuses any software components which have already been used elsewhere.
57 of 82
What are the advantages of RAD?
End user is highly involved, requirements can change as prototypes are made, focuses on the essential parts of the system.
58 of 82
What are the 4 types of testing?
Black box testing, White box testing, Alpha testing, Beta testing.
59 of 82
What is a programming paradigm and what are the four major paradigms called?
It is a style of computer programming. The major paradigms are: procedural programming, object-oriented programming, declarative programming and functional programming.
60 of 82
Describe procedural programming.
Supported by languages which have series of instructions that tell the computer what to do with the input in order to solve the problem (e.g. python). Relatively easy to learn and applicable to a wide range of problems. Uses modular techniques.
61 of 82
Describe object-oriented programming.
Allows abstraction of details of implementation to make the code reusable and programs easy to maintain. (e.g.Python, Java, Delphi)
62 of 82
Describe declarative programming.
Supported by languages where statements to describe the problem must be written and the language implementation decides on the best way of solving it. (e.g. SQL)
63 of 82
Describe functional programming.
Functions are used as fundamental building blocks of the program. Statements are written as series of those functions which accept input data as arguments and return an output. (e.g.Haskell, Python, Java)
64 of 82
Describe procedural languages.
They have built-in data types and data structures e.g. arrays. Programmers can define their own abstract data types such as queue. The program states what to do with a series of statements in a specific order.
65 of 82
Describe assembly language.
A low level language which uses mnemonics instead of binary codes. Each instruction written in assembly language translates into one machine code instruction.
66 of 82
What are the main mnemonics and what are their functions?
ADD - add, SUB - subtract, STA - store, LDA - load, BRA - branch (always), BRZ - branch if zero, BRP - branch if positive, INP - input, OUT - output, HLT - halt, DAT - data
67 of 82
What is the purpose of unconditional branches (BRA)?
It causes a branch (jumps) to a given label in the program no matter what value is held in the accumulator.
68 of 82
What is the purpose of conditional branches (BRZ, BRP)?
To cause a branch (jump) to a given label in the program depending on the value held in the accumulator.
69 of 82
What is the format of a machine code instruction?
It splits into Operation code (opcode) and Operands. The opcode is further split into binary representing the machine operations and the addressing mode (2 digits)
70 of 82
What are the four addressing modes?
Immediate addressing, direct addressing, indirect addressing, indexed addressing.
71 of 82
Describe immediate addressing.
The operand is the actual value to be operated on which is added to the value in ACC.
72 of 82
Describe direct addressing.
The operand holds the memory address of the value to be operated on. This is the only addressing mode used in LMC.
73 of 82
Describe indirect addressing.
The operand is the location which holds the address of the data needed. This enables a larger range of addressable locations.
74 of 82
Describe indexed addressing.
The address of the operand is obtained by adding the contents of the general register to a constant value. These are included in the instruction code.
75 of 82
Describe classes used in OOP.
A description of what the data looks like and what it can do. It acts as a template to construct a set of objects. Classes can have subclasses which have same attributes as the class but also have some attributes of their own.
76 of 82
Describe methods used in OOP.
Subroutines that form the actions an object can perform.
77 of 82
Describe objects used in OOP.
Self- contained instances of classes made from attributes and methods.
78 of 82
Describe attributes used in OOP.
Values stores in variable associated with an object.
79 of 82
Explain inheritance.
When a subclass takes all methods and attributes of its parent class, may override some of these and have additional methods and attributes of its own. The class code is used as a base for similar objects to save time.
80 of 82
Explain encapsulation.
When data is hidden within objects to keep attributes private. Those can then only be accessed and changed via public methods defined for class to maintain data integrity. Prevents unexpected changes to attributes.
81 of 82
Explain polymorphism.
Applying the same methods to objects of different types as they are treated in the same way. Code is able to handle different objects in the same way to reduce the volume produced.
82 of 82

Other cards in this set

Card 2


What are the main functions of operating systems?


Memory management - Interrupt service routines - Processor scheduling - Backing store management - Management of input and output

Card 3


Define memory management.


Preview of the front of card 3

Card 4


Describe paging.


Preview of the front of card 4

Card 5


Describe segmentation.


Preview of the front of card 5
View more cards


No comments have yet been made

Similar Computing resources:

See all Computing resources »See all Software resources »