1.2- Software and Software Development Flashcards
What are interrupts?
Signals sent to the CPU by software, hardware devices or the processor clock; that are detected, processed and executed according to priority.
How are interrupts used in stacks?
Interrupt detected
Processor stops fetching instructions
Current contents of its registers are pushed onto a stack
How do stacks work?
Stacks are Last-In First-Out data structures,
The last data to be pushed onto the stack will be the first retrieved by CPU
What is the Round-Robin Scheduling Algorithm?
A CPU scheduling algorithm that allocates equal time slices to each process in a cyclical order.
What are the advantages Round-Robin Scheduling Algorithm?
Fairness
Preemptive
Easy to use
What are the disadvantages Round-Robin Scheduling Algorithm?
Low slicing time reduces processor output
More important processes don’t have special priorities.
What is the Shortest Remaining Time Algorithm?
A preemptive CPU scheduling algorithm that selects the process with the shortest amount of time remaining to complete its execution
What are the advantages of the Shortest Remaining Time Algorithm?
Processes with a shorter burst time are executed quickly
Doesn’t constantly switch processes
What are the disadvantages of the Shortest Remaining Time Algorithm?
Longer processes might experience starvation
Elapsed process time must be recorded- more work for processor
What is the First Come First Serve Algorithm?
A CPU scheduling algorithm that executes process in the order they’re received
What are the advantages of the First Come First Serve Algorithm?
Simple
Easy to use
No Starvation
What are the disadvantages of the First Come First Serve Algorithm?
Not preemptive
Higher average waiting time than other algorithms
What is starvation?
When a job is perpetually delayed from being executed
What is the Shortest Job First Algorithm?
A NON-preemptive CPU scheduling algorithm that selects the shortest process to execute first
The total execution time of each job is estimated by the user
What are the advantages of the Shortest Job First Algorithm?
Maximizes the number of tasks that can be completed in a given time interval
What are the disadvantages of the Shortest Job First Algorithm?
Starvation: If there are a steady supply of short processes, long processes may never get to run.
Predicting burst time: It can be difficult to predict the length of the next CPU request.
What are Multi level Feedback Queues?
When multiple queues are created with different priority levels
If a job uses too much CPU time it’s moved to a lower priority queue
But processes experiencing starvation can move to a higher priority queue
What is Polling?
The regular checking of an event to see if it’s occurred or needs attention
What are the advantages of Polling?
Simple
Predictable
What are the disadvantages of Polling?
Uses up processor time to check events
What are the aims of scheduling?
To provide an acceptable response time
What are the types of operating systems?
Distributed
Multitasking
Multi user
Embedded
Real-time
Define overlapping classifications?
When two operating systems can overlap onto the same computer system
What is a distributed operating system?
An OS that can coordinate the processing of a single job across multiple computers
What are the advantages of a distributed operating system?
A program can be run by the user that uses data from other computers on the system
What is a multi-tasking system?
An OS where a single processor can appear to do more than one task simultaneously by scheduling processing time
For example a mobile OS
What is an embedded operating system?
A specialized OS designed to run a specific task for a non-computer device.
What are the features of an embedded operating system?
Minimal features
Programs are held in ROM
Limited RAM Capacity
Simple User Interface
What are is a real-time operating system?
An OS designed for immediate data processing, and can ensure tasks are processed in specific timeframes.
What are advantages of a real-time operating system?
Highly efficient
Useful in safety- critical environments
Provides hardware redundancy