Onko oman käyttöjärjestelmän tekeminen vaikeaa? Mitä taitoa se vaatii?
Siis millaista osaamista, millaista ajattelukykyä, millaista persoonallisuutta?
Kommentit (51)
Onko se vaikea tehdä?
Vaikea ammattilaiselle?
Ootko koskaan kirjoittanut lataajaa mihinkään arkkitehtuuriin? Siis esim. että ladataa rammiin binääri, esim kun debugataan ohjelmaa mikrokontrollerilla? Kaikki käyttöjärjestelmät alkaa lataajasta, siihen sitten ympätään lisää toiminnallisuutta, esim. että voidaan ladata useita ohjelmia peräkkäin, linkittää ne yhteen joko relokoimalla tai virtuaalimuistilla. Sitten vähän palveluja, tiedostorajapinta, laiteohjainrajapinta tms.
Haikalan kirja "Käyttöjärjestelmät" on hyvä intro aiheeseen tosi yleisellä tasolla.
Vierailija kirjoitti:
Onko se vaikea tehdä?
Vaikea ammattilaiselle?
No menee siihen kyllä useampi vuosi. Saa sen toimimaan jotenkin muutamassa kuukaudessa, jos siis on kirjoittanut lataajan joskus ja riittää että se ajaa yhtä ohjelmaa kerrallaan. Sitten moniajo, rajapinnat ja sitten niiden kaikkien tarvittavien laiteohjaimien kirjoittaminen ja debuggaaminen, debuggaaminen, se on hidasta hidasta hidasta että kaikki toimii kaikissa reunatapauksissakin oikein.
Mutta kaikki riippuu siitä, mitä on pohjana? Mikä on arkkitehtuuri? Mihin tähdätään? Onko joku jo kirjoittanut sille arkkitehtuurille käyttöjärjestelmän, josta voi lainata juttuja? Paljonko kompleksisuutta tarvitaan lopulta? Saavatko muut kirjoittaa käyttöjärjestelmälle sovelluksia vai kirjoitetaanko kaikki talon sisällä?
Kysyn, koska 18 v lukiolaispoikani latasin linuxin koulukoneelle ja alkoi tekemään sellaista. Kiljui riemusta, kun sai ensimmäisen version toimimaan.
Itse en oikein edes ymmärrä, mikä on käyttöjärjestelmä... siksi kysyn: mitä se kertoo pojastani, että hän kykenee siihen? Siksi kysyn, onko se vaikeaa?
Haluaisin löytää hänestä kehumisen aihetta, koska hänellä on ollut vaikeaa.
Jos ohjelmoinnin perusteet on hyvin hallussa niin ei se ole ollenkaan niin mahdoton tehtävä kuin äkkiseltään voisi kuvitella. Todellinen haaste kuitenkin on se valtava työmäärä joka vaaditaan tällaisen leikkikäyttöjärjestelmän kehittämiseen, että sillä pystyy tekemään ylipäätään mitään järkevää. Sellainen yksinkertainen tekstipohjainen käyttöliittymä ilman tiedostojärjestelmää tai mitään on aika hyödytön.
Linus Torvaldsin mukaan se on yhtä helvettiä eikä suosittele samaa kenellekään.
On helppoa tehdä käyttöjärjestelmä, mutta ei ole helppoa tehdä tehokasta, selkeää ja kevyttä järjestelmää. Kukaan ei ole vieläkään osannut tehdä parempaa käyttöjärjestelmää kun AmigaOS, joka multitaskaa hyvin jo 1 megan muistilla varustettuna. Linux ja Windows ovat molemmat jesarilla yhteensovitettu mammuttimainen järkäle, jossa bugeja. AmigaOS:ää taas kehitellään edelleen, siitä on versio 3.2 tulossa, joka ei vie sen enempää resursseja (muistia, prosessoritehoa) kuin AmigaOS 3.0, joka julkistettiin vuonna 1992. Hyvää softaa siis tehdään edelleen!
Vierailija kirjoitti:
Onko se vaikea tehdä?
Vaikea ammattilaiselle?
Tuo on vaikea kysymys, mikä on ammattilainen? Vaikka olisi kirjoittanut korkean abstraktiotason softaa vuosikymmenet, niin ei ole saanut niitä taitoja, mitkä tarvitaan, että homma lähtee alkuun. Mutta jos esim. pystyy pienellä keskittymisellä katsomaan pelkkää heksadumppia muistista, jossa on jonkun funktion koodi ja pystyy siitä pelkästä heksasta hahmottamaan edes jotain siitä, mitä se koodi tekee niin osaa jo tosi paljon. Ja tosiaan, mainitsin jo C-ohjelmointitaidon tarpeellisuuden, mutta assemblyohjelmointi pitää olla niin hallussa, että sitä ei tarvitse opetella erikseen tuota hommaa varten.
Vierailija kirjoitti:
Kysyn, koska 18 v lukiolaispoikani latasin linuxin koulukoneelle ja alkoi tekemään sellaista. Kiljui riemusta, kun sai ensimmäisen version toimimaan.
Itse en oikein edes ymmärrä, mikä on käyttöjärjestelmä... siksi kysyn: mitä se kertoo pojastani, että hän kykenee siihen? Siksi kysyn, onko se vaikeaa?
Haluaisin löytää hänestä kehumisen aihetta, koska hänellä on ollut vaikeaa.
Ahaa, siis ensiaskeleita otetaan! Huippua! Pisteet siitä! Ihan mahtavaa!
- se joka kirjoitti nuo megalitaniat
Minä en ymmärrä mitään, mistä puhutte...
Yritin aloituksellani vain ymmärtää poikani psyykettä paremmin....
Ap
Riippuu varmaan että kuinka suuresti poikeaa jostain olemassa olevasta käyttiksestä tai pystyykö kuinka paljon hyödyntämään avointa koodia?
Linus Torvalds kai teki todella suuren työn että sai ensimmäisen millään tavoin toimivan version aikaiseksi.
Vierailija kirjoitti:
Minä en ymmärrä mitään, mistä puhutte...
Yritin aloituksellani vain ymmärtää poikani psyykettä paremmin....
Ap
Kertoo siitä, että pojallasi on aito mielenkiinto tietokoneisiin, eivätkä ne ole hänelle pelkkää viihteen kuluttamista varten. Hän ei myöskään epäröi tarttua isoon hommaan kiinni ja tutustua muiden tekemään työhön. Loistavia ominaisuuksia!
Vierailija kirjoitti:
Vierailija kirjoitti:
Minä en ymmärrä mitään, mistä puhutte...
Yritin aloituksellani vain ymmärtää poikani psyykettä paremmin....
Ap
Kertoo siitä, että pojallasi on aito mielenkiinto tietokoneisiin, eivätkä ne ole hänelle pelkkää viihteen kuluttamista varten. Hän ei myöskään epäröi tarttua isoon hommaan kiinni ja tutustua muiden tekemään työhön. Loistavia ominaisuuksia!
Voiko sanoa, että hänellä on kyky ymmärtää laajoja kokonaisuuksia? Keskimääräistä parempi kyky ymmärtää Syy-seuraussuhteita? Vai?
Kyky itseopiskeluun? Kykyä perehtyä syvällisesti yhteen asiaan? Sinnikkyyttä? Keskittymiskyky? Vai vaaditaanko sitä?
Olen epäillyt, että pojalla on adhd tai add. Nuo ominaisuudet eivät korreloi näiden häiriöiden kanssa.
Älä hyvä ihminen sano kenellekään että hän on tehnyt käyttöjärjestelmän, kun hän on ladannut netistä Linux distron ja asentanut sen koneelle 🤫
Puhutaan vähän samasta asiasta kuin auton rakentaminen vs. autolla ajaminen.
Vierailija kirjoitti:
Älä hyvä ihminen sano kenellekään että hän on tehnyt käyttöjärjestelmän, kun hän on ladannut netistä Linux distron ja asentanut sen koneelle 🤫
Puhutaan vähän samasta asiasta kuin auton rakentaminen vs. autolla ajaminen.
Miksi en?
Ymmärrän metaforan. Mutta kyllähän siitäkin saa puhua, eikö?
Vierailija kirjoitti:
Kysyn, koska 18 v lukiolaispoikani latasin linuxin koulukoneelle ja alkoi tekemään sellaista. Kiljui riemusta, kun sai ensimmäisen version toimimaan.
Itse en oikein edes ymmärrä, mikä on käyttöjärjestelmä... siksi kysyn: mitä se kertoo pojastani, että hän kykenee siihen? Siksi kysyn, onko se vaikeaa?
Haluaisin löytää hänestä kehumisen aihetta, koska hänellä on ollut vaikeaa.
Tuskimpa se sun poikas itse alusta alkaen on käyttistä tehnyt.
On vaan tehnyt uuden version uusilla paranetreilla eli kääntänyt käyttöjärjestelmän.
Aikoinaan oli vaativa, nykyään voinee mennä jopa muutamalla helpolla ohjeella.
Vierailija kirjoitti:
Vierailija kirjoitti:
Älä hyvä ihminen sano kenellekään että hän on tehnyt käyttöjärjestelmän, kun hän on ladannut netistä Linux distron ja asentanut sen koneelle 🤫
Puhutaan vähän samasta asiasta kuin auton rakentaminen vs. autolla ajaminen.
Miksi en?
Ymmärrän metaforan. Mutta kyllähän siitäkin saa puhua, eikö?
Tietysti asiasta saa puhua, mutta sen Linuxin asentaminen ei ole millään tasolla sama asia kuin käyttöjärjestelmän tekeminen. Hienoa että häntä kiinnostaa asia ja haluaa oppia enemmän, mutta käyttöjärjestelmän tekeminen ja Linuxin asentaminen on täysin toisista maailmoista. Linuxin pystyy asentamaan jokainen joka osaa asentaa ohjelman tietokoneelle ja osaa lukea ohjeet. Käyttöjärjestelmän tekeminen on ydinfysiikkaa siihen verrattuna.
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Älä hyvä ihminen sano kenellekään että hän on tehnyt käyttöjärjestelmän, kun hän on ladannut netistä Linux distron ja asentanut sen koneelle 🤫
Puhutaan vähän samasta asiasta kuin auton rakentaminen vs. autolla ajaminen.
Miksi en?
Ymmärrän metaforan. Mutta kyllähän siitäkin saa puhua, eikö?
Tietysti asiasta saa puhua, mutta sen Linuxin asentaminen ei ole millään tasolla sama asia kuin käyttöjärjestelmän tekeminen. Hienoa että häntä kiinnostaa asia ja haluaa oppia enemmän, mutta käyttöjärjestelmän tekeminen ja Linuxin asentaminen on täysin toisista maailmoista. Linuxin pystyy asentamaan jokainen joka osaa asentaa ohjelman tietokoneelle ja osaa lukea ohjeet. Käyttöjärjestelmän tekeminen on ydinfysiikkaa siihen verrattuna.
Ai. Minulle poika selitti, että ei linux ole käyttöjärjestelmä, vaan alusta, jolle käyttöjärjestelmä tehdään. Hän kertoi monta nimeä, millaisia käyttöjärjestelmiä linuxilla on. En tosin muista niitä enää
C-ohjelmointitaitoa. Mielenkiintoa siihen, miten linkitetään ja ladataan ajettava binääri. Näkemystä muistinhallinnasta.