5

Systémové programovanie (UINF/SPR1b) 2011

 2 years ago
source link: https://novotnyr.github.io/courses/systemove-programovanie-spr1b-2011/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Systémové programovanie (UINF/SPR1b) 2011

Systémové programovanie (UINF/SPR1b) 2011

2011/02/15

Sumár

Prednáška: utorok, 8.55, P10

Praktické cvičenie: streda, 15:00, P7

Prednášky

15. 2. 2011

Prezentácia PDF

Procesy, fork/exec, ps, kill. Zombie procesy, wait()

22. 2. 2011

Bash skripting. Základné princípy, programové štruktúry. Premenné. Expanzia premenných. Spúšťanie procesov.

1. 3. 2011

Prezentácia PDF

Procesy, fork/exec, ps, kill. Zombie procesy, wait()

8. 3. 2011

Prezentácia PDF

Atribúty vlákna. Kritické sekcie. Race conditions. Mutexy ako metóda prístupu k zdieľaným dátam. Druhy mutexov v UNIXe. Semafory ako metóda konkurentného prístupu k zdieľaným prostriedkom.

15. 3. 2011

Prezentácia PDF

Úvod do programovania v GTK. Widgety, signály widgetov. Layout pomocou boxov a tabuliek.

22. 3. 2011

29. 3. 2011

Prezentácia PDF

Vývoj rozhraní v GTK pomocou nástroja Glade. Definícia rozhraní v XML, načítanie v kóde, mapovanie signálov.

5. 4. 2011

Prezentácia PDF

Android: životný cyklus aplikácie, spôsoby ukladania stavu: saveInstanceState, bundles, SharedPreferences, content resolvers.

Cvičenia

16. 2. 2011

Inštalácia VirtualBoxu. Inštalácia Debianu. Základné príkazy.

22. 2. 2011

1. 3. 2011

9. 3. 2011

Vytvorte triviálny program, ktorý neustále vypisuje dokola “Ahoj”. Pozorujte správanie a procesorovú spotrebu pomocou príkazu top.

Dodajte použitie systémového volania sleep() a opäť pozorujte spotrebu CPU.

Vytvorte program, ktorý emuluje top, teda každé tri sekundy vypľuje na obrazovku päť procesov, ktoré najviac spotrebúvavajú procesorový čas. Aplikácia nech reaguje na signál SIGUSR1, pri ktorom zapíše štatistiky o príslušných piatich procesoch do súboru psdump.txt

Rady:

  • textové konzoly v Debiane môžete prepínať cez Ctrl-Alt-F1 až Ctrl-Alt-F5.
  • vytvorte si makefile s implicitným cieľom run na vrchu
  • ak používate signal.h, nezabudnite deklarovať #DEFINE _POSIX_C_SOURCE pretože inak neuvidíte systémové volania.
  • nezabudnite, že obsluha signálu musí byť čo najkratšia! Vo funkcii teda neotvárajte súbory, ani nespúšťajte iné procesy. Použite na to atomický integer v úlohe príznaku.

6. 4. 2011

Vytvorte aplikáciu „Debilníček". Definujte udalosť, u ktorej evidujte názov a deadline. Zobrazte udalosti v rámci jednej aktivity a vytvorte druhú aktivitu, ktorou môžete pridať novú udalosť do debilníčka. Udalosti ukladajte do SQLite databázy.

ukážkový kód

Zdroje

Zadanie

Majme daný súbor http://ics.upjs.sk/~novotnyr/home/skola/systemove_programovanie/2010/leto/rozvrh.xml obsahujúci dáta o rozvrhu hodín. Vytvorte aplikáciu pre platformu Android spĺňajúce nasledovné kritériá:

  • hodnotenie E:
    • aplikácia zobrazí rozvrh hodín prehľadným spôsobom. Využiť môžete komponent ListView.
    • aplikácia na začiatku životného cyklu stiahne dáta zo zadanej URL adresy. Ďalšia aktualizácia dát nech je realizovaná manuálne, z menu pomocou položky §§Aktualizovať dáta§§.
    • aplikácia nech obsahuje možnosť filtrovať položky v rozvrhu len na jeden deň (napr. na pondelok).
  • hodnotenie D
    • aplikácia obsahuje vhodný objektový model pre jednotlivé elementy XML súboru tak, aby v prípade potreby ju bolo možné zmigrovať na iný vstupný formát dát (napr. JSON)
  • hodnotenie C
    • aplikácia je schopná automaticky periodicky aktualizovať rozvrh v pevne zvolenom intervale. Inšpirujte sa článkom Updating the UI from the timer
  • hodnotenie B
    • aplikácia automaticky zobrazuje len aktivity pre aktuálny deň, ktorý sa zistí automaticky zo systémového času.
    • výber iného konkrétneho dňa, pre ktorý sa zobrazí rozvrh, je realizovaný pomocou AlertDialogu.
  • hodnotenie A
    • aplikácia umožňuje pridávať vlastné rozvrhové aktivity (napr. semináre), ktoré sú uložené v relačnej databáze. Zobrazovanie vlastných aktivít je automaticky integrované s aktivitami zo súboru XML.

Pomôcť vám môže kostra projektu vytvorená na cvičení.

Riešenie je potrebné zaslať mailom do 5. 5. 2011. Projekt nie je potrebné obhájiť osobne, ale vyvarujte sa plagiátorstva. Vzájomná konzultácia projektov je v poriadku, identické zdrojové kódy budú trestané dodatočnými úlohami.

Zdroje k Androidu


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK