Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Millä käyttöjärjestelmät on tehty?

Sivun loppuun

punppis [13.06.2008 07:30:37]

#

Miten käyttöjärjestelmät siis tehdään? Ihan mielenkiinnosta olen jo pitkään miettinyt, että mikä esimerkiksi mahdollistaa Windowsin toiminallisuuden. Tätä on vähän vaikea selittää, mutta haluaisin tietää, että mistä kaikki saa alkunsa kun esim. tietokone käynnistetään.

Sen sain wikipediasta ja goolettamalla selville, että ensin käynnistetään firmware (bios?), jonka jälkeen sitten yritetään käynnistää toinen käyttöjärjestelmä (windows). Mutta millä kielellä nämä käyttikset on sitten tehty, C ei taida ihan suorilta toimia, koska eihän sinulla ole käyttöjärjestelmää alla! Oman käsitykseni mukaan taas Assemblyllä koodaaminen on erityisen työlästä, joten eikö esim. Windowsin tai Linuxin kokoisen systeemin koodaamiseen menisi ikuisuus?

Blaze [13.06.2008 09:05:59]

#

C:llähän nuo, ja pienen pätkän tarvitsee Assemblyä.

Dude [13.06.2008 09:10:28]

#

Se käynnistys menee niin että bios käynnistää MBRrällä(Master Boot Record) olevan koodin joka käynnistää jonkun homma joka on osion alussa(windows) ja se käynnis tää widowsin. Linuxissa taas käynnistylataaja lataa kernelin muistiin ja siirtyy suorittamaan sitä. Ja käyttöjärjestelmät tehdään Ceellä ja assemblyllä.

hunajavohveli [13.06.2008 09:23:22]

#

punppis kirjoitti:

C ei taida ihan suorilta toimia, koska eihän sinulla ole käyttöjärjestelmää alla! Oman käsitykseni mukaan taas Assemblyllä koodaaminen on erityisen työlästä

C:llä koodattu ohjelma ei vaadi alleen valmista käyttöjärjestelmää sen enempää kuin Assemblylläkään koodattu. Molemmat käännetään lopuksi ihan samalle prosessorin konekielelle.

Lebe80 [13.06.2008 09:38:22]

#

...sokerista, meiramista, niistä on käyttöjärjestelmät tehty.

Kray [13.06.2008 10:31:37]

#

Lebe80 kirjoitti:

...sokerista, meiramista, niistä on käyttöjärjestelmät tehty.

En tiennytkään :o kiitos tästä informaatiosta :D

Pekka Karjalainen [13.06.2008 11:09:05]

#

http://bellard.org/qemu/
http://www.cs.utah.edu/flux/oskit/

Onkohan muuten totta, että kaikki käyttöjärjestelmät tehdään C-kielellä?

Turatzuro [13.06.2008 11:25:53]

#

Tuossa jotain juttua siitä mitä tapahtuu kun virtanäppäintä hakataan niin että taikalaatikkoon syttyy valo :)

http://www.mossywell.com/boot-sequence/

Ja jos nälkä kasvaa lukiessa, niin lisää asiaa yleisestä käyttiksen koodaamisesta löytyy vielä täältä:

http://www.osdev.com/

Lebe80 kirjoitti:

...sokerista, meiramista, niistä on käyttöjärjestelmät tehty.

Windowsiin on kyllä käytetty suolaa ja chilipippuria >_<

aegis [13.06.2008 11:55:00]

#

Pekka Karjalainen kirjoitti:

Onkohan muuten totta, että kaikki käyttöjärjestelmät tehdään C-kielellä?

Suurin osa ainakin

Päärynämies [13.06.2008 12:19:23]

#

Tosiaan, kuten täällä on jo todettu, niin C:tä käytetään eniten käyttöjärjestelmien ydinten ohjelmointiin. Jos käyttisten koodaaminen/toiminta kiinnostaa niin tuo Turatzuron osoittama osdev -linkki on ihan hyvä lähde. Kannattaa myös tutusta Intel Developer Manuaalien osaan 3, jos nyt oikein muistan.

Ja tosiaan C:llä ei tarvitse sitä käyttistä, mutta käyttöjärjestelmää kun aloittaa koodailemaan, niin eivät ne standardikirjastojen tarjoamat hyödykkeet ole tietenkään käytössä.

Mainitsempa tähän vielä MenuetOS:n (http://www.menuetos.net), joka on melko nuori assemblyllä kirjoitettu käyttöjärjestelmä. Taitaa jo ihan mukavasti olla ominaisuuksia siinä. Jokainen voi tietysti pohtia, että miten järkevää se nyt on ollut kirjoittaa koko käyttis assemblyllä.

Pekka Karjalainen [13.06.2008 14:50:27]

#

aegis kirjoitti:

Pekka Karjalainen kirjoitti:

Onkohan muuten totta, että kaikki käyttöjärjestelmät tehdään C-kielellä?

Suurin osa ainakin

Kiinnostavaa. Mistä olet laskenut tämän tiedon?

Blaze [13.06.2008 15:00:43]

#

Veikkaisin, että kyseinen tilasto on saatu käyttäen Stetson-Harrisonin menetelmää.

jormi [13.06.2008 15:30:28]

#

Google löytää Stetson-Harrison menetelmästä hämmästyttävän paljon tekstiä. JVM

Pekka Karjalainen [13.06.2008 16:58:25]

#

C-kieli sisältää voimakkaita kohtauksia, eikä sitä suositella Stetson-Harrison-menetelmää käyttäville.

Juice [13.06.2008 17:35:29]

#

punppis kirjoitti:

...koska eihän sinulla ole käyttöjärjestelmää alla!

Pyydän kaikilta nyt anteeksi, että valitan kielestä, mutta sinä-passiivi on sanalla sanoen hyytävä.

punppis kirjoitti:

eikö esim. Windowsin tai Linuxin kokoisen systeemin koodaamiseen menisi ikuisuus?

Kyllä. Sen takia tekijöitä on katsos monta :)

vehkis91 [15.06.2008 20:01:20]

#

käytetäänkö c++ käyttiksissä?

moptim [16.06.2008 18:34:28]

#

Vähän korkeammalla tasolla. Muistetaanhan myös, että Haskell on ainoa oikea kieli käyttiksen koodaamiseen asmin rinnalla. http://programatica.cs.pdx.edu/House/ :D


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta