Eurooppalainen avoimen koodin sulautettu käyttöjärjestelmä

Tuo ehkä turhan väheksyvä sävy.. "teeteekookoolla" kyllä pätevää sakkia, tunnen aika liudan ihmisiä jotka siellä, töissä tai opiskelleet.. itse en.. tiedä olisko päässyt jos olis hakenut.

En tiedä kvanttikoneista, mutta epäilen, että ehkä sellaisen täysin hyödyntämiseksi vielä nykyään pitää tuntea enemmän tuota tietojenkäsittelyä ja laitteen rakennetta, että etua "perinnetekniikkaan" saavuttaa. Luulisin paremmin tietämättä, että toisaalta joku hyvä tekoälymalli jo nykyisellään auttaa enempi tavistasoisia syötteiden muodostamiseen, mutta toisaalta miten tulosten laatu sitten tarkistetaan, pitää osata menetelmät jolla voidaan ristiin testata pois akuankkaviat ja sekä tekoälyn mahdollinen dadailu.
---
Mihin tarvitaan muuten kilohertsiluokan mittausta akun impedanssin mittaamiseen? Mikä on akun impedanssi edes? Tavikselle riittää 0Hz taajuudella todeten yleismittarilla onko täysi, sökö vai tyhjä. Mutta toki pitää osata mittaus, myös silloinkin, kun on korkeampaa tekniikkaa käsillä. Tutkijoiden kanssa joskus ollut sitä, että pitää olla vitusti desimaaleja. Mikä on jossakin messuständillä oleva lämpötilanmittaus, desimaaleja ainakin neljä ja ne viimeiset luvut liikkumattomia sekusntitolkulla, mitä se mittaa oikeasti jos anturi on huoneilmassa? Vähän epäilen.
On jo käytössä muutaman kymmenen k€:n akkulaturi, mutta jostain syystä NiCd akkujen impedanssimittaus mättää. Syy on (vielä) epäselvä, mutta noissa (ja eritysesti litiumakuissa) pitäisi käyttää korkeampaa taajuutta (tai litiumakuissa itse asiassa sweeppaavaa mittausta = Electrochemical Impedance Spectroscopy ).

Sen mittaamiseen pitäisi vaan olla tuommoinen "cost effective" vekotin...


Akkupakettien eliniän kannalta impedanssi on olennainen parametri.

Muoks: On syytä kiireesti korostaa ylläpidolle, ettei ketju rönsyile nyt ollenkaan, koska nuo VLSI:n laudan muuntimet sopisi just hyvin TSIRK (tee-se-itse-ja-riko-kaikki) -miehelle tuommoisen EIS -vekottimen tekemiseen. :oldtimer:
 
Viimeksi muokattu:
Kyllä toi 100hz:kin on jäänyt historiaan jo joskus n.20vuotta sitten.
Vanhoissa Unixeissa prosessinvaihtotaajuus oli 50Hz, mikä on riittävä "ihmisvasteeksi".

Moniydin- moniajovehkeissä aihe on monimutkainen:


...100Hz riittää hyvin "ihmisvasteeksi", eikä se ratkaise mitään, jos se nostetaan esim. 200Hz:iin.

VoiIP:n myötä audiovaste on muodostunut kriittiseksi, joten VLSI Solutions on hyvin "linuxin reaaliaikavasteen ytimessä".

Tuolta voivat kiinnostuneet lukea lisää aiheesta:


Uusimmissa kerneleissä pitäisi olla RT-ominaisuuksia:


Tuossa VLSI:n RISC-V laudassa siis Kernel ver. 6.1, jossa ei taida vielä olla noita RT-ominaisuuksia:

 
Viimeksi muokattu:
RISC-V tuki on kehittymässä:


Nuo Linuxin RT-osat on näköjään kehitetty Euroopassa:


...mutta Intel osti ko. firman kolme vuotta sitten:


EU:lta aika tyhmää sallia tämäntyppisen firman myynti USA:aan:


...onneksi on erityisiä syitä, miksi joitain virmoja ei voi USA ostaa :cool:
 
Viimeksi muokattu:
..mutta woke on näköjään kernelin kehityksessäkin. Olikohan tämä tapaus syynä, kun Linus vetäytyi vähäksi aikaa kernelin kehitysvastuusta:


...tuossa jupakassa on ollut mukana myös Thomas Gleixner, joten tuota RT-linuxia on väännetty ainakin v. 2013 asti.

...tuolla lisää tapauksesta:

 
Viimeksi muokattu:
Linux kernelin ylläpitäjä Greg Kroah Hartman esittelee Linux kerneliä ja sen tekijöitä:



Tässä muutamia metriikoita:

Linux kernelissä on n. 9 miljoonaa lähdekoodiriviä, joista n. 55% ajureita, 5% keskeistä kernelkoodia.

Uusi kernel versio tulee muutaman kerran vuodessa, ja päivitystä tehdessä lisätään n. 4300 riviä per päivä, poistetaan 1800 per päivä ja muokataan 1500 riviä per päivä (tämä siis v. 2007-2008 joten varmaan luvut vielä suurempia tällä hetkellä).

Kernelin kehittäjiä on kaikkiaan ollut n. 13000-15000 (erilaisia lukuja löytyy), aktiivisia kehittäjiä v. 2008 oli n. 600. Laiteajurit varmaan selittää tuota eroa.

Ei ole enää ketään yksittäistä henkilöä joka tietäisi kuinka koko kerneli toimii, myös Linus on todennut ettei edes hän enää tiedä kaikkia yksityiskohtia kernelin rakenteesta. Tuosta koodista esim. 10% tarkistaminen "matojen" varalta alkaa olla aika iso homma...

Tuolla listattu eniten koodia 6.1 versioon tehneet:


...tuossa on huomattava, että esim. Huawei on nykyjään iso tekijä kernelin kehittämisessä...
 
Viimeksi muokattu:
Haluaisin tässä kohdassa huomauttaa että ylläolevat näkemykset edustava ketjun aloittajan omia mielipiteitä ja tulkintoja aiheista, eivätkä välttämättä laajemmin koko foorumin kantaa asioihin.
 
Itsellä taisi olla suurimmat ohjelmat 1000-2000 C-kielistä ja 100-300 riviä ASM:ia (siististi linkattuna ilman inline-koodia), mutta minulla on koodauskäsiala hyvin minimalistinen, ja tuo vastannee 5000-10000 riviä "normaalikoodia". Firmassa oli kaksi huippukoodajaa, ja heilläkin sama softa oli yleensä 2-3 kertaa isompi vaikka koodi sinällään oli optimoitu (suuri koko selittyy lähinnä tarpeettomien ominaisuuksien takia).

Tuossa videossa se on sanottu epäselvästi, mutta ymmärsin niin että eri arkkitehtuurien koodit vievät puuttuvan 40%, joten "aktiivinen" koodirivien määrä voisi olla n. miljoona. Minulla on vieläkin (itsetehty) kehityslauta 8031:lle ja em. 2000 rivin koodilla on tehty varsin täydellinen non-pre-emptive reaaliaikakäyttäjärjestelmä, jossa 20MHz Dallaksen mikro-ohjain.

Nykyään näkyy noita olevan jo 33MHz kellolla:


En nyt enää muista, mikä vaste noilla saadaan, mutta muistaaksesi 100us PWM oli toteutettu ja se vei jo liikaa prosessoriaikaa, joten tuota luokkaa se varmaan käytännössä on.

Lueskelin jostain RT-linuxin keskusteluista, että kymmeniä mikrosekunteja keskeystyspalvelu voisi olla, joka suuruusluokkana voisi pitääkin paikkansa. Moniydin/moniajo -ympäristössä asiat ovat vaan aika kompleksisia kaikkine mutex/spinlock -juttuineen, joten käytännössä voi olla jotain muuta.

Tuota RT-linuxia on ilmeisesti värkätty jo 20 vuotta, joten 6.12 on aika iso merkkipaalu linuxin historiassa. Se, onko järkevää roikottaa 9 miljoonaa koodiriviä mukana, jos saman homman voisi tehdä 2000 rivillä 8031:lla on sitten mielenkiintoinen juttu.

Tuo miljoona linux-kernelin koodiriviä pyörii kyllä hyvin 6€ A20 -piirissä, joten sinällään se ei ole ongelma, jos softan ylläpito toimii. Erityisesti uusien laiteistoajurien tekeminen ja HW:n lisääminen pitäisi oll helppoa, mutta 6.12 RT-linuxissa RISC-V:ssä ne saattavat tulla ongelmiksi.

Sulautettuihin hommiin linux on kasvamassa liian suureksi, mutta voisi olla että RISC-V:n MMU:lla kompleksisuutta voisi siirtää SOC:ille, missä siitä on vähemmän haittaa (=ohjelmointiresursseja voidaan keskittää helpommin SOC-kehitykseen kuin sovelluspuolelle).

Tuo mijloona pitäisi vielä kutistaa kymmenesosaan, niin alkaisi olla järkevä sulautettuihin hommiin...
 
Tuossa kernelin kehitylsessä on muuten aika mielenkiintoisia projektihallinnollisia elementtejä. Greg Kroah Hartman esittää videolla, että kernelin aktiivisia koodaajia oli v. 2008 n. 2400, eli johdettavana aikamoinen joukko tunnetusti hankalia "gurupersoonia". Hän myös kertoo, että Linux-kernel -projektin ominaispiirre on koodaajien jatkuva vaihtuminen. jos jonkun paketin ylläpitäjä "katoaa", keskusteluryhmissä asia todetaan ja ylläpitoa jatkaa joku muu. Koodia voi muuttaa myös joku muu kuin ylläpitäjä, mutta ylläpitäjällä on oikeus poista muutokset, jos ne eivät ole hyviä. Greg esittää, että kernelin kehitysprosessi on "hallittu kaaos", mutta on käytännössä toiminut hyvin.

Tuo näyttää perustuvan Linuksen henkilökohtaiseen kykyyn asioida noiden "aspergertyyppisten" koodaajien kanssa ja saada sekä avoin keskusteluilmapiiri aikaiseksi että pakottaa tarvittavat kompromissit kokonaisuuden pitämiseksi kasassa.

Tuossa tulee varmasti ongelmia siinä vaiheessa kun Linus joutuu jäämään pois (viimeistään 100 vuotiaana), koska mikään rekrytointiprosessi ei voi löytää vastaavaa asiantuntemusta, asiantuntijajohtajuutta eikä persoonallisuutta Linuksen työn jatkajaksi.
 
Tuota RT-linuxia on ilmeisesti värkätty jo 20 vuotta, joten 6.12 on aika iso merkkipaalu linuxin historiassa. Se, onko järkevää roikottaa 9 miljoonaa koodiriviä mukana, jos saman homman voisi tehdä 2000 rivillä 8031:lla on sitten mielenkiintoinen juttu.
On kyllä mielenkiintoisuudessaan kuin vertais kiviä ja värikyniä vesipiirrustuksen tekoon:tapu:
 
...

En nyt enää muista, mikä vaste noilla saadaan, mutta muistaaksesi 100us PWM oli toteutettu ja se vei jo liikaa prosessoriaikaa, joten tuota luokkaa se varmaan käytännössä on.

Lueskelin jostain RT-linuxin keskusteluista, että kymmeniä mikrosekunteja keskeystyspalvelu voisi olla, joka suuruusluokkana voisi pitääkin paikkansa. Moniydin/moniajo -ympäristössä asiat ovat vaan aika kompleksisia kaikkine mutex/spinlock -juttuineen, joten käytännössä voi olla jotain muuta.

Tuota RT-linuxia on ilmeisesti värkätty jo 20 vuotta, joten 6.12 on aika iso merkkipaalu linuxin historiassa. Se, onko järkevää roikottaa 9 miljoonaa koodiriviä mukana, jos saman homman voisi tehdä 2000 rivillä 8031:lla on sitten mielenkiintoinen juttu.

Tuo miljoona linux-kernelin koodiriviä pyörii kyllä hyvin 6€ A20 -piirissä, joten sinällään se ei ole ongelma, jos softan ylläpito toimii. Erityisesti uusien laiteistoajurien tekeminen ja HW:n lisääminen pitäisi oll helppoa, mutta 6.12 RT-linuxissa RISC-V:ssä ne saattavat tulla ongelmiksi.

Sulautettuihin hommiin linux on kasvamassa liian suureksi, mutta voisi olla että RISC-V:n MMU:lla kompleksisuutta voisi siirtää SOC:ille, missä siitä on vähemmän haittaa (=ohjelmointiresursseja voidaan keskittää helpommin SOC-kehitykseen kuin sovelluspuolelle).

