TRON08010 2013 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;
Describe the fundamental architecture of a modern OS, the key areas where interfacing can occur and the main aspects of modern device drivers.
Demonstrate an understanding of the functions and services offered by the OS device driver framework /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 of the functionality and performance of a device driver implementation
Design, implement and test working solutions to a variety of prescribed device driver problems
Module Assessment Strategies
Continuous Assessment
Written assessments during term
Practical assignments
Final Examination
End of year exam - may contain practical element
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 | Continuous Assessment | Assignment | 20 % | OnGoing | 1,2,3,4 |
2 | Practical assessments | Continuous 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 |
Practical | Engineering Laboratory | Practical work | 2 | Weekly | 2.00 |
Part Time Mode Workload
Type | Location | Description | Hours | Frequency | Avg Workload |
---|---|---|---|---|---|
Lecture | Distance Learning Suite | Lecture | 2 | Weekly | 2.00 |
Practical | Distance Learning Suite | Practical work | 2 | Weekly | 2.00 |
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 |
O'Reilly, Writing device drivers, 3rd edition or latest
Will be advised
None
None