TSEA81 |
Computer Engineering and Real-time Systems, 6 ECTS credits.
/Datorteknik och realtidssystem/
For:
ED
I
Ii
M
Y
|
|
Prel. scheduled
hours: 40
Rec. self-study hours: 120
|
|
Area of Education: Technology
Main field of studies: Computer Engineering, Electrical Engineering
|
|
Advancement level
(G1, G2, A): A
|
|
Aim:
To develop an understanding of hardware/software interactions in computer systems with parallel activities and time constraints, and to develop basic skills for integration of software using a real-time operating system.
After a completed course, the student shall be able to:
- give examples of hardware/software interactions for handling of parallel activities and time constraints
- explain properties of software with parallel activities
- describe the structure, and give examples from the implementation, of a real-time kernel
- summarize how the underlying computer architecture and instruction set influences the implementation of a real-time operating system
- design and implement software with parallel activities and time constraints
- use a real-time operating system
- exhibit basic skills in integration of software and a real-time operating system for a specific computer architecture
|
|
Prerequisites: (valid for students admitted to programmes within which the course is offered)
Computer Hardware and Architecture, Programming and Data Structures, basic knowledge of programming in the C programming language. (If you have used C in your bachelor project in Electronics this is typically enough.)
Note: Admission requirements for non-programme students usually also include admission requirements for the programme and threshhold requirements for progression within the programme, or corresponding.
|
|
Organisation:
The course contains lectures, assignments, and laboratory exercises. The assignments and laboratory exercises constitute a coherent series, where a sequence of assignments give the student basic competence in design and implementation of real-time systems using a real-time operating system. The assignments are performed independently by the students, with support given in lessons with guidance and examination. A selected set of the assignments are also examined by a written report. The assignments are done on a PC, with Windows or Linux.
The laboratory exercises use external hardware, in the form of an embedded system. A first laboratory exercise treats integration and bring-up of a real-time operating system in an embedded system, combined with verification of an application developed in the assignments. A second, and concluding, laboratory exercise treats, using the same embedded system, a larger application, where the knowledge obtained during the course is used and put in a larger context, e.g. using Linux in an embedded system.
The course uses the programming language C.
|
|
Course contents:
Introduction to real-time systems, parallel activities and time constraints, parallel activities on a processor, interrupt-driven systems, foreground/background systems, processes and threads, real-time operating systems, shared resources, mutual exclusion, semaphores, condition variables, message-based systems, structure and implementation of a real-time kernel, context switch implementation, hardware support for parallel activities, interrupts and exceptions, user mode and supervisor mode in a processor, memory protection, virtual addressing, examples of real-time operating systems, examples of industrial applications
|
|
Course literature:
Dahl, Ola: Realtidsprogrammering. Studentlitteratur, 2004
Reference literature: Sloss, A., Symes, D., Wright, C.: ARM System Developer's Guide: Designing and Optimizing System Software, 2004
|
|
Examination: |
|
Written examination Laboratory work and assignements |
2 ECTS 4 ECTS
|
|
|
Grade for the course: The grade for the course is based on the grade from the written exam |
Course language is Swedish.
Department offering the course: ISY.
Director of Studies: Tomas Svensson
Examiner: Andreas Ehliar
Link to the course homepage at the department
Course Syllabus in Swedish
|
|