Äänestys

Onko linux (kernel) pelkkä ydin vai koko käyttis?

Linux (kernel) on käyttis eli monoliittinen ydin
Linux (kernel) on pelkkä ydin eli mikroydin

Kirjoittaja Aihe: Linuxin viilaamista  (Luettu 28486 kertaa)

Tommi S.

  • Käyttäjä
  • Viestejä: 240
    • Profiili
Vs: Linuxin viilaamista
« Vastaus #80 : 20.10.10 - klo:09.39 »
Miksi Intelin täytyy laittaa miljoonia dollareita kehitystyöhön kun 12 vuotias skidi tekee oman tietokoneen parissa tunnissa?

Intel valmistaa prosessoreja.

Eli?... Intel käyttää miljoonia kehittääkseen tietokoneen yhtä komponenttia, prosessoria, samoin kuin Intel käyttää miljoonia kehittääkseen käyttöjärjestelmän yhtä komponenttia, Linuxia?

Kyllä se tietää kysyvänsä käyttikseltä kun koodarin täytyy tietää silloin että mitä täytyy kysyä käyttikseltä.

Siis:
a) laittaa välitettäviä tietoja pinoon ja siirtää suorituksen toiseen aliohjelmaan
b) laittaa välitettäviä tietoja pinoon ja siirtää suorituksen toiseen aliohjelmaan

Kummassa noista kysytään jotain "käyttikseltä"?

Mistofelees

  • Käyttäjä
  • Viestejä: 540
    • Profiili
Vs: Frin pilkun viilaamista
« Vastaus #81 : 20.10.10 - klo:09.43 »
Ainakin IT-populaarikulttuurissa tuntuu joskus, että mitä hyvänsä saa nimittää miksikä hyvänsä ilman, että kukaan "huomaa" mitään

Ainoa järkevä ratkaisuhan on myöntää, että käyttöjärjestelmä-sanan merkitys on kontekstisidonnainen. Jos kysytään ”Mikä käyttöjärjestelmä koneessasi on?”,

Mitä ongelmaa ?
M$ -puolella tämä on helppoa. Kun minä menen kysymään asiakkaaltani, mikä käyttöjärjestelmä hänellä on koneessaan, on vastaus yleensä kummasteleva :
-" Minulla on käyttöjärjestelmänä Woordi "

Noille ihmisille tosiaan riittäisi, jos M$Windowsista riisuttaisiin kaikki muu pois ja jätettäisiin jäljelle vain Woordi ja M$:n oma Internetsekoitin IE.

Ja tämä on tosiaan kirjoitettu herran vuonna 2010.

Ked

  • Käyttäjä
  • Viestejä: 394
    • Profiili
Vs: Linuxin viilaamista
« Vastaus #82 : 20.10.10 - klo:11.08 »
Miksi Intelin täytyy laittaa miljoonia dollareita kehitystyöhön kun 12 vuotias skidi tekee oman tietokoneen parissa tunnissa?

Intel valmistaa prosessoreja.

Eli?... Intel käyttää miljoonia kehittääkseen tietokoneen yhtä komponenttia, prosessoria, samoin kuin Intel käyttää miljoonia kehittääkseen käyttöjärjestelmän yhtä komponenttia, Linuxia?


Ymmärrän että moni mieltää käyttöjärjestelmäksi sen kokonaisuuden joka sisältää varusohjelmat sun muut, joten sanalla "käyttöjärjestelmä" on puhekielessä tavallaan kaksi merkitystä.

Asiaa voi ajatella silti niinkin, että eihän esimerkiksi Ubuntu lakkaa olemasta käyttöjärjestelmä vaikka siitä otettaisi Gnome pois. Ubuntu nimenä vain kertoo, minkälaisilla lisukkeilla Linux kyseisessä jakelupaketissa tulee.

kuutio

  • Vieras
Vs: Linuxin viilaamista
« Vastaus #83 : 20.10.10 - klo:11.28 »
Siis:
a) laittaa välitettäviä tietoja pinoon ja siirtää suorituksen toiseen aliohjelmaan
b) laittaa välitettäviä tietoja pinoon ja siirtää suorituksen toiseen aliohjelmaan

Kummassa noista kysytään jotain "käyttikseltä"?
Kyllä sillä on ohjelman kannalta väliä, käyttääkö se suoria järjestelmäkutsuja vai välissä jotain abstraktio-kirjastoa, vaikkei se ehkä näykään käyttäjälle asti. Käytettävät järjestelmäkutsut mm. vaihtelee käyttöjärjestelmän mukaan, ja suoria järjestelmäkutsuja käyttävät ohjelmat on useimmiten hankalampi siirtää toisiin ympäristöihin.
http://en.wikipedia.org/wiki/System_call

Jos taas imuroit kernelin lähdekoodin, käännät sen, ja sitten laitat siihen päälle pelkästään Firefoxin, niin eipä taideta kovin pitkälle nettiin pötkiä. Eli Firefox + Linux ei riitä. Tarvittaisiinko siihen vielä se kokonainen käyttöjärjestelmä? (eli se "+ sen jälkeen jotain muuta")
Siitä, että ohjelma A (esim. Firefox) tarvitsee "jotain muuta" B toimiakseen, ei seuraa, että B olisi osa käyttöjärjestelmää. Se, että Firefoxin plugin tarvitsee firefoxia toimiakseen, ei tee firefoxista käyttöjärjestelmän osaa.

Tommi S.

  • Käyttäjä
  • Viestejä: 240
    • Profiili
Vs: Linuxin viilaamista
« Vastaus #84 : 20.10.10 - klo:11.51 »
Asiaa voi ajatella silti niinkin, että eihän esimerkiksi Ubuntu lakkaa olemasta käyttöjärjestelmä vaikka siitä otettaisi Gnome pois.

Asiaa voi ajatella myös niin että jos Ubuntusta karsitaan yksitellen osia pois, niin missä vaiheessa se lakkaa olemasta käyttöjärjestelmä? Itse sanoisin että tämä tapahtuu jo ennen kuin ollaan karsimassa itse Linux-ydintä.

Asiaa voi ajatella myös niin, että jos on hankkimassa uutta laitteistoa, niin on hyvä pitää mielessä kernelin tyyppi ja versionumero, sillä kerneli on se minkä kanssa laitteisto toimii. Kirjastoista ja rajapinnoista ei tarvitse välittää.
Jos taas on hankkimassa uutta ohjelmistoa, niin on hyvä pitää mielessä kirjastojen ja rajapintojen tyypit ja versionumerot (tai yksinkertaisemmin jakelun nimi ja versio), sillä nämä ovat niitä minkä kanssa ohjelmisto toimii. Kernelistä ei tarvitse välittää.

Siis:
a) laittaa välitettäviä tietoja pinoon ja siirtää suorituksen toiseen aliohjelmaan
b) laittaa välitettäviä tietoja pinoon ja siirtää suorituksen toiseen aliohjelmaan

Kummassa noista kysytään jotain "käyttikseltä"?
Kyllä sillä on ohjelman kannalta väliä, käyttääkö se suoria järjestelmäkutsuja vai välissä jotain abstraktio-kirjastoa, vaikkei se ehkä näykään käyttäjälle asti.

Niin, sillä siis on väliä käytetäänkö kirjastoja vai mennäänkö esim. suoraan assemblykäskyillä sörkkimään kielletyille muistialueille. Jälkimmäinen tapaus saattaa jopa näkyä ihan käyttäjälle asti. Oliko sinulla myös jotain asiaa? Huomasitko myös että lainasit kysymyksen johon jätit vastaamatta?

Siitä, että ohjelma A (esim. Firefox) tarvitsee "jotain muuta" B toimiakseen, ei seuraa, että B olisi osa käyttöjärjestelmää. Se, että Firefoxin plugin tarvitsee firefoxia toimiakseen, ei tee firefoxista käyttöjärjestelmän osaa.

Kernelimoduuli tarvitsee Linux-kernelin toimiakseen, mutta tästä ei seuraa että Linux-kerneli olisi käyttöjärjestelmän osa? Olet löytänyt loogisen päättelyketjun joka ei johda mihinkään, mutta mitä haluat sillä sanoa?

kuutio

  • Vieras
Vs: Linuxin viilaamista
« Vastaus #85 : 20.10.10 - klo:12.25 »
Siis:
a) laittaa välitettäviä tietoja pinoon ja siirtää suorituksen toiseen aliohjelmaan
b) laittaa välitettäviä tietoja pinoon ja siirtää suorituksen toiseen aliohjelmaan

Kummassa noista kysytään jotain "käyttikseltä"?
Kyllä sillä on ohjelman kannalta väliä, käyttääkö se suoria järjestelmäkutsuja vai välissä jotain abstraktio-kirjastoa, vaikkei se ehkä näykään käyttäjälle asti.

Niin, sillä siis on väliä käytetäänkö kirjastoja vai mennäänkö esim. suoraan assemblykäskyillä sörkkimään kielletyille muistialueille. Jälkimmäinen tapaus saattaa jopa näkyä ihan käyttäjälle asti. Oliko sinulla myös jotain asiaa? Huomasitko myös että lainasit kysymyksen johon jätit vastaamatta?
Kyllähän se käyttöjärjestelmäkutsu suoraan "kysyy" käyttöjärjestelmää tekemään jotain, jos sitä tarkoitit "avoimella kysymyksellä". Järjestelmäkutsut on käyttöjärjestelmään sisäänrakennettuja käskyjä, enkä oikein ymmärrä, mitä tekemistä assemblyn (tai muiden low-level kielien tai konekielen) käyttämisellä on tekemistä tämän asian kanssa. Varmaan olet halukas valaisemaan asiaa.

Lainaus
Kernelimoduuli tarvitsee Linux-kernelin toimiakseen, mutta tästä ei seuraa että Linux-kerneli olisi käyttöjärjestelmän osa? Olet löytänyt loogisen päättelyketjun joka ei johda mihinkään, mutta mitä haluat sillä sanoa?
Koska olet viimeksi logiikkaan perehtynyt? Luepa uudelleen mitä sanoin. Se, että A:sta ei seuraa B ei tarkoita, että A ja B eivät voisi olla molemmat totta (eli A tarvitsee B:tä ja B on käyttöjärjestelmän osa). Näiden välillä ei vaan ole kausaalisuhdetta, kuten ymmärsin sinun tarkoittavan lainaamassani tekstinpätkässä:
Lainaus
Jos taas imuroit kernelin lähdekoodin, käännät sen, ja sitten laitat siihen päälle pelkästään Firefoxin, niin eipä taideta kovin pitkälle nettiin pötkiä. Eli Firefox + Linux ei riitä. Tarvittaisiinko siihen vielä se kokonainen käyttöjärjestelmä? (eli se "+ sen jälkeen jotain muuta")
Ainakin minä luen tämän niin, että koska Firefox "tarvitsee jotain muuta", niin tästä mielestäsi seuraa että se "jokin muu" on osa käyttöjärjestelmää. Ehkä ymmärsin väärin.

Fri13

  • Käyttäjä
  • Viestejä: 465
    • Profiili
Vs: Linuxin viilaamista
« Vastaus #86 : 20.10.10 - klo:13.02 »
Eli?... Intel käyttää miljoonia kehittääkseen tietokoneen yhtä komponenttia, prosessoria, samoin kuin Intel käyttää miljoonia kehittääkseen käyttöjärjestelmän yhtä komponenttia, Linuxia?

Koska intel käyttää miljoonia kehittääkseen yhtä prosessorin komponenttia, ydintä. Ja muut sitten valmistaa prosessoreja käyttämällä intelin valmistamia ytimiä. Eli?

Linux kernel on käyttis. Kuten intelin valmistama prosessori ei ole tietokone.

Fri13

  • Käyttäjä
  • Viestejä: 465
    • Profiili
Vs: Frin pilkun viilaamista
« Vastaus #87 : 20.10.10 - klo:13.04 »
Noille ihmisille tosiaan riittäisi, jos M$Windowsista riisuttaisiin kaikki muu pois ja jätettäisiin jäljelle vain Woordi ja M$:n oma Internetsekoitin IE.

Ja tämä on tosiaan kirjoitettu herran vuonna 2010.

Mitä ongelmaa on siinä että google on selain?
Eikus se onkin google!

http://www.youtube.com/watch?v=o4MwTvtyrUQ

Tommi S.

  • Käyttäjä
  • Viestejä: 240
    • Profiili
Vs: Linuxin viilaamista
« Vastaus #88 : 20.10.10 - klo:13.13 »
Kyllähän se käyttöjärjestelmäkutsu suoraan "kysyy" käyttöjärjestelmää tekemään jotain, jos sitä tarkoitit "avoimella kysymyksellä". Järjestelmäkutsut on käyttöjärjestelmään sisäänrakennettuja käskyjä, enkä oikein ymmärrä, mitä tekemistä assemblyn (tai muiden low-level kielien tai konekielen) käyttämisellä on tekemistä tämän asian kanssa. Varmaan olet halukas valaisemaan asiaa.

Kysymykseni siis oli sellainen, että minulla oli kirjastofunktion kutsu, sekä käyttöjärjestelmäkutsu, ja kysyin että miten sovellusohjelma erottaa ne toisistaan. Tässä:
a) laittaa välitettäviä tietoja pinoon ja siirtää suorituksen toiseen aliohjelmaan
b) laittaa välitettäviä tietoja pinoon ja siirtää suorituksen toiseen aliohjelmaan

Vai oletko kenties sitä mieltä että jompikumpi vaihtoehdoista ei vastaa sitä mitä sen on tarkoitus kuvata? Tässä on tyhjä kysymys joihin voit täyttää mielestäsi paremmat kuvaukset. Varmaan olet halukas valaisemaan asiaa:
a)
b)

Lainaus
Jos taas imuroit kernelin lähdekoodin, käännät sen, ja sitten laitat siihen päälle pelkästään Firefoxin, niin eipä taideta kovin pitkälle nettiin pötkiä. Eli Firefox + Linux ei riitä. Tarvittaisiinko siihen vielä se kokonainen käyttöjärjestelmä? (eli se "+ sen jälkeen jotain muuta")
Ainakin minä luen tämän niin, että koska Firefox "tarvitsee jotain muuta", niin tästä mielestäsi seuraa että se "jokin muu" on osa käyttöjärjestelmää. Ehkä ymmärsin väärin.

Tuo oli vastaus tähän:
Jos lähdetään olettamuksesta että Linux ei ole käyttöjärjestelmä => imuroin Kernelin lähdekoodin koneellenin ja käännän + sen jälkeen jotain muuta, en tarkalleen tiedä mitä, mutta kaiketi X yms. tarvitaan.... ..ja asennan sen päälle Firefoxin... niin sen jälkeen ollaan netissä "ilman käyttöjärjestelmää"??!?

Eli suomennettuna tuossa sanotaan: "Jos lähdetään olettamuksesta että Linux ei ole käyttöjärjestelmä => asennan koneelleni kernelin + kaiken muun, jotta saan kokonaisen käyttöjärjestelmän, ja asennan päälle Firefoxin, niin sen jälkeen ollaan netissä "ilman käyttöjärjestelmää"???

Eli vielä lyhyemmin: "Jos asennan käyttöjärjestelmän, ja siihen päälle Firefoxin, niin sen jälkeen ollaan netissä ilman käyttöjärjestelmää"

Linux kernel on käyttis. Kuten intelin valmistama prosessori ei ole tietokone.

Aivan oikein, prosessori ei ole tietokone, vaan se on tietokoneen osa. Kuten Linux kernel on käyttöjärjestelmän osa.

Fri13

  • Käyttäjä
  • Viestejä: 465
    • Profiili
Vs: Linuxin viilaamista
« Vastaus #89 : 20.10.10 - klo:13.17 »
Asiaa voi ajatella myös niin että jos Ubuntusta karsitaan yksitellen osia pois, niin missä vaiheessa se lakkaa olemasta käyttöjärjestelmä? Itse sanoisin että tämä tapahtuu jo ennen kuin ollaan karsimassa itse Linux-ydintä.

Voit karsia kaiken muun pois paitsi linuxin ja sulla olisi pelkkä käyttis. Kukaan ei tee mitää pelkällä käyttiksellä yhtää mitää. Ohjelmat on niitä joita käyttäjä tarvii että tietokoneella voi tehdä jotain. Käyttis vain suorittaa kaikki ohjelmat ja jakaa laitteistoo niille. Ohjelmat ei näe mitä rautaa on missäkin kun ne näkee vain käyttiksen ja muut ohjelmat joiden toimintoi ne käyttää eli on sen riippuvaisuuksii.

Lainaus
Asiaa voi ajatella myös niin, että jos on hankkimassa uutta laitteistoa, niin on hyvä pitää mielessä kernelin tyyppi ja versionumero, sillä kerneli on se minkä kanssa laitteisto toimii. Kirjastoista ja rajapinnoista ei tarvitse välittää.
Jos taas on hankkimassa uutta ohjelmistoa, niin on hyvä pitää mielessä kirjastojen ja rajapintojen tyypit ja versionumerot (tai yksinkertaisemmin jakelun nimi ja versio), sillä nämä ovat niitä minkä kanssa ohjelmisto toimii. Kernelistä ei tarvitse välittää.

Kyllä sun täytyy tietää mikä käyttis on kyseessä että onko se ohjelma käännetty sille. Linux suorittaa vain ELF binäärinä olevaa ohjelmaa. Et voi tunkea jotain windows ohjelmaa koneeseen koska se ei edes ymmärrä sitä. Sitten tarvitaan joku winen kaltanen wrapperi joka muuttaa ne win32 kutsut vastaaviksi mitä löytyy unix systeemeistä ja että linux käyttis osaa suorittaa ne.

Lainaus
Kernelimoduuli tarvitsee Linux-kernelin toimiakseen, mutta tästä ei seuraa että Linux-kerneli olisi käyttöjärjestelmän osa? Olet löytänyt loogisen päättelyketjun joka ei johda mihinkään, mutta mitä haluat sillä sanoa?
Eihän tossa ole edes logiikkaa. Luitko aikasempia viestei missä toi on selitetty?
Nyt sä sanot että google tarvitsee firefoxin toimiakseen mutta siitä ei seuraa että firefox olisi ubuntun osa?
Sä keksit just päättelyketjun joka ei johda mihinkää eikä edes sovellu mitä muut sanoo mutta silti haluut sillä sanoa jotain mutta mitä?
Linux kernel on käyttis. Sun ei tarvi kääntää jotain moduuliksi jos et tahdo tai tarvi. Kyllä se linux toimii vaikka sitä moduulia ei olisi mutta se toiminto joka olisi moduulina ei toimi jos ei ole linuxia. Moduuli on riippuvainen linuxista mutta linux ei ole riippuvainen moduulista mutta ne softat jotka tarvii sitä toimintoo joka on moduulissa onkin riippuvaisia linuxista.  



Fri13

  • Käyttäjä
  • Viestejä: 465
    • Profiili
Vs: Linuxin viilaamista
« Vastaus #90 : 20.10.10 - klo:13.22 »
Kysymykseni siis oli sellainen, että minulla oli kirjastofunktion kutsu, sekä käyttöjärjestelmäkutsu, ja kysyin että miten sovellusohjelma erottaa ne toisistaan.

Ei sillä ohjelmalla ole tekoälyä vaan koodari tietää että mitä sen täytyy kutsua milloinkin. Koodari tietää että käyttiksen system callia täytyy kutsua ja koska ja miten. Ja koska täytyy kutsua mitäkin kirjastoo ja miten. Ohjelma vain toteuttaa omia laskuja joissa se käyttää kirjastoja ja kaiken sen suorittaa käyttis joka kontrolloi sitä ohjelmaa.

Lainaus
Aivan oikein, prosessori ei ole tietokone, vaan se on tietokoneen osa. Kuten Linux kernel on käyttöjärjestelmän osa.

Linux on käyttis mutta intelin prossu on vain prossu eikä tietokone. Linux ei ole mikään käyttiksen komponentti vaan koko  käyttis. Sun logiikalla Intel valmista ytimiä joista muut kokoaa prosessoreja ja skidit sitten rakentaa tietokoneita käyttämällä niitä prosessoreja.
Faktaa on että linux kernel on käyttis ja että intelin valmistama prosessori ei ole tietokone vaan prosessori.

kuutio

  • Vieras
Vs: Linuxin viilaamista
« Vastaus #91 : 20.10.10 - klo:13.55 »
Kysymykseni siis oli sellainen, että minulla oli kirjastofunktion kutsu, sekä käyttöjärjestelmäkutsu, ja kysyin että miten sovellusohjelma erottaa ne toisistaan. Tässä:
a) laittaa välitettäviä tietoja pinoon ja siirtää suorituksen toiseen aliohjelmaan
b) laittaa välitettäviä tietoja pinoon ja siirtää suorituksen toiseen aliohjelmaan
Kiitokset tarkennuksesta, ymmärsin kysymyksesi ehkä hieman väärin. Tämän perusteella:
Äkkiä katsottuna näyttäisi siis siltä että ytimen ja "riippuvuuden" välillä ei ohjelman kannalta ole mitään eroa.
käsitin, että tarkoitit ettei järjestelmäkutsulla ja kirjastokutsulla ole mitään eroa, mutta ilmeisestikin tarkoitit, että huomaako ohjelma itse eron noiden välillä? (ei varmaan huomaakaan, ellei ohjelmaa siirretä toiseen ympäristöön). Tosin minulle jää kyllä silti epäselväksi, miten se, huomaako ohjelma eron vaikuttaa käyttöjärjestelmän määritelmään.

