Clearing
Clearing v Česku nařizuje centrální banka. Všechny platby mezi bankami musí přes něj. Proč je clearing nařízen? Nevím?
ČNB má během dne různé ceny za clearing - čímž komerční banky motivuje, aby převody rovnoměrně rozkládaly během dne (a nesposílaly velké balíky transakcí naráz).
To je důvod, proč převody peněz mezi bankami trvají. Nemá to nic společného s (ne)realtimovostí bankovních aplikací. Realtimové aplikace se v bankovním světě používají maximálně v pacemakerech jejich zaměstnanců :-)
Real-timové aplikace:
1) Řeší se HW. Pokud je HW PC platforma (což obecně není problém), tak se řeší jaký je použit časovač (případně se použije extra časovací karta).
2) Řeší se OS. OS může běžet přímo na HW, ale v poslední době je celkem oblíbená situace, že realtimový OS běží nad populárním ne-realtimovým OS (např. nad linuxem, nebo windows).
3) Poté, co mám HW a realtime-OS, tak potom řeším, jaké jazyky tahle kombinace podporuje.
Moje zkušenosti s realtimovými aplikacemi byly všechny v jazyce C. C je určitě typický jazyk v tomhle oboru. Ale určitě to mohou být i jiné jazyky.
Konkrétní příklad:
Průmyslový robot ABB - řídící jednotka je PC s linuxem. Nad linuxem běží RTOS VxWorks. A uživatel píše programy v jazyce RAPID (proprietální věc ABB, syntaxí se nejvíce podobající se asi pascalu).
Konkrétně pro VxWorks se dá programovat v jazyce Ada (historicky se časově kritické aplikace psaly v Adě), nebo v C/C++ (typické) a taky v (pozor!) Javě. Java (a obecně i .NET) nejsou v realtimovém světě úplně mimo, jak by se mohlo zdát. Vtip je v tom, že to pochopitelně neběží na běžném JVM. Googlujte Real-Time Specification for Java.