1.2 Software and software development Flashcards
What is an operating system?
a collection of programs that provide an interface between user and computer.
What features do operating systems provide?
Memory management; Resource management; file management; input/output management; interrupt management; utility software; security; user interface.
What is memory management?
How the memory in the RAM is divided and identified by paging, segmentation and virtual memory
What is paging?
Splitting memory into equal sized physical divisions called pages.
What is segmentation?
Splitting memory into logical divisions called segments that represent the structure and flow of the program.
What are the similarities of paging and segmentation?
They allow the programs to efficiently use space in memory
What are the differences of paging and segmentation?
Pages are fixed size and fit into sections of memory , segments vary in size and are made of complete sections of memory.
What dose virtual memory do?
it uses a section of the hard drive acts as RAM when main memory doesn’t have enough space. sections of the program not currently in use are temporally moved to virtual memory.
Whats the downside to using virtual memory excessively?
Disk thrashing; when pages are being swapped between hard disk and main memory, as it takes a long time to transfer them.
What is resource managment?
scheduling
What is Scheduling?
Allowing sections of programs to be run and receive a fair amount of processing charity.
What are the two types of scheduling algorithms?
Pre-emptive and Non pre-emptive.
What are pre-emptive algorithms?
jobs are actively started or stopped by the operating system.
E.g. multilevel feedback queues, shortest remaining time, round robin
What are Non pre-emptive algorithms?
Once a job is started, it is left alone until it is completed
E.g. first come first served, shortest job first
What is the Round robin Scheduling algorithms?
each job has a section of processor time within which it is allowed to execute. longer jobs will take longer and job priority will not be taken into account.
What is the first come first serve scheduling algorithm?
Jobs are processed in chronological order. easy to implement, but doesn’t take priority into account.
What is the multilevel feedback queues scheduling algorithm?
makes use of multiple queues which are ordered per priority, this is difficult to implement
What is the shortest job first scheduling algorithm?
The jobs are ordered according completion time, longest jobs being completed at the end. this is beneficial to batch systems, but requires processor to calculate how long each job will take
What is processor starvation?
When a particular process doesn’t receive enough processor time in order to execute and be completed.
What is the shortest remaining time scheduling algorithm?
the queue is processed in order of time left from completion.
What are interrupts?
signals generated by software or hardware to indicate to the processor that a process needs attention.
How are interrupts stored?
in a priority queue in an interrupt register
How are interrupts serviced?
the interrupt service routine; if there is a interrupt with higher priority than current process, the current process are put in a stack. the processor loads the appropriate interrupt service routine and the flag is set. once processed the flag is reset interrupt queue checked before transferring the stack back into processors.
What are the different processes of the operating system?
Distributed; Embedded; Multi-tasking;
Multiuser; Real time
What is a distributed operating system?
a type of OS that runs across multiple devices and allows the load to be spread across multiple processors.
What is a embedded operating system?
Devices built for a small range of specific tasks, with limited in their functionality and low power usage
What is a multi-tasking operating system?
a OS that allows the user to carry out task seemingly simultaneously, though time slicing quickly switching between programs and applications in memory.
What is a multi-tasking operating system?
when multiple users make use of one computer (normally supercomputer), needs a scheduling algorithm.
What is a real time operating system?
an OS designed to performs a task within a guaranteed time frame, used in time-critical computer systems.
What does the BIOS do?
the basic input output system is responsible for running the various key tests before the operating system is loaded into memory.
When is the BIOS loaded?
It is the first program that runs when a computer system is switched on. The program counter points to the location upon each start up.
Where is the BIOS stored?
in the ROM because it is non-volatile and cannot be written to. This means it is permanent form of memory so cannot be lost.
What tests does the BIOS do?
the POST ;checking the cpu processor, clock and memory; testing external memory devices
What is the POST (power-on self test)?
when the BIOS tests if the basic devices that are required for the server to operate are correctly installed and working.
What is the BootStrap?
a program that uses the bios to load the operating system from the hard disk into main memory.
What is the Operating system kernel?
the central component of the operating system that manages the system requirements.
What is a Chernobyl virus?
a virus that deletes the contents of the partition table, preventing the operating system from loading.
What is a device driver?
Computer programs which are provided by the operating system and allow the operating system to interact with hardware.
What are Device Drivers specific to?
they are specific to the operating system ,but also to the specific device.
What is a Virtual Machine?
a theoretical computer in that it is a software implementation of a computer system that provides an environment with a translator for intermediate code to run.
What is intermediate code?
code that is halfway between machine code and object code. it is independent of the processor architecture so can be used across different operating systems.
What are the uses of virtual machines?
to test on multiple devices, without purchasing; protect from malware as it will affect the virtual machine; running incompatible software that can only e run on a specific device.
What are the benefits of a virtual machines?
they make a development environment so save both time and money
What are the drawbacks of virtual machines?
Running intermediate code on a virtual machine can be considerably slower compared to low-level code on a device designed for it.
What is applications software?
Its designed to be used by the end user to perform a specific task, it requires systems software to run.
Give examples of applications software.
desktop publishing, word processing, spreadsheets, web browsers.
What is systems software?
low-level software that is responsible for running the computer system smoothly interacting with the hardware and generally providing a platform for application software to run.
Give examples of systems software.
library programs, utility programs, operating system, device drivers.