Enhjørningen Skrevet 5. juni 2014 Del Skrevet 5. juni 2014 (endret) .... Endret 17. juni 2018 av MariusiNorge Lenke til kommentar
Emancipate Skrevet 5. juni 2014 Del Skrevet 5. juni 2014 http://wiki.osdev.org/Main_Page Hvis du ikke vil lage din egen linux-distro: http://www.linuxfromscratch.org/lfs/ 1 Lenke til kommentar
Djn Skrevet 5. juni 2014 Del Skrevet 5. juni 2014 (endret) Du må et par hakk lavere - den klassiske starten er å skrive en bootloader. Da må du håndskrive litt 16-bits assembly for å laste en blokk data inn i minnet med BIOS-funksjoner, og så hoppe til starten av den blokken, som typisk vil begynne med litt mer håndskrevet kode for å bytte til 32-bits eller 64-bits mode og deretter hoppe til noe mer komplisert kode som kanskje er kompilert. Deretter kan du forsåvidt skrive C og kompilere det til kjørbare blokker kode [1] - men husk at du ikke har noe standard library, ikke noe library-loading; ingen filsystemfunksjoner, ingen printf... og ingen drivere. Det finnes noen standarder (f.eks. SVGA, som alt moderne fortsatt støtter) som lar deg skrive tekst på skjermen og slikt, men ikke regn med USB eller nettverk. Harddisker med AHCI er noenlunde standardisert, men jeg aner ikke hvor komplisert det er. Du må i praksis lage alt selv; det eneste du får er selve C pluss de funksjonene kompilatoren kan redusere til ren C uten systemkall for deg. Åja, og du må selv skrive koden for å separere kernel/userland, for å starte separate programmer, og for å bytte mellom dem. (Og jeg vil ikke tenke på hvordan man spinner opp flere kjerner, eller styrer dem). Det letteste er å teste ting i en VM (qemu har bedre debugging, virtualbox er enklere og mye raskere), så slipper du å bekymre deg for å dedikere en fysisk harddisk (eller en floppy!) til det. Det finnes ellers en del informasjon på nettet om dette (f.eks. osdev.org som Tåkelur lenket) , og det er et fascinerende fag på IFI (UiO) som går ut på å lage et OS. Du kan se på semestersiden for et av de gamle årene for en grei liste med litteratur. Åja, og det er C og assembly som er de realistiske språkene her. Det finnes noen få andre språk som teoretisk kan fungere, men det er en grunn til at alle moderne OS har en kjerne av C. [1] På et annet OS - det vil ta mye kode før du har et OS som kan kjøre en C-kompilator. Endret 5. juni 2014 av Djn 5 Lenke til kommentar
Gjest Slettet+9871234 Skrevet 6. juni 2014 Del Skrevet 6. juni 2014 Begynn med å studer åpen kildekode. Ha minimaisme som mål. Jeg tror det kan være noe å vinne på det. Skriv det gjerne i C. Lenke til kommentar
etse Skrevet 8. juni 2014 Del Skrevet 8. juni 2014 Både på UiO og UiT gis en kurs i operativsystemer hvor man må lage sitt eget veldig enkle operativsystem fra bunnen. Dette kurset ble laget i samarbeid med princeton, som har masse ressurser tilgjengelig på deres nettsider. Du kan jo kanskje prøve å se over foilene de har der? Selv lærte jeg kjempe mye fra det kurset. http://www.cs.princeton.edu/courses/archive/fall04/cos318/ Lenke til kommentar
quantum Skrevet 8. juni 2014 Del Skrevet 8. juni 2014 http://www.cs.princeton.edu/courses/archive/fall04/cos318/ Tannenbaum har forfattet læreboka til kurset, som jaggu var å finne her: http://www.zuhairqadir.info/UOL/OS/OS1.pdf Minix var Andrew Tannenbaums operativsystem spesielt utviklet for å være basis i undervisning om operativsystemer, og det som ga Linus inspirasjon til å lage Linux. I dag er visst Minix 3 rettet inn mot å være brukbart i produksjon, fortrinnsvis embedded. Antar det OS'et man er med på å bygge i dette kurset er ganske Minix-aktig. 1 Lenke til kommentar
GeirGrusom Skrevet 10. juni 2014 Del Skrevet 10. juni 2014 Dersom du kan C# fra før så kan det være nyttig å sjekke ut COSMOS. Dette er et operativsystem skrevet mer eller mindre fullstendig i C#, og mer et OS Kit som fikser de mest grunnleggende tingene enn et fullverdig operativsystem. 1 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å