Subject » BMEVIAUMA08
Embedded Operating Systems
Beágyazott operációs rendszerek
A tantárgyleírás hatályossága
Hatályosság kezdete:
2026. March 21.
Hatályosság vége:
—
| Subject name (Hungarian, English) |
Beágyazott operációs rendszerek
Embedded Operating Systems
|
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Subject code | BMEVIAUMA08 | ||||||||||||
| Subject type | — | ||||||||||||
| Training Level | — | ||||||||||||
| Course types and hours (weekly/semester) |
|
||||||||||||
| Assessment type | vizsga | ||||||||||||
| Credits | 4 | ||||||||||||
| Subject coordinator |
Dr. Vajk István
position: egyetemi docens
contact:
vajk.istvan@vik.bme.hu
|
||||||||||||
| Responsible department |
Automatizálási és Alkalmazott Informatikai Tanszék
|
||||||||||||
| Faculty | Villamosmérnöki és Informatikai Kar | ||||||||||||
| Subject website | — | ||||||||||||
| Primary curriculum type | — | ||||||||||||
| Direct prerequisites – Strong prerequisite | none | ||||||||||||
| Direct prerequisites – Weak prerequisite | none | ||||||||||||
| Direct prerequisites – Parallel prerequisite | none | ||||||||||||
| Direct prerequisites – Milestone prerequisite | none | ||||||||||||
| Direct prerequisites – Exclusion | none |
Objectives
Programme
Introduction
Basic services of operating systems, using operating systems in embedded environment. Operating system selection guidelines.
Simple operating systems
The architecture and services of the uCOS-II and the FreeRTOS operating systems. Scheduling algorithm, task registry, supported services, intertask communication.
GNU/Linux operating system
The history and the general features of GNU/Linux operating system. The main components of the Kernel related to real-time operation: scheduling, memory management, interrupt handling. The structure of the Linux operating systems. Most commonly used Unix commands, and the BASH shell command interpreter and programming. Security and authorization is Linux, simple regular expressions, process management.
Embedded Linux
The structure and the components of a minimal x86 based Linux system in details. Common configuration services.
Cross-platform Linux system generation for ARM devices. Automatic embedded Linux system generation tools: Buildroot, OpenEmbedded, Yocto Project. The structure and the usage of the Yocto Project.
Application development for Linux platform
Getting familiar with the development tools: compiler toolchain(gcc), libraries, Makefile, debug tools (gdb, malloc debugs, valgrind, strace), integrated development environments
File abstraction, file handling system calls, i-node handling functions. Concurrent programming: processes, interprocess communication, synchronization. I/O multiplexing and the ioctl system call. Developing real-time applications. Network communication using the Berkley socket API.
Development of Linux kernel modules
The basics of the kernel development. Using, writing and compiling kernel modules. Parameter passing to kernel modules. Structure of a character based device driver. Device driver registration procedure. Handling concurrency in the kernel: atomic operations, spinlock, semaphore, mutex, reader/writer constructions. I/O port and interrupt handling in practice.
Embedded Windows operating systems
Windows in the world of embedded systems. The architecture and the services of Windows Embedded and the Windows Embedded Compact. Scheduling, synchronization objects, interrupt handling. BSP implementation, driver models. Native WinAPI application development.
QNX operating system
The structure of QNX. Kernel services, scheduling, interrupt mechanism, network handling. Creating embedded systems using QNX. QNX from the view of an end user. Application development for QNX operating system.
Basic services of operating systems, using operating systems in embedded environment. Operating system selection guidelines.
Simple operating systems
The architecture and services of the uCOS-II and the FreeRTOS operating systems. Scheduling algorithm, task registry, supported services, intertask communication.
GNU/Linux operating system
The history and the general features of GNU/Linux operating system. The main components of the Kernel related to real-time operation: scheduling, memory management, interrupt handling. The structure of the Linux operating systems. Most commonly used Unix commands, and the BASH shell command interpreter and programming. Security and authorization is Linux, simple regular expressions, process management.
Embedded Linux
The structure and the components of a minimal x86 based Linux system in details. Common configuration services.
Cross-platform Linux system generation for ARM devices. Automatic embedded Linux system generation tools: Buildroot, OpenEmbedded, Yocto Project. The structure and the usage of the Yocto Project.
Application development for Linux platform
Getting familiar with the development tools: compiler toolchain(gcc), libraries, Makefile, debug tools (gdb, malloc debugs, valgrind, strace), integrated development environments
File abstraction, file handling system calls, i-node handling functions. Concurrent programming: processes, interprocess communication, synchronization. I/O multiplexing and the ioctl system call. Developing real-time applications. Network communication using the Berkley socket API.
Development of Linux kernel modules
The basics of the kernel development. Using, writing and compiling kernel modules. Parameter passing to kernel modules. Structure of a character based device driver. Device driver registration procedure. Handling concurrency in the kernel: atomic operations, spinlock, semaphore, mutex, reader/writer constructions. I/O port and interrupt handling in practice.
Embedded Windows operating systems
Windows in the world of embedded systems. The architecture and the services of Windows Embedded and the Windows Embedded Compact. Scheduling, synchronization objects, interrupt handling. BSP implementation, driver models. Native WinAPI application development.
QNX operating system
The structure of QNX. Kernel services, scheduling, interrupt mechanism, network handling. Creating embedded systems using QNX. QNX from the view of an end user. Application development for QNX operating system.
The students will be able to understand and make use of the basic
concepts of embedded operating systems. The objective of the course is
to present platforms, techniques and tools which are required to create
and run both application and system level software for embedded systems.
The topics covered are
illustrated by case studies and demo applications.
Learning outcomes
Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:
Knowledge
No learning outcomes recorded.
Skills
No learning outcomes recorded.
Attitudes
No learning outcomes recorded.
Autonomy and responsibility
No learning outcomes recorded.
Oktatási módszertan
The course consists of lectures and practices, which are alternating during the semester. The lectures mainly contain the theoretical background and case studies are presented in practices.
Tanulástámogató anyagok
Online források
Szabó Z., Bányász G., Oláh I..: Embedded operating systems (Electronic lecture notes). BME AUT, 2014.; Asztalos Márk, Bányász Gábor, Levendovszky Tihamér: Linux programozás, Szak Kiadó 2013
Recommended preliminary knowledge for completing the subject
Knowledge type competencies
(azon előzetes ismeretek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
Basic knowledge in programming using C and C++ language, object oriented system design
Skill type competencies
(azon előzetes képességek és készségek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
nincs
Recommended (non-compulsory) preliminary competencies
(azon ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák összessége, amelyek jelentősen hozzájárulnak a tantárgy eredményes teljesítéséhez)
Basic knowledge in programming using C and C++ language, object oriented system design
General rules
Requirements:
In lecture term:
An in-class term test
In examination period:
Written exam
Pre-exam:upon request
The requisite of the mid-term signature is to attend at the in-class term test and have at least satisfactory result. The requisite of attending at an exam is having the mid-term signature. The credits can be obtained by reaching at least satisfactory result at the exam. The grade consists of two parts: the grade of the mid-term test (30%) and the grade of the exam (70%).
Additional possibilities:
The in-class term test can be repeated once during the semester and once during the repeat period in accordance with the Code of Studies and Exams (CSE).
Assessment methods
In-term assessments
No detailed assessments provided.
Weight of in-term assessments
No weights provided.
Exam-period assessments
No detailed assessments provided.
Weight of exam elements
No weights provided.
Grade calculation
No grade thresholds provided.
Attendance requirements
No attendance requirements provided.
Rules for retake and resubmission
Not provided.
Short description
Not provided.
Detailed description
Not provided.
Recommended courses
–
Workload to complete the subject
No workload breakdown provided.
Validity of subject requirements
Requirements valid from:
—
Requirements valid until:
—
Curriculum placement
No curriculum placements recorded for this subject version.