Lainaus
Tuo oli vastaus tähän:
Lainaus käyttäjältä: Ked - 19.10.10 - klo:15.01
Jos lähdetään olettamuksesta että Linux ei ole käyttöjärjestelmä => imuroin Kernelin lähdekoodin koneellenin ja käännän + sen jälkeen jotain muuta, en tarkalleen tiedä mitä, mutta kaiketi X yms. tarvitaan.... ..ja asennan sen päälle Firefoxin... niin sen jälkeen ollaan netissä "ilman käyttöjärjestelmää"??!?

Eli suomennettuna tuossa sanotaan: "Jos lähdetään olettamuksesta että Linux ei ole käyttöjärjestelmä => asennan koneelleni kernelin + kaiken muun, jotta saan kokonaisen käyttöjärjestelmän, ja asennan päälle Firefoxin, niin sen jälkeen ollaan netissä "ilman käyttöjärjestelmää"

Eli vielä lyhyemmin: "Jos asennan käyttöjärjestelmän, ja siihen päälle Firefoxin, niin sen jälkeen ollaan netissä ilman käyttöjärjestelmää"
Okei, kontekstiin liitettynä ymmärtänen mitä ajat takaa, mutta mielestäni on silti vähän hataralla pohjalla liittää "lähes mielivaltaisesti" käyttöjärjestelmään osia sen perusteella, mitä mikäkin yksittäinen ohjelma saattaa tarvita. Tällainen käyttöjärjestelmän määritelmä on täysin avoin (Esim. komentorivipohjainen lynx tarvitsee huomattavasti vähemmän tavaraa kuin firefox, kuuluuko lynxin silmissä käyttöjärjestelmään vain se mitä se itse tarvitsee? Entä ohjelma joka käyttää vain linuxin järjestelmäkutsuja? jne.) ja on siten tieteellisessä mielessä määritelmänä täysin hyödytön.

Tommi S.

  • Käyttäjä
  • Viestejä: 240
    • Profiili
Vs: Linuxin viilaamista
« Vastaus #92 : 20.10.10 - klo:15.21 »
käsitin, että tarkoitit ettei järjestelmäkutsulla ja kirjastokutsulla ole mitään eroa, mutta ilmeisestikin tarkoitit, että huomaako ohjelma itse eron noiden välillä? (ei varmaan huomaakaan, ellei ohjelmaa siirretä toiseen ympäristöön). Tosin minulle jää kyllä silti epäselväksi, miten se, huomaako ohjelma eron vaikuttaa käyttöjärjestelmän määritelmään.

Tämän keskustelun aloitusviestissä kysyttiin "teetkö softaa Linux käyttikselle vai Ubuntu distrolle?", mutta softan kannalta mitään Linux käyttistä ei ole, on ainoastaan kirjastoja ja rajapintoja, tai sitten se käyttis on juuri nämä kirjastot ja rajapinnat, kernelikutsut mukaanluettuna.

Okei, kontekstiin liitettynä ymmärtänen mitä ajat takaa, mutta mielestäni on silti vähän hataralla pohjalla liittää "lähes mielivaltaisesti" käyttöjärjestelmään osia sen perusteella, mitä mikäkin yksittäinen ohjelma saattaa tarvita. Tällainen käyttöjärjestelmän määritelmä on täysin avoin (Esim. komentorivipohjainen lynx tarvitsee huomattavasti vähemmän tavaraa kuin firefox, kuuluuko lynxin silmissä käyttöjärjestelmään vain se mitä se itse tarvitsee? Entä ohjelma joka käyttää vain linuxin järjestelmäkutsuja? jne.) ja on siten tieteellisessä mielessä määritelmänä täysin hyödytön.

Käyttöjärjestelmän määritelmä on joka tapauksessa täysin avoin, sillä voihan kerneliinkin lisätä haluamaansa toiminnallisuutta, tai ottaa pois, sen perusteella mitä mikäkin ohjelma saattaa tarvita. Tai entä jos ohjelma ei käytä kaikkea kernelin toiminnallisuutta, lasketaanko ses silloin kuuluvan kerneliin vai ei?

On selvää että esim. Ubuntussa voidaan ajatella olevan kaksi osaa, osa 1  joka on suoraan yhteydessä laitteistoon, ja osa 2 joka on yhteydessä sovellusohjelmiin. Tässä keskustelussa on suurimmaksi osaksi ollut kyse siitä miten näitä osia pitäisi nimittää. Ovatko nämä osat nimeltään "käyttöjärjestelmän ydin" ja "käyttöjärjestelmä", vai "käyttöjärjestelmä" ja ... "ohjelmistojärjestelmä"? ... "ohjelmointijärjestelmä"? ... "jakelu"?. Eräskin nimimerkki aloitti sanomalla että tekniikka määrittelee nimet, mutta uskomattoman tekstimäärän jälkeen jäikin käteen se, että "kilpailu on pahasta", "Richard Stallman on naurettava", "media aiheutti Irakin sodan", ynnämuita "teknisiä" perusteluita.

Mikähän olisi se sanan 'käyttöjärjestelmä' määritelmä, ihan oikeasti tekniikan kannalta?

Fri13

  • Käyttäjä
  • Viestejä: 465
    • Profiili
Vs: Linuxin viilaamista
« Vastaus #93 : 20.10.10 - klo:15.50 »
Tämän keskustelun aloitusviestissä kysyttiin "teetkö softaa Linux käyttikselle vai Ubuntu distrolle?", mutta softan kannalta mitään Linux käyttistä ei ole, on ainoastaan kirjastoja ja rajapintoja, tai sitten se käyttis on juuri nämä kirjastot ja rajapinnat, kernelikutsut mukaanluettuna.
Alkuperänen väitti tekevänsä softaa Ubuntu käyttikselle. Ubuntu ei ole käyttis vaan Linux käyttiksen distro! Jos tekee softaa Linux käyttikselle niin silloin softa toimii kaikissa distroissa joissa on ne kirjastot jota softa tarvii. Jos haluaa tehdä softansa toimimaan joka paikassa niin käytetään mahdollisimman yleisiä kirjastojen versioita ja saatavilla olevia ohjelmia. Mutta softan tekijä ei voi tuntea kaikkia satoja distroja että mitä versioita on missäkin saatavilla. Sitä varten on LSB joka ratkaisee ongelman. Tee sun softas LSB mukaisesti ja se toimii kaikissa distroissa jotka on yhteensopivia LSB kanssa.
LSB ratkaisee suljetun koodin softien tekemisen koska sulla ei ole lähdekoodii näkyvillä että voisit kääntää sen toimimaan eri versioisilla softilla. Alkuperänen softa oli T-lasku jossa tekijä tarjoo sitä vain ubuntulle ja väittää että ubuntu on käyttis eikä linux ole käyttis. Ei ole sellaista käyttistä kuin ubuntu vaan linux. On sellainen linux distro kuin ubuntu. Jos haluaa saada softansa kuten t-laskun laajalle Linux yhteisöön käyttöön niin se pitää joko tehdä avoimeksi koodiksi tai LSB standardin mukaseksi tai sitten itse ottaa vastuu ja käännellä sopivat paketit jokaiselle distrolle jolle sen haluaa tarjota. Tekijä ei halua antaa lähdekoodia joten sen täytyy joko tehdä se LSB mukaseksi tai sitten kääntää itse kaikki paketit kaikille.
Koska se ei halua tehdä LSB mukaista pakettia niin se ei toimi kuin niissä distroissa joihin se tarjoo itsensä kääntämän paketin distrokohtaisesti. Ja koska se ei tarjoa kuin ubuntulle käännettyy pakettii niin se ei toimi kuin ubuntussa tai sen variaatioissa varmuudella koska ubuntun käyttämät kirjastoversiot ja muut on riippuvaisia canonicalin päätöksistä.
Paras ratkasu olisi pistää LSB paketti ulos tai vapauttaa lähdekoodi. Lähdekoodin vapauttaminen olisi kaikkein paras mutta jos haluu pitää suljettuna koodina niin LSB on ainoa oikea tapa.

Käyttiksen ainoot rajapinnat on järjestelmäkutsut. Kirjastot tai muut ohjelmat ei kuulu käyttikseen. Linux on käyttis eikä siihen kuulu mikään muu ohjelma.

Lainaus
Käyttöjärjestelmän määritelmä on joka tapauksessa täysin avoin, sillä voihan kerneliinkin lisätä haluamaansa toiminnallisuutta, tai ottaa pois, sen perusteella mitä mikäkin ohjelma saattaa tarvita. Tai entä jos ohjelma ei käytä kaikkea kernelin toiminnallisuutta, lasketaanko ses silloin kuuluvan kerneliin vai ei?
Se on hyvin jo tuolla kerrottu. Lue ja opi. Tottakai sä voit lisätä käyttikseen toiminnalisuutta jos sä haluat ja pystyt. Sitä varten onkin rajapintoja kernelille että siihen voidaan niitä tehdä. Monoliittisessakin kernelissä on muuten rajapinnat kernelille ja käyttisrajapintoja eli järjestelmäkutsut jotka se tarjoaa ohjelmille.
MItään ohjelmaa ei lasketa käyttikseen. Laiteajuri moduulina kuuluu käyttikseen vaikka se ei olisi ladattuna rammiin ja otettu käyttöön vaan istuisi vain kovolla tallessa odottamassa hetkeä koska sitä tarvitaa. Kernel toiminnot huolehtii tuolloin monoliittisessa kernelissä sen moduulin lataamisesta ja liittämisestä.[/quote]

Lainaus
On selvää että esim. Ubuntussa voidaan ajatella olevan kaksi osaa, osa 1  joka on suoraan yhteydessä laitteistoon
Tuo osa olisi linux kernel


Lainaus
ja osa 2 joka on yhteydessä sovellusohjelmiin.
Tuo osa olisi linux kernel.


Lainaus
Tässä keskustelussa on suurimmaksi osaksi ollut kyse siitä miten näitä osia pitäisi nimittää.
Ne on kerrottu tuolla ylhäällä.

Lainaus
Mikähän olisi se sanan 'käyttöjärjestelmä' määritelmä, ihan oikeasti tekniikan kannalta?
Sekin on kerrottu tuolla ylhäällä
Linux on käyttis ihan tekniikaltaan. Ei tarvi höpötellä jostain miten mikäkin ohjelma tunnista koska se puhuu kirjastolle ja koska käyttikselle. Käyttis suorittaa kaikki ohjelmat ja tarjoo kaikki laitteistot ohjelmille käyttöön. Ykskään kirjasto tai ohjelma ei toimi ilman käyttistä tietokoneessa.
Miten perustelet linuxin mikroytimeksi?

Ked

  • Käyttäjä
  • Viestejä: 394
    • Profiili
Vs: Linuxin viilaamista
« Vastaus #94 : 20.10.10 - klo:16.17 »
Onko bensa sitten auton osa, autolla kun ei tee mitään ilman bensaa???

Tommi S.

  • Käyttäjä
  • Viestejä: 240
    • Profiili
Vs: Linuxin viilaamista
« Vastaus #95 : 20.10.10 - klo:16.34 »
Lainaus
ja osa 2 joka on yhteydessä sovellusohjelmiin.
Tuo osa olisi linux kernel.

Eli kun esim. Ubuntun sekalaiset kirjastot ovat yhteydessä esim. tähän Firefox-sovellusohjelmaan, niin nuo kirjastot ovat "linux kernel"?

Käyttis suorittaa kaikki ohjelmat ja tarjoo kaikki laitteistot ohjelmille käyttöön.

En sanoisi että suorittaa, korkeintaan käynnistää.

Fri13

  • Käyttäjä
  • Viestejä: 465
    • Profiili
Vs: Linuxin viilaamista
« Vastaus #96 : 20.10.10 - klo:16.55 »
Eli kun esim. Ubuntun sekalaiset kirjastot ovat yhteydessä esim. tähän Firefox-sovellusohjelmaan, niin nuo kirjastot ovat "linux kernel"?

Ei vaan käyttis on yhteydessä prosesseihin ja kaikkeen mikä tapahtuu ohjelman ja kirjaston välillä. Se päättää mitä mikäkin ohjelma saa tehdä ja se suorittaa kaikein tapahtuvan. Se hallinnoi kaikkea tapahtumista että mikä tahansa saa toimia. Firefox on yhteydessä kirjastoihin ja firefox ja kirjastot on yhteydessä käyttikseen. Ilman käyttistä mikään ohjelma ei voi olla yhteydessä kirjastoon tai toiseen ohjelmaan.

Linux kernel on käyttis eikä siihen kuulu mitää muuta.

Lainaus
En sanoisi että suorittaa, korkeintaan käynnistää.

Sun mukaasi siis käyttis ei hallinnoi prosesseja vaan se vain käynnistää ne ja sitte prosessilla on suora valta laitteistoon ja se suorittaa itse itsensä ilman että mikään kuten käyttis voisi siihen puuttua.

init─┬─NetworkManager─┬─dhcpcd
     │                └─2*[{NetworkManager}]
     ├─5*[agetty]
     ├─akonadi_control─┬─akonadi_birthda
     │                 ├─akonadi_contact
     │                 ├─2*[akonadi_ical_re]
     │                 ├─3*[akonadi_imap_re───{akonadi_imap_r}]
     │                 ├─akonadi_kolabpr
     │                 ├─akonadi_maildir
     │                 ├─akonadi_maildis
     │                 ├─akonadi_nepomuk
     │                 ├─2*[akonadi_vcard_r]
     │                 ├─akonadiserver─┬─mysqld───27*[{mysqld}]
     │                 │               └─19*[{akonadiserver}]
     │                 └─3*[{akonadi_contro}]
     ├─amarok─┬─bash
     │        └─12*[{amarok}]
     ├─automount───3*[{automount}]
     ├─chromium───12*[chromium───{chromium}]
     ├─console-kit-dae───64*[{console-kit-da}]
     ├─crond
     ├─3*[dbus-daemon]
     ├─2*[dbus-launch]
     ├─dolphin───{dolphin}
     ├─famd
     ├─2*[gpg-agent]
     ├─gvfs-fuse-daemo───3*[{gvfs-fuse-daem}]
     ├─gvfs-gdu-volume
     ├─gvfsd
     ├─hald─┬─hald-runner─┬─hald-addon-acpi
     │      │             ├─hald-addon-inpu
     │      │             └─4*[hald-addon-stor]
     │      └─{hald}
     ├─kaccess
     ├─kded4───{kded4}
     ├─kdeinit4─┬─chromium─┬─chromium
     │          │          └─19*[{chromium}]
     │          ├─klauncher
     │          ├─2*[konqueror]
     │          ├─ksmserver─┬─kwin───{kwin}
     │          │           └─{ksmserver}
     │          ├─kwrited
     │          └─okular
     ├─kdm─┬─X
     │     └─kdm───startkde───kwrapper4
     ├─kglobalaccel
     ├─kgpg───{kgpg}
     ├─kio_http_cache_
     ├─klipper
     ├─kmix
     ├─knotify4───5*[{knotify4}]
     ├─konsole─┬─bash───su───bash───pstree
     │         └─{konsole}
     ├─korgac
     ├─krunner
     ├─kuiserver
     ├─kwalletd
     ├─login───bash
     ├─nepomukserver─┬─nepomukservices─┬─virtuoso-t───7*[{virtuoso-t}]
     │               │                 └─10*[{nepomukservice}]
     │               ├─5*[nepomukservices]
     │               ├─nepomukservices───{nepomukservice}
     │               └─{nepomukserver}
     ├─plasma-desktop─┬─ksysguardd
     │                └─5*[{plasma-desktop}]
     ├─polkit-kde-auth───{polkit-kde-aut}
     ├─polkitd───{polkitd}
     ├─rpcbind
     ├─2*[ssh-agent]
     ├─start_kdeinit
     ├─syslog-ng───syslog-ng
     ├─udevd───2*[udevd]
     ├─udisks-daemon─┬─udisks-daemon
     │               └─2*[{udisks-daemon}]
     ├─upowerd───{upowerd}
     └─wpa_supplicant

Et näe käyttiksen prosesseja vaan ainoostaa initistä ylöspäin. Mother process ja child process. Init ylläpitää kaikkia muita prosesseja ja linux ylläpitää initiä.
« Viimeksi muokattu: 20.10.10 - klo:17.12 kirjoittanut Fri13 »

kuutio

  • Vieras
