Section 3: Software, Synchro and Device Drivers Flashcards
What are the three abstraction layers of software?
From most abstract to least abstract: Main Program, Functional Layer, Hardware Abstraction Layer.
What is the purpose of the main program
Completely abstract code. May make use of functional layer APIs
What is the purpose of the functional layer?
The functional layer maps api actions into hardware calls
What is the purpoe of the hardware abstraction layer
The hardware abstraction layer comminucates with IO devices via ports, handles synchronization using polling and other low level operations
What are CPU and device Latency?
CPU latency: The time between the reciept of a service request and the beginning of processing. Device Latency: The amount of time between a request being sent and a response being recieved. CPU Latency < Device Latency
What is a real time system?
A system that garuntees worst case latency
What is Latency
The time between arrival of request and completion of service. Could consider avg or worst case
What is throughput
Measure of #of items processed per unit time
What are the five types of sychronization mechanisms
Blind Polling, Ocassional Polling, Periodic Polling, Tight Polling, Interrupt Handling
What is Blind Cycle Syncrho
Grab data at software’s convenience regardless of device status
What is Ocassional Polling
Device status is checked at a variable frequency (at designer’s convenience)
What is periodic polling
Device status is checked at a set frequency
What is Tight Polling
The software does no other meaningful work other than checking if the device is ready (empty loop)
What is Interrupt Handling
Device requests service from cpu by sending an interrupt signal
What is CPU oriented sychronization? Which mechanisms follow this?
Device waits for cpu (blind cycle, ocassional polling, periodic polling)