Süsteemprogrammeerimine (ITS8020)
PÕHIANDMED
õppeaine register
A - põhiregister
õppeaine kood
ITS8020
õppeaine nimetus eesti k
Süsteemprogrammeerimine
õppeaine nimetus inglise k
System Programming
õppeaine maht AP
-
õppeaine maht EAP
6.00
deklareeritav
jah
kontrollivorm
eksam
õpetamise semester
sügis
õppekeel
eesti keel
inglise keel
Õppekavad, millesse aine kuulub
kavaversiooni kood
aine kohustuslik
IAFM21/24
ei
IAIM26/26
jah
IAPM02/25
ei
Ainet õpetavad struktuuriüksused
IT - tarkvarateaduse instituut
Ainekaardi link
Tunniplaani link
Vaata tunniplaani
Versioon:
VERSIOONIPÕHISED ANDMED
õppeaine eesmärgid eesti k
Kursuse eesmärk on anda operatsioonisüsteemidele tuginevate sardsüsteemide arenduseks vajalikud alusteadmised ja kogemused. Kursus võrdleb ja üldistab erinevaid operatsioonisüsteeme ja nende kasutusspetsiifikat mitme-tegumi sardsüsteemide rakendustarkvara arenduses.
õppeaine eesmärgid inglise k
The primary goal of this course is to give the participant the knowledge and skills necessary to develop software for embedded computer systems using an operating system. The course will provide knowledge on principles shared by many operating systems, and their use in the development of embedded multitasking application software.
õppeaine õpiväljundid eesti k.
Kursuse edukas läbimine annab teadmised ja oskused:
- täita sardsüsteemide tarkvara arendusülesandeid
- olla tarkvarasüsteemi arhitekt või arendusprojekti juht
- disainida ja realiseerida sardsüsteemide tarkvara kasutades erinevaid operatsioonisüsteeme.
õppeaine õpiväljundid ingl k.
Upon completion of this course, student will be able to:
- solve embedded systems software development tasks;
- be a software system architect or project manager;
- design and implement the software for embedded computer systems using different operating systems.
õppeaine sisu lühikirjeldus eesti k
Kursus algab reaalaja sardsüsteemide põhielementide sissejuhatava tutvustusega. Vaadeldakse mitmetegumi süsteemide protsessoreid ja operatsioonisüsteeme fookusega ettevaataval tegumite plaanimisel, tegumitevahelisel kommunikatsioonil ja sünkroniseerimisel.
Kursus jätkub populaarsemate op. süsteemide tuumateenuste ülevaatega, koos nende rakendusnäidetega. Taimeri teenused, dünaamilised mälujagamise skeemid, võrgu liideste programmeerimine ja draiverite superviisorid. Mitmetegumi reziimi koodiarendus, programmide analüüs ja vigadeotsing.

Teemad on rühmitatud järgmiselt:
- Sardarvutisüsteemide ülevaade: põhimõisted ja probleemid, sisend/väljund, sissejuhatus sardtarkvara arendusse
- OS tuum – multitasking, tegumid ja prioriteedi-põhine ettevaatav planeerimine, ülevaade plaanuritest
- OS: tegumitevaheline kommunikatsioon ja sünkroniseerimine, sõnumid ja sõnumijärjekorrad
- OS tuum (lisateemad): dünaamiline mäluhaldus ja fragmenteerimise probleemid, taimerid (suhteline ja absoluutne ajastamine), asünkroonsed signaalid, superviisor; reaalaja operatsioonisüsteemid.
- Andmeside programmeerimine - soketid, draiverid, katkestuste töötlemine.
õppeaine sisu lühikirjeldus ingl k
The course begins with the fundamental elements of multitasking embedded application software design and development. Processor and operating system concepts relevant to multitasking systems are examined, with focus on preemptive task scheduling, intertask communication and synchronization.
The course continues with a survey of popular operating system kernel services, giving application examples. Topics include timer services, dynamic memory allocation schemes, network communication programming interfaces and device driver supervisors. Multitasking code development is discussed and example programs are reviewed and debugged. Practical experience is gained during student work exercises.
a. Embedded Computer Systems Overview: Embedded Systems I/O, Embedded / Real-Time Systems: Definitions and Issues, Introduction to Embedded Software Development
b. Kernel Basics – Multitasking, Tasks and Priority-Based Preemptive Scheduling, Survey of Task Schedulers
c. OS Basics - Communicating between Tasks: Intertask Communication and Synchronization Overview, Messages and Message Queues
d. Additional OS Kernel Topics Dynamic Memory Allocation: Fragmentation Issues
OS Timers: Relative and Absolute Timing, Asynchronous Signals, Device I/O Supervisor; real-time operating systems.
e. Network Communication Programming: Sockets Interface, Application Software: Device Drivers, Application Software: Interrupt Service Routines
hindamisviis eesti k
-
hindamisviis ingl k
-
iseseisev töö eesti k
-
iseseisev töö ingl k
-
õppekirjandus
https://courses.cs.ttu.ee/pages/ITS8020
õppevormid ja mahud
päevaõpe: nädalatunnid
4.0
sessioonõppe töömahud (semestris):
loenguid
2.0
loenguid
-
praktikume
2.0
praktikume
-
harjutusi
0.0
harjutusi
-
vastutav õppejõud
-
ÕPPEJÕU AINEKAVA INFO
õppetöö semester
õpetav õppejõud / üksus
õppetöö keel
Laiendatud ainekava
2025/2026 sügis
Henri Vasserman, IT - tarkvarateaduse instituut
inglise keel
    Hindamiskriteeriumid.pdf 
    kuva rohkem
    2024/2025 sügis
    Henri Vasserman, IT - tarkvarateaduse instituut
    inglise keel
      2023/2024 sügis
      Henri Vasserman, IT - tarkvarateaduse instituut
      inglise keel
        2022/2023 sügis
        Henri Vasserman, IT - tarkvarateaduse instituut
        inglise keel
          2021/2022 sügis
          Henri Vasserman, IT - tarkvarateaduse instituut
          inglise keel, eesti keel
            Hindamiskriteeriumid.pdf 
            2020/2021 sügis
            Henri Vasserman, IT - tarkvarateaduse instituut
            inglise keel
              Hindamiskriteeriumid.pdf 
              2019/2020 sügis
              Jaagup Irve, IT - tarkvarateaduse instituut
              inglise keel
                Hindamiskriteeriumid.pdf 
                2018/2019 sügis
                Jaagup Irve, IT - tarkvarateaduse instituut
                inglise keel
                  Hindamiskriteeriumid.pdf 
                  Ainekaart eesti keeles
                  Ainekaart inglise keeles