Tuo mijloona pitäisi vielä kutistaa kymmenesosaan, niin alkaisi olla järkevä sulautettuihin hommiin...

Onko sitten järkevä ajatus se, että kaikki tehtävät ajatellaan hoidettavan yhden käyttiksen prosesseissa, kun nopeutta vaativiin asioihin voi olla järkevää käyttää dedikoituja piirejä tai mikrokontrollereita aikakriittisiin asioihin.

Itse en niinkään ole enkä halua olla mitenkään koodari, omat asiat on varsin laitteistonläheisiä ja jätän mielellään isommat koodausprokkikset niille joilla on parempi työkalujen ja korkeampien kielten hallinta. Mun koodit on maksimissaan "muutaman aanelosen" mittaisia usein.

PWM:stä sen verran, että jotenkin mutuilisin asiaa siihen suuntaan, että jo aika vaatimattomissa mikrokontrollereissa on erillinen PWM-yksikkö ja vain muutamaa rekisteriä manipuloimalla prossun IO-nastan saa PWM:ää suoltamaan ja voi olla 99% prosessoriaikaa muuhun, jos ei tarvitse taajuus ja pulssinleveystietoa päivittää. Eli sanoisin että jos tuleen ongelmaksi prosessoriajan käyttö PWM tuottamiseen, saattaa prosessori/kontrollerivalinta olla silloin väärä.

Myös vaatimattomissa mikrokontrollereissa on monenlaisia hardistason laskureita ja ajastimia joten jonkin asian ajastus tai pulssin tuotto, laskeminen ja tietyn kohdan tai ylivuodon satuttua keskeytysrutiinilla homman hoito onnistuu niinikään vaatimattomalla prossuajan käytöllä.

Tuommoinen laskurihomma voi olla jopa yksinkertainen sovellus himmentimestä, verkkojakson nollakohta tunnistetaan IO-nastan muutoskeskeytyksellä ja siitä hardislaskurilla lasketaan triakin/tyristorin jne liipaisun ajankohta... No esimerkki yhdestä sovelluksesta jotasin 01..03 haarukassa kun kaverille rakennettiin himmennyksiä taloon ja valmistuotetta ei ollut järkevää.
 
Onko sitten järkevä ajatus se, että kaikki tehtävät ajatellaan hoidettavan yhden käyttiksen prosesseissa, kun nopeutta vaativiin asioihin voi olla järkevää käyttää dedikoituja piirejä tai mikrokontrollereita aikakriittisiin asioihin.

Itse en niinkään ole enkä halua olla mitenkään koodari, omat asiat on varsin laitteistonläheisiä ja jätän mielellään isommat koodausprokkikset niille joilla on parempi työkalujen ja korkeampien kielten hallinta. Mun koodit on maksimissaan "muutaman aanelosen" mittaisia usein.

PWM:stä sen verran, että jotenkin mutuilisin asiaa siihen suuntaan, että jo aika vaatimattomissa mikrokontrollereissa on erillinen PWM-yksikkö ja vain muutamaa rekisteriä manipuloimalla prossun IO-nastan saa PWM:ää suoltamaan ja voi olla 99% prosessoriaikaa muuhun, jos ei tarvitse taajuus ja pulssinleveystietoa päivittää. Eli sanoisin että jos tuleen ongelmaksi prosessoriajan käyttö PWM tuottamiseen, saattaa prosessori/kontrollerivalinta olla silloin väärä.

Myös vaatimattomissa mikrokontrollereissa on monenlaisia hardistason laskureita ja ajastimia joten jonkin asian ajastus tai pulssin tuotto, laskeminen ja tietyn kohdan tai ylivuodon satuttua keskeytysrutiinilla homman hoito onnistuu niinikään vaatimattomalla prossuajan käytöllä.

Tuommoinen laskurihomma voi olla jopa yksinkertainen sovellus himmentimestä, verkkojakson nollakohta tunnistetaan IO-nastan muutoskeskeytyksellä ja siitä hardislaskurilla lasketaan triakin/tyristorin jne liipaisun ajankohta... No esimerkki yhdestä sovelluksesta jotasin 01..03 haarukassa kun kaverille rakennettiin himmennyksiä taloon ja valmistuotetta ei ollut järkevää.
Täytyy muistaa, että n. 25 vuotta sitten kun noita koodasin, mikro-ohjain oli 8 bittinen ja kellotaajuus n. 5MHz. PWM-signaali tehtiin, koska silloin DA-muunninpiirit oli kallita ja tuon voi toteuttaa PWM-signaalilla, konkalla ja vastuksella halvalla. Ongelmaksi tulee kondensaattori, jos haluaa välttää ongelmallisen elkon käytön, pitää nostaa kellotaajuutta, joka silloin söi liikaa prosessorikaistaa (oliko itsesään jo n. 20%). Tuo ei vielä ole ongelma, mutta kun samalla ajastinkeskytyksellä joudutaan tekemään muutakin (koska oli vain pari ajastinta), ja kaikki syö tarpeettomasti prosessorikaistaa, koska ne eivät olisi vaatinut tuota vastetta. Tuon voi kyllä kiertää näppärällä koodilla, mutta siitä seuraa pari muuta ikävää sivuseurausta.

Nykyään noissa on ajastimia monta, kellot liikkuu gigoissa ja melkein aina käytössä sisäisia muuntimia ja ulkoiset maksaa 5€, joten tilanne erilainen.

Tuo, että onko järkevää tehdä linuxilla reaaliaikajuttuja, on ylipäätään mielenkiintoinen kysymys. Noissa VLSI Solutionsin SOC:eissa on tällä hetkellä käytössä "perinteinen" ratkaisu, jossa reaaliaikakriittisiä hommia tekee toinen käyttöjärjestelmä. Nuo SOC:it muuttavat tilannetta, 5€ mikopiirissä voi pyöriä "tarpeettoman" raskas ja monimutkainen linuxkernelin, jos sen käyttö olisi yksinkertaista. Jos keskeytysrutiini voidaan hoitaa esim. 20us:ssa, sillä tekee jo vaikka ja mitä.
 
Viimeksi muokattu:
...mutta perusongelma on ennallaan, tai oikeastaan vielä korostuneempi kun nyt otetaan käyttöön tuota 6.12 kerneliä. Moniydin- ja moniajomaailmassa tuon prosessinvaihtokoneen non-pre-emptive "pakkopysäytys" on hyvin vaikea juttu ja toiminta käytännössä on hyvin suuri kysymysmerkki.

RISC-V on kyllä näköjään hyvin huomioitu kernelin kehitysresursseissa ja aika selvä on että RISC-V:n MMU kehitys muodostaa mallin linuxin RT-käyttöön. Tämä VLSI Solution:sin SOC on aivan RISC-V:n ja linuxin kernelin kehityksen ytimessä ja yrityksenä aivan selvä "yksisarvinen" jos suomalaiset eivät vaan (taas) kämmää rahoitusta, ja kiina/USA ostaa sen pois pilkkahinnalla.
 
Viimeksi muokattu:
...mutta tätä on nyt tutkailtu sen verran, että otan tämän VLSI Solutions:in SOC:in nyt kokeilukäyttöön. Juuri sain testaitua noita relekäyttöisiä pelletti-hakepolttimen turvajärjestelmiä, ja näyttää pelaavan sen verran ettei ohjaustietokonetta välttämättä tarvitse. Hyötysuhdekin on jo ennakoitua parempi ja happisuhde pysyy kiinteällä säädöllä 3-6% (max. 2-7%) välillä eikä nokea kattilaa niin riittää noinkin. Eli ei ole kiirettä "tietokoneistamisella", ja voi tulla aika pitkä projekti, kun mm. valmiit termoparikortit puuttuvat tästä kortista.

Omaa työaikaa käyttää tähän on aika vähän (toistaiseksi), kun on kaikenlaista muuta meneillään, mutta neuvotteluja käydään...
 
Haluaisin tässä kohdassa huomauttaa että ylläolevat näkemykset edustava ketjun aloittajan omia mielipiteitä ja tulkintoja aiheista, eivätkä välttämättä laajemmin koko foorumin kantaa asioihin.

:)
Tässä projektissa on mun mielestä vähän samaa henkeä kuin Kummelin Kulmasohvassa.

Hmjoo. Minusta on mukavaa, että nimim. alfred_j_kwak jaksaa kommentoida ketjussa.

Varmaan tuttua jokaiselle rakentelijalle, että kylältä aina löytyy joku, jonka mielestä kaikki tehdään väärin ja pieleen menee varmasti, mutta onhan tämä tämmöistä rattoisaa yhteisöllistä kylänmeininkiä...:)
 
:)


Hmjoo. Minusta on mukavaa, että nimim. alfred_j_kwak jaksaa kommentoida ketjussa.

Varmaan tuttua jokaiselle rakentelijalle, että kylältä aina löytyy joku, jonka mielestä kaikki tehdään väärin ja pieleen menee varmasti, mutta onhan tämä tämmöistä rattoisaa yhteisöllistä kylänmeininkiä...:)
En minä siitä väärintekemisestä. Metka tapa vaan toimia tuollainen, että otetaan jostain asiasta kiinni ja samalla katse on jo kääntynyt ihan muualle. Seuraavaksi hypätään kokonaan uuteen asiaan ja näin ketjua lukiessa tulee tunne että kaikki suunnitelmallisuus projektista puuttuu.
Mutta jokainen tekee asiat omalla tavallaan. Jos kerran kommentointi häiritsee, niin asialle on tehtävä jotain.
Ei muuta kuin hyvää projektia.
 
Mulle ei nyt vieläkään selvinnyt että mikä vika siinä logo:ssa oli.
Logossa ei ole sinällään mitään vikaa. Se on hyvä ja kustannustehokas ratkaisu teollisuuteen, jos ei tarvita suuria kappalemääriä, vaatimukset eivät ole äärimmäistä luotettavuutta vaativia ja on olemassa tarvittava kehitystyökaluketju sekä osaaminen sen käyttämiseksi.

Harrastelijakäyttöön nuo ovat kuitenkin liian kallita. On aikamoinen homma selvittää, mitä maksaisi tarvittavat LOGO -hilut tämän pellettipolttimen tekemiseen, mutta tonneja varmaan. Jokainen palikka maksaa satasia, ja hinnoittelu noissa on tehty tietysti taitavasti, jolloin joku välttämätön palikka maksaa suhteettomasti, mutta jota ilman ei sitten pärjää.

Tässä sovelluksessa tuo voisi olla jo harkinnan arvoinen. mutta releohjaus riittää, on luotettava ja maksaa satasia niin miksi?

Jos tuo homma tehdään suomessa ja EU:ssa oikein oikein, niin tuolla VLSI Solutionin (seuraavalla n. v. 2026-2027) tulevalla Linux RT SOC:illa nuo voi tehdä kympeillä/satasilla helposti ja luotettavasti, niin miksi ei?

Samalla tuolla voi tehdä 99% teollisuuden automaatiohommista helposti, luotettavasti ja kustannustehokaasti. JOS tuo tehdään oikein, niin tuossa syntyy valtava ekosysteemi, joka n. v. 2035 työllistää suoraan Suomessa n. 50 000 ihmistä ja epäsuorasti 2-5 kertaa sen verran.

Oliko muita kysymyksia? :)
 
Viimeksi muokattu:
En minä siitä väärintekemisestä. Metka tapa vaan toimia tuollainen, että otetaan jostain asiasta kiinni ja samalla katse on jo kääntynyt ihan muualle. Seuraavaksi hypätään kokonaan uuteen asiaan ja näin ketjua lukiessa tulee tunne että kaikki suunnitelmallisuus projektista puuttuu.
Mutta jokainen tekee asiat omalla tavallaan. Jos kerran kommentointi häiritsee, niin asialle on tehtävä jotain.
Ei muuta kuin hyvää projektia.
Ei kommentointisi häiritse, sinullakin on selvästi paljon osaamista ja paljon on tullut asiaakin.
 

Luo tili tai kirjaudu sisään kommentoidaksesi

Sinun täytyy olla jäsen voidaksesi jättää kommentin.

Luo käyttäjätili

Liity Konekansalaiseksi. Se on helppoa ja ilmaista! Rekisteröityneenä et näe mainoksia, voit käyttää hakua, näet alueita, joita nyt ovat piilossa...jne.

Kirjaudu sisään

Oletko jo Konekansan jäsen? Kirjaudu sisään tästä.

Takaisin
Ylös