TRON08015 2019 Operating Systems Interfacing
On completion the learner will have implemented a number of programmed solutions utilising services and interfaces to an operating system.
Learning Outcomes
On completion of this module the learner will/should be able to;
Demonstrate an understanding of dynamic memory services provided by real time operating systems and the motivation behind them.
Demonstrate an understanding of the functions and services offered by the uniform driver API.
Evaluate the main considerations of a device driver design when analysing specific, prescribed interfacing problems.
Identify tools and techniques which can aid testing, debugging and updating the functionality and performance of a device driver implementation.
Design, implement and test working solutions to a variety of prescribed device driver problems.
Teaching and Learning Strategies
Lectures/Lab exercises
Module Assessment Strategies
Continuous Assessment
Written assessments during term
Practical assignments
Final Examination
End of year exam - may contain practical element
Repeat Assessments
This has a 60% final exam. In the event of CA not been submitted for valid reason, the lecturer can at his/her discretion set repeat CA
Module Dependencies
Indicative Syllabus
Indicative Syllabus
OS fundamentals, interfacing and fundamental features of device drivers
OS architecture, identifying and examining key blocks of the OS where interfacing occurs.
Types of device driver: character/block I/O, Uniform API, communicating with the OS, communicating with the device/hardware, interrupt handling, data throughput, initialisation, updating of OS metrics.
Exceptions and Interrupts
Exceptions versus Interrupts, Interrupt Service Routines, Latency, Response, Recovery, Application/Kernel/Driver/Interrupt Level Code, Priority.
Exception handling
Memory Management
Dynamic Memory, Task Stacks, ISR Stack.
Design considerations
Data throughput, Port Mapping, Memory Mapping, Encapsulation, Uniform I/O API, Testing/debugging considerations
Testing and debugging techniques
Tracing, Processor-Specific Code, Testing, porting
Indicative Practicals/Projects
Write tasks, in C, that make use of OS services to aid device driver implementation
Develop a C program that uses a number of device drivers.
Design, write and test device drivers complete with uniform API.
Coursework & Assessment Breakdown
Coursework Assessment
Title | Type | Form | Percent | Week | Learning Outcomes Assessed | |
---|---|---|---|---|---|---|
1 | Written assignments based on learning outcomes | Coursework Assessment | Assignment | 20 % | OnGoing | 1,2,3,4 |
2 | Practical assessments | Coursework Assessment | Assignment | 20 % | OnGoing | 2,3,4,5 |
End of Semester / Year Assessment
Title | Type | Form | Percent | Week | Learning Outcomes Assessed | |
---|---|---|---|---|---|---|
1 | Final Exam Written Exam - May contain practical element | Final Exam | Closed Book Exam | 60 % | End of Semester | 1,2,3,4,5 |
Full Time Mode Workload
Type | Location | Description | Hours | Frequency | Avg Workload |
---|---|---|---|---|---|
Lecture | Lecture Theatre | Theory | 2 | Weekly | 2.00 |
Supervision | Engineering Laboratory | Practical work | 2 | Weekly | 2.00 |
Online Learning Mode Workload
Type | Location | Description | Hours | Frequency | Avg Workload |
---|---|---|---|---|---|
Lecture | Distance Learning Suite | Lecture | 1 | Weekly | 1.00 |
Supervision | Distance Learning Suite | Practical work | 0.5 | Weekly | 0.50 |
Independent Learning | Offsite Facility | Independent Learning | 5.5 | Weekly | 5.50 |
Module Resources
Authors |
Title |
Publishers |
Year |
Qing Li, Caroline Yao |
Real-time Concepts for Embedded Systems |
CMP Books |
2003 |
Jean J. Labrosse |
MicroC/OS-II – The Real-Time Kernel |
CMP Books |
2002 |
Michael Barr |
Programming Embedded Systems in C and C++ |
O'Reilly |
1999 |
None
Will be advised
None
None