Vs: Linuxin viilaamista
« Vastaus #97 : 20.10.10 - klo:17.14 »
Mikähän olisi se sanan 'käyttöjärjestelmä' määritelmä, ihan oikeasti tekniikan kannalta?
Ainakin americcalainen tiedesanakirja määrittelee käyttöjärjestelmän osuvasti:
Lainaus
Software designed to handle basic elements of computer operation, such as sending instructions to hardware devices like disk drives and computer screens, and allocating system resources such as memory to different software applications being run.
En toki väitä, että tuon määritelmän rajat eivät voisi olla joissain suhteessa "hämäriä", mutta on se monin verroin hyödyllisempi kuin "ohjelmisto, jota joku ohjelma tarvitsee toimiakseen"

Eli ohjelmisto, joka välittää informaatiota vain toisten ohjelmistojen välillä (kuten kirjastot) ei kuulu käyttöjärjestelmään (tämän määritelmän mukaan).

Eihän määritelmät mitenkään kiveen hakattuja ole, mutta jos joku aikoo esittää olemassaolevasta määritelmästä poikkeavaa määritelmää, niin pitää kyllä mielestäni pystyä perustelemaan, miksi uusi määritelmä on parempi kuin vanha (näinhän homma tieteiden piirissä toimii).

Lainaus
On selvää että esim. Ubuntussa voidaan ajatella olevan kaksi osaa, osa 1  joka on suoraan yhteydessä laitteistoon, ja osa 2 joka on yhteydessä sovellusohjelmiin.
Tasoja on oikeastaan kolme, käyttöjärjestelmä, kirjastot ym. ja sovellukset, kuten aiemmin postaamassani linkissä mainitaan:
Lainaus
Generally, systems provide a library that sits between normal programs and the operating system, usually an implementation of the C library (libc), such as glibc. This library exists between the OS and the application, and increases portability.

Tommi S.

  • Käyttäjä
  • Viestejä: 240
    • Profiili
Vs: Linuxin viilaamista
« Vastaus #98 : 20.10.10 - klo:18.27 »
Eihän määritelmät mitenkään kiveen hakattuja ole, mutta jos joku aikoo esittää olemassaolevasta määritelmästä poikkeavaa määritelmää, niin pitää kyllä mielestäni pystyä perustelemaan, miksi uusi määritelmä on parempi kuin vanha (näinhän homma tieteiden piirissä toimii).

Mutta kun minä en ole mitenkään vakuuttunut siitä että sinun ja parin muun esittämä määritelmä on se "olemassaoleva" vanha määritelmä.

Onko MS-DOS käyttöjärjestelmä? Onko UNIX käyttöjärjestelmä? Molempiin näihin kuuluu osia jotka tekevät muutakin kuin kommunikoivat laitteiden kanssa tai jakavat ohjelmille muistia.

Määrittääkö POSIX käyttöjärjestelmän, vai kenties jotain muuta? Määrittääkö LSB käyttöjärjestelmän, vai jotain muuta?

UNIXissa on erikseen käyttöjärjestelmän ydin, eli kerneli. Linux on ydin, eli kerneli, (katso vaikka kernel.org), mutta minkä ydin se on?

Fri13

  • Käyttäjä
  • Viestejä: 465
    • Profiili
Vs: Linuxin viilaamista
« Vastaus #99 : 20.10.10 - klo:19.03 »
Lainaus käyttäjältä: Tommi S. link=topic=35767.msg281323#msg281323
Mutta kun minä en ole mitenkään vakuuttunut siitä että sinun ja parin muun esittämä määritelmä on se "olemassaoleva" vanha määritelmä.

Se on vanhin ja se on teknisesti voimassa oleva eikä pohjaudu markkinointiin kuten sun käyttämäs.

Lainaus
UNIXissa on erikseen käyttöjärjestelmän ydin, eli kerneli. Linux on ydin, eli kerneli, (katso vaikka kernel.org), mutta minkä ydin se on?

Mistä unixista puhut?
Onko linux mikroydin vai monoliittinen?
Tiedäks mitä eroa on käyttöjärjestelmä ytimellä ja käyttöjärjestelmän ytimellä?

Lainaus
Linux is a clone of the operating system Unix, written from scratch by Linus Torvalds with assistance from a loosely-knit team of hackers across the Net. It aims towards POSIX and Single UNIX Specification compliance.

It has all the features you would expect in a modern fully-fledged Unix, including true multitasking, virtual memory, shared libraries, demand loading, shared copy-on-write executables, proper memory management, and multistack networking including IPv4 and IPv6.

Lainaus
The operating system interacts directly with the hardware, providing common services to programs and insulating them from hardware idiosyncrasies. Viewing the system as a set of layers, the operating system is commonly called the system kernel, or just the kernel, emphasizing its isolation from user programs. Because programs are independent of the underlying hardware, it is easy to move them between UNIX systems running on different hardware if the programs do not make assumptions about the underlying hardware.

Lainaus
A monolithic kernel is a operating system architecture where the entire operating system is working in the kernel space and alone as supervisor mode. The monolithic differs from other operating system architectures[1][2] in that it defines alone a high-level virtual interface over computer hardware, with a set of primitives or system calls to implement all operating system services such as process management, concurrency, and memory management itself and one or more device drivers as modules.

Lainaus
In our view, the only way to improve operating system reliability is to get
rid of the model of the operating system as one gigantic program running
in kernel mode
, with every line of code capable of compromising or bring-
ing down the system. Nearly all the operating system functionality, and
especially all the device drivers, have to be moved to user-mode processes
,
leaving only a tiny microkernel running in kernel mode.