1.2 Software Flashcards
S
What is an os
Program or set of programs that manages the operations of the computer for the user.
Acts as bridge between user and computers hardware
Where is the os stored
Permanent storage e.g) hard disk
What is the loader
Small program held in ROM that send instructions to load the os by copying it into RAM while the computer is switched off.
What are the functions of the os (5)
Memory management
Interrupt service routines
Processor Scheduling
Backing store management
Management of all input and output
How does memory management work
Each program is allocated a specific area of memory whilst the computer is running.
How does paging work
Memory Is divided into fixed size pages and process held in memory may be held in non-contagious pages
How does a page table work
It uses mapping to store a link between the physical memory address and the logical address space of each process
How does segmentation work
Logical division of address ace into varying length segments depending on the program structure.
What happens when a computer has insufficient memory
Deterioration in performance as pages are swapped in and out of RAM to the point where the os is spending time swapping pages in and out
What is an interrupt? +examples
Signal from a software program, hardware device or internal clock to the CPU.
A software interrupt occurs when an application program terminates or requests certain services from the os.
A hardware interrupt may occur when an I/O operation is complete or an error occurs
Interrupts can be triggered regularly by a timer, allowing for multitasking
What happens when the CPU receives and interrupt signal
It suspends execution of the running program or process and disables all interrupts of a lower priority.
It then puts all the value of the PC and each register onto the system stack while an interrupt service routine is called to deal with the interrupt.
Once the interrupt has been services the og values of the registers are retrieved from the stack and the process resumes from where it stopped.
How is multitasking done
Computer carries out small parts of multiple larger tasks in turn, the processor can give the appearance of multitasking
What is the schedular
OS module responsible for ensuring that processor time is used as efficiently as possible
What are the objectives of a schedular
Maximise throughput
Be fair to all users on a multi user system
Provide acceptable response time
Ensure hardware resources are kept as busy as possible
How does round robin work
Each process is given a time slice, os sets and interval timer to generate interrupts at specific times.
How does first come first served work
Jobs processed in order they arrive
How does shortest time remaining work
Process with shortest estimated running time is run next.
How do multi level feedback queues work
Gives preference to short jobs and I/o bound processes.
Separates processes based on need
What is backing store management
Where files and applications are loaded from memory into.
os keeps directory of where files are stored
Also needs to know areas of free storage
What is peripheral management
A process carried out by the operating system managing the way peripherals (hardware) interact with software
What is a buffer
Area of memory where for example data to be printed can be stored so the CPU can continue with another task. It compensates for the difference in speed between the output device and CPU
What is a distributed operating system
Form of parallel processing system that spreads the load over multiple computer servers. A job is split into several tasks run on a separate computer, coordinated by the os
What is a multi tasking system
Running multiple tasks at the same time, switching between them so each one appears to be the only one running.
What is a multi user system
A single powerful machine or supercomputer is connected to dozens or hundreds of terminals all using the mainframe CPU. Each user gets a slice of processor time based on scheduling algorithm.
What is a mobile operating system
They combine features of a personal computer os with their own special features, such as managing cellular and wireless connectivity and GPUs.
What are the features of an embedded os
Minimal user interface
Accept sensor inputs and send output to control devices
Limited RAM
No permanent date storage to manage
What are the features of a real time os
Must respond quickly to inputs or sensors
Must deal with many inputs simultaneously
Must have failsafe mechanisms designed to detect and take appropriate action if hardware fails
Must incorporate redundancy
What is the BIOS
Program that gets computer started when it is turned on
Initialises and tests the system hardware components and loads the os from hard disk into RAM
What is a device driver
Computer program that provides a software interface to a particular hardware device
Hardware dependent and os specific
How does a device driver communicate
Communicates via system bus
When program invokes routine in driver, the driver issues commands to the device. Once the device sends data back to the driver, the driver may invoke routines in the og program
What is a virtual machine
Any instance where software is used to take on the function of the machine, like executing intermediate code or running an os with another to emulate different hardware
What is system software
Software needed to run the computers hardware and application programs, including os, utility programs, libraries and programming language translators
What is resource management
Managing all the computer hardware including the CPU, memory and keyboard
What does user interface do
Enables users to perform tasks such as running application software, changing settings on the computer and downloading and installing new software
What is utility software
System software designed to optimise the performance of the computer or perform tasks such as backing up files
What is disk defragmentation
Program that will recognise a magnetic hard disk so that files that have been split up into blocks and stored all over the disk will be recombined in a single series of sequential blocks.
What is automatic updating utility
Ensures any software installed on the computer is up to date. Automatic update regularly checks internet for updates.
Firewalls and antivirus must be updated regularly
What does a virus checker utility do
Checks your hard drive and incoming emails and internet downloads for viruses and removes them
Difference between general purpose and special purpose software
General : Used for many different purposes
Special: Performs a single specific task or set of tasks
Difference between off the shelf and bespoke software
Off the shelf:
Less expensive
Unwanted features
Miss out on some desirable features
Installed immediately
Well documented and tested
Bespoke:
Costly
Customised to user requirements
Long development time
Contain errors
What is open source software
Licensed for use with no charge
Distributed with source code, can be modified
Any new software created from open source must also be opt
More organic
What is closed source software
Restrictions on how software can be used
Company or person who wrote software will hold copyright
User will not have access to source code, can not modify it
Regular updates
Support available
What is assembly code
Low level language w each instruction in assembly code almost always being equivalent to a machine code instruction
What is an instruction set
Machine code instructions that a particular computer can execute
What is the instruction set dependent on
Hardware!! Therefore each different type of processor will have a different instruction set and assembly code
What does an assembler do
Takes each assembly code instruction and converts it into the 0s and 1s of the corresponding machine code instruction
What is the source code
Input to the assembler
What is the object code
Output of the assembler (machine code)
What is a compiler
Programmer that translates high level language into machine code
It produces an object code that can be saved and run whenever
What is an interpreter
Type of programming language translator that looks at each line of the source program, analyses it and if it contains no syntax errors, translates it into machine code and runs it.
What is byte code
Intermediate representation used by most interpreted languages, which combines compiling and interpreting and is executed by a byte code interpreter
Allows for platform independence
Extra security layer between computer and program
Advantages of a compiler
Object code can be saved and ran whenever
Object code executes faster than interpreted code
Object code distributed without compiler present
More secure
HOWEVER,
If error discovered whole program has to be recompiled
Advantages if an interpreter
Platform independence, source code can be run on any machine
Useful when there is no need for lengthy recompilation each time an error is discovered
HOWEVER,
Program may run slower as each statement has to be translated to machine code every time it is encountered.