1.2 Software and Software Development Flashcards
How is the operating system loaded to RAM
The boot loader in ROM loads the Operating System into RAM
What does the operating system do?
communicates between the hardware and (the user and the software)
Provides an interface for the users
What are the functions of the operating system
User interface
Memory management
Interrupt handling
Processor scheduling
What is the purpose of the user interface
Gives user an intuitive way of interacting with computer that more people can understand
What is the purpose of memory management
Allows for the managing of the space in RAM so that all desired programs can be loaded to RAM at once
How does paging work?
Available memory is divided into fixed chunks called pages, each with an address. When a process is loaded into RAM is allocated sufficient pages that are necessarily contiguous
How does segmentation work?
Available memory is divided into chunks of variable length called segments. Segments often relate to part of a program, e.g. a function is stored in one segment
What is virtual memory?
The process of allocating space on the hard drive to hold some of the pages of a current process until they are needed to free up space in memory
What is disk thrashing?
Slow down of a computer caused by very frequent transfers of pages between RAM and virtual memory.
What are interrupts
Temporary halts in the fetch - execute cycle to deal with a problem that has appeared to do with the running of the computer.
What is the need for interrupts
To deal with problems or things that need attention that have arisen in the computer
What are some examples of interrupts
An I/O device sends an interrupt signal
The printer runs out of paper
An error occurs in a program
A scheduled interrupt from the internal clock
Power failure
When does the CPU acknowledge an interrupt?
At the end of each fetch-execute cycle
What happens when an interrupt is acknowledged
Control is handed over to the ISR (Interrupt Service Routine)
What happens when control is handed to the ISR
Current process is pushed to stack.
What is interrupt priority
The ability of one interrupt to interrupt another if it is more important
What happens when a higher order interrupt is received by the ISR
Current interrupt is pushed to stack
What is processor scheduling?
The process of the CPU scheduling how much processor time is dedicated to different task
What is the purpose of processor scheduling
To provide an acceptable response time to all users
To maximise the time the CPU is usefully engaged
To ensure fairness on a multi-user system
How does Round Robin scheduling work
Run each process for its time slice, After each time slice, move the running process to the back of the queue
How does first come first served scheduling work
The first job to arrive is executed until it completes
How does shortest remaining time scheduling work
The time to completion is estimated as each new
job arrives
The job with the shortest remaining time to completion is executed, meaning that a shorter new job can take over from the current process
How does shortest job first scheduling work
As with shortest remaining time, the total execution time of each job is estimated by the user
The waiting job with the smallest total execution time is executed when the current job completes
How does multi level feedback queues scheduling work
Multiple queues are created with different
priority levels
If a job uses too much CPU time it is moved to a lower priority queue
Processes can also be moved to a higher priority queue if they have waited a long time
What is a distributed OS
One that can coordinate the processing of a single task across multiple computers. A program can use data or resources from any of the computers
What are the advantages and disadvantages of distributed OSs
As: The user can access more computational power with the illusion of working with a single processor
No need for training or writing programs differently
Ds: The programmer has no control over the task distribution
What is a multi-tasking operating system
One that can appear to do more than one task simultaneously on a single processor
What is a multi-user operating system?
One that uses a very powerful computer called a mainframe which lots of users with their own terminals access the mainframe’s CPU and each gets a time slice
What is embedded operating systems
One that’s user interface is simple and minimal with minimal features with limited RAM. Application programs are held in ROM.
Usually found in specific devices like washing machines
What is a real time operating system
One that must respond extremely quickly to inputs and cope with many inputs simultaneously.
When are real time operating systems used
Safety critical environments
If a hardware component fails, the OS must have a failsafe to detect this and respond appropriately
There is hardware redundancy - crucial components are duplicated in case one fails
What does BIOS stand for
Basic Input Output System
Where is BIOS stored
ROM
What does BIOS do
Boots computer at start-up
-initializes and tests hardware
-Loads operating system into RAM
What is a device driver
A program that allows the OS to control a certain hardware device. They are hardware dependent and OS specific
Why are device drivers useful
Os does not need to know the specifics of the hardware to be able to interact with it
What is a virtual machine
Software that is used to emulate the function of a machine
What may a virtual machine be used for
Executing intermediate code (e.g. java bytecode)
Running an OS within another
What is application software?
Software that allows a user to preform a specific task
What are some examples of application software
Word Processor
Spreadsheet
Database
Presentation
Web Browser
Image Editing
What are the different types of application software
General purpose
Special purpose software
Bespoke software
What is general purpose application software
Software designed for many purposes e.g. a word processor
What is special purpose application software
Software designed for a specific task or set of tasks
What is utility software
Software which focuses on the maintenance or administration of a part of the system
List some utility software
Encryption
Defragmentation
Data compression
File Managed
Backup software
Anti-virus
Firewall
What does encryption software do
Software that makes data un-accessible to anyone but specific users or systems. Aids in security
What does antivirus software do?
Scans through the computer system looking for files that are infected. Destroys or isolates the virus infected files to stop damage being caused
What does a firewall do?
Uses ports to deny or allow access of a computer to outside sources
What does disk fragmentation do
Reorganizes where pieces of data are on a hard disk so the pieces of data are next to ones of the same program
What does compression software do
Reduces file size by storing data in a less data consuming format, freeing up space on the hard drive
What does a file manager do
Allows files and directories to be moved, copied, deleted and renamed. Also enables the user to view directory contents
What does backup software do
Archives files onto removable media if the original copy is lost the data is still available
What is a full backup
All files are backed up - usually done on the first backup only.
What is a incremental backup
Only new files or ones that have changed since the last backup are saved in order to save time
What is open source software?
Software that can be freely used, modified, and shared.
What is closed source software
Software whose source code is not available to the user and can not be modified. Often costs money
What are the advantages and disadvantages of Open-Source Software
As: Free, modifiable, if has a large community bugs will often be fixed quickly
Ds: Often no official support, bugs slow to fix with small community