Sterowniki dla systemu Linux

Język wykładowy Polski
Semestr Letni
Status W ofercie
Opiekun Krystian Bacławski
Liczba godzin 30 (wyk.) 30 (ćw-prac.)
Rodzaj I2.Z - zastosowania inf.
ECTS 6
Polecany dla I roku Nie
Egzamin Tak
Tagi SY (systemy sieciowe i komputerowe)

Opis przedmiotu:

Zajęcia będą przez Krystiana Bacławskiego z Instytutu Informatyki UWr i Karola Gugałę z firmy [Antmicro](https://antmicro.com/). Krystian będzie odpowiadał za część teoretyczną, a Karol za część praktyczną zajęć. Zajęcia będą prowadzone zgodnie z poniższą tabelką: | godziny | tydzień nieparzysty | tydzień parzysty | |:-------:|:-------------------:|:--------------------:| | xx-yy | pracownia (Karol) | wykład (Karol) | | yy-zz | wykład (Krystian) | ćwiczenia (Krystian) | Na ćwiczeniach będziemy omawiać najważniesze zagadnienia wprowadzające w świat jądra Linux. Omówimy tematy, których nie poruszono na przedmiocie ASK, tj. model uprzywilejowany procesora, kontrolery przerwań, MMIO, DMA, modele spójności pamięci, komunikację międzyprocesorową. Wprowadzimy Was w ograniczenia pracy w jądrze. Opowiemy o podziale jądra na dolną i górną połówkę, metodach delegacji zadań, synchronizacji wątków, algorytmach przydziału pamięci i wirtualnym systemie plików. Na pracowniach będziemy rozwijać sterownik do sensora podłączonego przez magistralę I²C (IMU lub temperatury i wilgotności). Każde spotkanie zaczniemy od wprowadzenia do tematu, a dalej przełączymy się na pisanie kodu. Po każdych zajęciach sterownik będzie implementował coraz więcej funkcjonalności. System Linux będziemy uruchamiać pod kontrolą Renode symulującego płytkę rozwojową na procesorze RISC-V. Studenci w ramach projektu końcowego będą podpinać wybrany sensor do prawdziwego sprzętu, np. Arty-A7 100.