Moskus Skrevet 13. mars 2007 Del Skrevet 13. mars 2007 Go GeirGrusom (if Grusom is the case)! Jeg kan garantert ikke bidra med noe i begynnelsen, men støtter prosjektet fullt ut. Jeg har kun en idé, noe som kan bli vanskelig å gjennomføre med tanke på copyright, men jeg synes at feilmeldinger skal etterfølges av et random sitat fra signaturen til GG... Lenke til kommentar
Giddion Skrevet 13. mars 2007 Del Skrevet 13. mars 2007 (endret) Har en liten begynnelse på et oversiktsdokument (PDF)spec.pdf Hadde satt pris på om noen skumleste litt igjennom den og sagt hva som må endres, eller legges til. Noen ting kan være litt dårlig forklart også. ... 8138913[/snapback] Jeg fant et par punkter. Håper de hjelper Punkt1-3 Side 3 under TextStream Punkt1 Hva er denne god for? int readLine() Punkt2 Hva med å legge til disse? int readLine(character *dst, qword numchars) int writeLine(character *src, qword numchars) Punkt3 Hvordan skal man få charen? int readChar() Burde den ikke se slik ut? int readChar(character *dst) Punkt4 Jeg er vet jo ikke helt hvordan eventsystemet ditt vil fungere, men hadde det vært en ide å legge til muligheten til å sende litt data med eventene. (slik som jeg leser det så finnes ikke denne muligheten) Endret 13. mars 2007 av Giddion Lenke til kommentar
GeirGrusom Skrevet 13. mars 2007 Forfatter Del Skrevet 13. mars 2007 (endret) Har en liten begynnelse på et oversiktsdokument (PDF)spec.pdf Hadde satt pris på om noen skumleste litt igjennom den og sagt hva som må endres, eller legges til. Noen ting kan være litt dårlig forklart også. ... 8138913[/snapback] Jeg fant et par punkter. Håper de hjelper Punkt1-3 Side 3 under TextStream Punkt1 Hva er denne god for? int readLine() Punkt2 Hva med å legge til disse? int readLine(character *dst, qword numchars) int writeLine(character *src, qword numchars) Punkt3 Hvordan skal man få charen? int readChar() Burde den ikke se slik ut? int readChar(character *dst) Punkt4 Jeg er vet jo ikke helt hvordan eventsystemet ditt vil fungere, men hadde det vært en ide å legge til muligheten til å sende litt data med eventene. (slik som jeg leser det så finnes ikke denne muligheten) 8146192[/snapback] Takk Jeg har tenkt litt på event, greiene, og har kommet frem til at man kanskje kan sende med en peker, og en størrelse, deretter blir det opp til programmet å lese dataene. Så en event blir noe slikt: typedef struct _EventParameters { dword dataLength; dword highparam; dword lowparam; } ParameterInfo; typedef int (*EventPtr) (processhandle process, ParameterInfo *param); edit: jeg ombestemte meg litt med parameterne, det blir en slags "inheritence" sak her ParameterInfo blir istedet passed by reference, og ParameterInfo vil bare være grunntypen. Dermed kan man lage egne strukturer som blir gitt som parameter, pluss at det sparer noen klokkesykluser. eksempel: typedef struct MouseOverArgs { ParameterInfo base; dword x; dword y; dword buttons; } int OnMouseOver(processhandle process, ParameterInfo *param) { MouseOverArgs *e = (MouseOverArgs)param; if(e->x == 100) printf("Hello world!"); } bindEvent(current_process, (EventPtr)&OnMouseOver); Endret 14. mars 2007 av GeirGrusom Lenke til kommentar
GeirGrusom Skrevet 14. mars 2007 Forfatter Del Skrevet 14. mars 2007 Jeg har laget en XML fil som skal forklare hvordan Programkode formatet skal fungere, det er ikke helt i boks enda, men det kommer. Denne XML fila skal bli parset av linkeren, alle detaljer er ikke undersøkt enda. Flere kommentarer hadde vært flott executableFormat.xml Lenke til kommentar
Gjakmarrja Skrevet 14. mars 2007 Del Skrevet 14. mars 2007 Jeg følger med i spenning på denne tråden Men det kan da ikke være så utrolig vanskelig så folk vil ha det til, greit nok det er kanskje jævlig mye arbeid, men ikke "direkte-vanskelig". Mener nå å ha lest en "linux-from-scratch" programmeringsbok. Link.... Du burde vel kanskje implementere det som et linux basert system, hvis ikke må vel skrive dine egne device-drivere? (Eller er jeg helt på jordet? Isåfall beklager jeg. ) Du finner jo ikke opp hjulet på nytt, du tar jo "bare" eksisterende løsninger å gir de en ny vri. Det er et stykke å gå, men seriøst. Hvis du ikke gir opp kommer du i mål en gang, toldmodighet <3 Blir iallefall knall og se hva dette kan ende med Lenke til kommentar
Jaffe Skrevet 15. mars 2007 Del Skrevet 15. mars 2007 Du burde vel kanskje implementere det som et linux basert system, hvis ikke må vel skrive dine egne device-drivere? 8157512[/snapback] Jeg tror litt av det GeirGrusom ønsker forsvinner da. Han vil vel skrive sitt eget OS fra scratch -- ikke basere det på en Linux. Lenke til kommentar
GeirGrusom Skrevet 15. mars 2007 Forfatter Del Skrevet 15. mars 2007 Ja, jeg har tenkt at vi bruker om igjen ting vi ikke kan forbedre, eller som det ikke er nødvendig å endre. I dette tilfellet, må nok driverarkitekturen endres. Det skal ikke baseres på noenting, planen er å se hvordan andre har gjort det, og se om vi kan lage en bedre løsning på det. - Vi har bestemt å ikke skrive en egen bootloader. - Vi begynner med FAT32 i første omgang, siden det er såpass simpelt, og jeg har Microsoft sin dokuementasjon. - Jeg skriver nå en linker i C#, kommer ikke langt uten programmer å starte. Lenke til kommentar
Emancipate Skrevet 15. mars 2007 Del Skrevet 15. mars 2007 Du kan jo ikke lage linkeren i C#. C# trenger en JIT-kompilator. For å starte denne trenger du en linker... Lenke til kommentar
ze5400 Skrevet 15. mars 2007 Del Skrevet 15. mars 2007 Kan han vel Det er C# trenger en JIT kompilator har da ingenting med saken å gjøre? Lenke til kommentar
GeirGrusom Skrevet 15. mars 2007 Forfatter Del Skrevet 15. mars 2007 Man kan skrive både compiler og linker i hvilket språk man ønsker. Linkeren sin oppgave er å kople sammen alle deler av et program(link), og lage en binærfil (EXE eller ELF) som kan leses av operativsystemet. Så det går fint det. Lenke til kommentar
Emancipate Skrevet 15. mars 2007 Del Skrevet 15. mars 2007 (endret) > Man kan skrive både compiler og linker i hvilket språk man ønsker. Å den linkeren, ja! Den linkeren hører jo mer eller mindre til programmeringsspråket/kompilatoren. Ettersom denne tråden handler om å skrive et nytt OS og ikke et nytt programmeringsspråk eller en ny kompilator trodde jeg du mente den dynamiske linkeren som er i OSet. (Den som f. eks. leser eksport-tabellen i et program og laster inn de nødvendige DLL-filene på Windows). Edit: Jeg tror nok du bør bruke en eksisterende kompilator med tilhørende linker hvis du noen gang skal komme i gang med selve OSet. Endret 15. mars 2007 av tsg1zzn Lenke til kommentar
Jaffe Skrevet 15. mars 2007 Del Skrevet 15. mars 2007 > Man kan skrive både compiler og linker i hvilket språk man ønsker.Å den linkeren, ja! Den linkeren hører jo mer eller mindre til programmeringsspråket/kompilatoren. Ettersom denne tråden handler om å skrive et nytt OS og ikke et nytt programmeringsspråk eller en ny kompilator trodde jeg du mente den dynamiske linkeren som er i OSet. (Den som f. eks. leser eksport-tabellen i et program og laster inn de nødvendige DLL-filene på Windows). Edit: Jeg tror nok du bør bruke en eksisterende kompilator med tilhørende linker hvis du noen gang skal komme i gang med selve OSet. 8161656[/snapback] Men nå har det seg jo slik at han vil bruke et eget binærfilformat. Det fins jo selvsagt ingen linkere som tar hånd om hans format? Lenke til kommentar
Emancipate Skrevet 15. mars 2007 Del Skrevet 15. mars 2007 Det må da likevel være enklere å ta GNU ld og legge til støtte for et nytt format. Lenke til kommentar
Moskus Skrevet 15. mars 2007 Del Skrevet 15. mars 2007 Så vidt jeg har forstått så er det ikke meningen at å lage det skal være enkelt, men at OSet skal være enkelt... Og så er det tøffere å skrive det selv. Lenke til kommentar
Emancipate Skrevet 15. mars 2007 Del Skrevet 15. mars 2007 Jo da, men det han gjør nå er jo litt som å begynne med å pløye jorda og dyrke korn fordi han skal finne opp en ny og bedre kake. Lenke til kommentar
Emancipate Skrevet 15. mars 2007 Del Skrevet 15. mars 2007 Han kommer til å finne opp en ny og bedre plog istedet for en ny og bedre kake. Lenke til kommentar
Moskus Skrevet 15. mars 2007 Del Skrevet 15. mars 2007 Poenget er jo faktisk å lage ett nytt OS (mer eller mindre) fra bunnen, ikke å lage et nytt basert på et annet. Lenke til kommentar
Emancipate Skrevet 15. mars 2007 Del Skrevet 15. mars 2007 Linkeren har jo lite med OSet å gjøre. Men whatever, det kan jo være morsomt, jeg har selv denne: http://www.bokkilden.no/SamboWeb/produkt.d...oduktId=1025323 Lenke til kommentar
GeirGrusom Skrevet 15. mars 2007 Forfatter Del Skrevet 15. mars 2007 Vi er bare i en planlegginsfase enda, og det er greit å ha testdata, siden det å starte, og holde styr på programmer er målet med et operativsystem, Tilogmed hele målet med en datamaskin. Linker er ikke så fryktelig komplisert å lage, det blir verre med C biblioteker og slikt. TODO: - Minnehåndtering - Filsystem - Program lasting (mye greier her) - Driver arkitektur Jeg kan se for meg at lasting av programmer, og tildeling av minne kan føre til mye rot, Har ikke helt forstått dette med pages enda. Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå