Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    Embedded Operating Systems

    A tantárgy neve magyarul / Name of the subject in Hungarian: Beágyazott operációs rendszerek

    Last updated: 2019. január 17.

    Budapest University of Technology and Economics
    Faculty of Electrical Engineering and Informatics
    Electrical Engineering M.Sc.         
    Computer Based Systems Major Specialization         
    Course ID Semester Assessment Credit Tantárgyfélév
    VIAUMA08 1 2/1/0/v 4  
    3. Course coordinator and department Dr. Vajk István,
    4. Instructors

    Name:

    Title:

    Department.:

    Dr. István Vajk

    professor

    Automation and Applied Informatics

    Zoltán Szabó

    engineer

    Automation and Applied Informatics

    Gábor Bányász

    assistant lect.

    Automation and Applied Informatics

    István Oláh

    master lecturer

    Automation and Applied Informatics

       
    5. Required knowledge Basic knowledge in programming using C and C++ language, object oriented system design
    6. Pre-requisites
    Kötelező:
    NEM ( TárgyEredmény( "BMEVIAUM166" , "jegy" , _ ) >= 2
    VAGY
    TárgyEredmény( "BMEVIMIM151" , "jegy" , _ ) >= 2
    VAGY
    TárgyEredmény("BMEVIAUM166", "FELVETEL", AktualisFelev()) > 0
    VAGY
    TárgyEredmény("BMEVIMIM151", "FELVETEL", AktualisFelev()) > 0)

    A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

    A kötelező előtanulmányi rendek grafikus formában itt láthatók.

    Ajánlott:
    7. Objectives, learning outcomes and obtained knowledge 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.
    8. Synopsis 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.


    9. Method of instruction 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.
    10. Assessment
    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%).
    11. Recaps 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).
    12. Consultations Before and after lectures, or upon request, appointed with the lecturer.
    13. References, textbooks and resources 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
    14. Required learning hours and assignment
    Contact hours 42
    Preparation for lectures 14
    Preparation for practices 7
    Preparation for in-class test
     15
    Preparation for the exam 42
    Total
     120
    15. Syllabus prepared by

    Name:

    Title:

    Department.:

    Dr. István Vajk

    professor

    Automation and Applied Informatics

    Zoltán Szabó

    engineer

    Automation and Applied Informatics

    Gábor Bányász

    assistant lect.

    Automation and Applied Informatics

    István Oláh

    master lecturer

    Automation and Applied Informatics