Gå til innhold

Anbefalte innlegg

Videoannonse
Annonse
Jeg får vel begynne å hjelpe til litt jeg og :p

9438943[/snapback]

 

Jeg og! Bare å si ifra når du trenger systemlyder, Grusom ;)

9477698[/snapback]

 

 

Hohoho, det ligger nok noen ÅR frem i tid :whistle::tease:

9477911[/snapback]

 

Klar over det, det var humoristisk ment :cool:

 

...sikkert derfor jeg aldri ble noe flink til å programmere og - jeg begynner liksom i den enden jeg synes er moro :)

Endret av Zabulon
Lenke til kommentar
  • 2 måneder senere...
Det skal være en microkernel ja smile.gif

 

Microkernel? Interessant.

 

Vil det bli slik som QNX være i stand til å reparere deler av seg selv som feiler?

 

Siden du skriver microkernel så vil sikkert Minix være interessant da dette også er microkernel og til dels laget for å lære av. (Linus studerte og lærte av Minix når han lagde Linux.)

 

Forøvrig ser Minix ut til å gå i retningen å bli det første seriøse microkernel-US for desktop bruk påx86. (Vel, egentlig litt rettet mot embedded... men av alle microkernel jeg har hørt om virker denne mest lovende.) Håper mye ting(GNOME, etc...) blir portet over fort. Tenk deg hvor mye mer "stabilt"(dvs. fault-tolerant, men det vil oppleves som stabilt) et slik OS potensielt kan være. :)

Endret av TLZ
Lenke til kommentar
  • 8 måneder senere...

Jeg beklager så meget for mega-bumpen, men er det absolutt *ingen* aktivitet på Dvorient lenger? Jeg driver og skriver mitt eget OS (egentlig bare en liten kjerne med noen få funksjoner) i C nå, kun for å føle hvor stor friheten er og for å lære *enda* mer om low-level-programmering (kan aldri få nok)...

Lenke til kommentar

Hadde et lignende prosjekt sjøl for 5 år siden elns. ChrMLOS kallte jeg det :D. Det hadde full virtuell minne support, kernelen levde i kernel spacet fra 2GB til 4GB mens brukerspacet var 0-2GB. Det fungerte som bare det :), den andre bootloaderen jeg skreiv sørget for dette (den første var den som loadet den andre fra FAT12 sektoren).

 

Kernelen hadde også full dynamisk minne support, kalloc(), kfree() etc... og allokerte pager etterhvert som de trengs. Helt basert på min egen måte å gjøre ting på. Kernelen hadde support for compile-time drivere (dvs drivere som compiles med kernelen og kan startes uten å være avhengig av filsystemet), og den hadde et ganske neat interface til dem som lot de fleksibelt kunne utvide funksjonaliteten til kernelen og adde støtte for all slags hardware.

 

Det hadde også multithread support, med idle thread med prioritet None som halt-a CPU-en når det var ingenting annet å gjøre :). Hadde et veldig godt konsept, et poengbasert round-robin system, hvor alle threads fikk et visst antall poeng hver gang de hadde kjørt. Jo høyere prioritet, jo mindre poeng fikk de hver gang. Det var alltid den threaden med minst poeng som fikk kjøre neste gang.

 

Det OS-et var skrevet i C btw, men skulle jeg skrevet et i dag så hadde jeg nok vurdert C++ da det er mye mer moderne og gjør det enklere å maintaine en god base. Performance-wize så er det ingen forskjell.

 

Hadde skrevet en floppy og en hdd driver som funka fjell :) og var igang med FAT12 driveren. Var morro dette :D og kunne tenke meg å ta opp igjen prosjektet, men har egentlig ikke så lyst pga at alle selvskrevne OS-er er dømt til å feile pga en ting: Det må skrives drivere til det.

 

Enten må det være support for linux/unix drivere og dette vil nesten tvinge deg til å basere deg på dette, eller så må du emulere det, eller så må alle driverene ha support for dette OS-et, noe som ikke kommer til å skje. Når folk ikke kan kjøre OS-et med støtte for sin hardware, så ønsker de ikke å bruke det. Derfor uansett hvor godt konseptet er så failer 99% av alle hjemmeskrevede OS.

Endret av chrml
Lenke til kommentar
  • 2 måneder senere...
Ikke noe aktivitet der som jeg vet om, men jeg er interessert i å ta det opp igjen; problemet var at vi hadde ingen som visste noe om hardware programmering.

Jeg skriver på en kjerne som kanskje kan brukes til dvorient. Foreløpig gjør den ikke så mye, men jeg har akkurat fått til å kjøre et program i userspace som skriver tekst på skjermen via en funksjon i kjernen (userspace-programmene har ikke tilgang til hardware selv).

Lenke til kommentar

Ja gjerne, det hadde jeg satt veldig pris på. Eventuelt kan jeg ta en liten omskriving om det er nødvendig(navnet ditt blir selvsagt beholdt som credit for det) Har ikke noen pascal compiler her, men jeg går utifra at det finnes en til gcc.

 

Send den gjerne til meg på melding her, eller til mail adressen min

henning punktum moe at hotmail punktum com

Lenke til kommentar

Jeg bruker freepascal, hvis du skal bruke GNU pascal får du sikkert masse problemer med inline assembly-syntaks osv...

 

Jeg legger den ut her: http://home.no.net/tsg1zzn/kudos-13102008.zip . Zip-fila inneholder et floppy-image, så du trenger ikke å kompilere for å teste (jeg har bare testa den i VMware foreløpig).

 

Det som må gjøres på selve kjernen er:

1. Lage en scheduler etter smak og behag i multitasking.pp (enkelt å lage en enkel en)

2. Implementere systemkall etter smak og behag i syscalls.pp, inkludert support for driverprosesser (vanskelig)

3. Lage et system som pakker et root-task sammen med kjernen og kjører det under boot (veldig enkelt)

 

Så kan man gjøre hva man vil i root-tasket sitt, f.eks. laste inn drivere, lage filsystem, kjøre programmer, etc...

Endret av tsg1zzn
Lenke til kommentar

Ah fancy. Jeg skal kikke på dette i morgen.

 

Takker for interessen :)

 

edit:

 

Da har jeg lastet ned båda koden din, og installert freepascal på lappisen, så skal jeg kikke på dette når jeg får tid.

enten i morgen kveld, eller i nyskapningstimene på onsdag, jeg tror det faget kommer til å drepe meg en dag...

Endret av GeirGrusom
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...