Softwarove systemy 15.9.2021

Odeslat odpověď

Smajlíci
:D :) :( :o :shock: :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode je zapnutý
[img] je zapnutý
[flash] je vypnutý
[url] je zapnuté
Smajlíci jsou zapnutí

Přehled tématu
   

Rozšířit náhled Přehled tématu: Softwarove systemy 15.9.2021

Softwarove systemy 15.9.2021

od matenaja » 15. 9. 2021 16:02

Sešlo se nás šest. Pět lidí prošlo, jeden ne.

Moje zaměření Systémové programování.

1.) ZSV - Základní třídy složitosti a jejich vztahy [Alena Koubková]
Definoval jsem co je TS, NTS. Třídy složitosti TIME, SPACE, NTIME, NSPACE. Bavili jsme se chvíli víceméně obecně o P a NP problémech.
Pak jsem napsal ještě několik vět o hierarchiích. U těch jednoduších jsem popsal důkaz u těžších to nebylo vyžadováno.

2.) Datové struktury - Regulární a binominální haldy [Petr Gregor]
Definice d-regulární haldy, složitosti operací. Definice binominální haldy, potenciál a důkaz amortizovaných složitostí pro línou variantu.
Lehce jsme načali Fibonacciho haldy s náznakem důkazu složitosti, ale to byl asi spíše bonus. Pak ještě přišel kolega Majerech s příkladem záludné datové struktury, která má všechny operace O(1), ale některé nebyly amortizované, a tedy mohli netriviálně zvýšit potenciál, ale asi by také nevadilo, kdybych to nepochopil.

3.) Systémové aspekty počítačů - Synchronizace [Jakub Yaghob]
Co je vlákno, proces, contextswitch. Problémy, které nastávají bez synchronizace jako Deadlock, Race condition. Pak nějaká řešení atomické operace, zámky, semafor. Sdílené přístup pro čtení, exkluzivní pro zápis. Občas mi tam něco trochu skřípalo, ale víceméně v pořádku.

4.) Paralelní a distribuované systémy - Paxos [Filip Zavoral]
Definoval jsem co je distribuovaný systém a distribuovaný konsensus. Role uzlů v Paxosu. Ukázal jsem na obrázku, jak probíhá zapsání nového stavu v Paxosu, jaké se tam posílají zprávy. Nějaké vysvětlení toho, co se stane, když nějaký uzel selže. Pak jsem ještě ukázal několik variant Paxosu, které jsou v praxy více použitelné, ale ve finále stačil MultiPaxos, a pak už mě kolega Zavoral zastavil, že to stačí.

5.) Moderní koncepty programování - OOP, metaprogramování, generika, šablony, reflexe [Martin Kruliš]
Mohl jsem si zvolit jazyk na kterém to chci vysvětlovat (zvolil jsem C#). Šlo se hodně do detailu, víceméně stejně jako na přednášce o pokročilém C#. Občas problém s příkladem využití, Kolega Kruliš chtěl slyšet trochu jiné příklady než si třeba pamatuji z přednášky C#.

Nahoru