Avatar billede walker Nybegynder
05. juni 2002 - 15:41 Der er 3 kommentarer og
1 løsning

Programmer operativ systemer

Hej.
Jeg vil lige høre om jeg kan samle lidt information om hvordan man programmerer et operativ system. Hvilke sprog, hvordan man ligger MBR på diske osv. Kort og godt, over hele linien :-) stort projekt, men mest for informationens skyld.

MVH Walker
Avatar billede jakoba Nybegynder
05. juni 2002 - 16:01 #1
Operativsystemer er sædvanligvid opdelt i lag

Kernen.
    Den hårde kerne at finktioner og kontroller og interrupthandtering der bliver brugt masser af gange.
    Det er ofte programmeret i assembler fordi hastigheds forbedringer der giver stor forbedringer for brugeren.

Udenom kernen er der en skal af supportfaciliteter, de er ikke så tidskritiske så de kan være programmeret i hvad sprog man nu vil. C er nok det hyppigst anvendte sprog til dem, men det kan være hvadsomhelst.

Og udenom igen er der så et antal utilities. Det kan være stort eller lille og hvad sprog det er skrevet i er helt ligegyldigt.

mht selv at programmere et styresystem, så må jeg give dig ret. Det ER et stort projekt.

en rimelig simpel beskrivelse: http://www.doc.ic.ac.uk/~kpt/opsys/

men nutildags skal sådan en kerne jo supportere multitasking på flere niveauer, det bliver det en god del mere kompliceret af: http://www.kernelhacking.org/

mvh JakobA
Avatar billede walker Nybegynder
05. juni 2002 - 16:58 #2
Takker for et godt svar :-)
OK, hvis jeg vil bygge en simpel disk med boot, som starter et lille program, uafhængelig af andet software, hvor starter jeg så?

PS. Hvis nogen har lyst til at diskutere dette emne, og udveksle viden, kan I skrive på min ICQ# 72313831 og måske finde ud af noget :-)
Avatar billede jakoba Nybegynder
05. juni 2002 - 17:55 #3
Medmindre du lige er IT-studerende ville jeg nok anbefale at du køber en færdig driver (og sørger for at få en GOD interface manual med i købet). Det i sig selv er et emne.

Her er en nogenlunde fornuftig beskrivelse af interfaces og drivere.
http://www.storage.ibm.com/hdd/library/interfaces.htm

til at lave en driver får du brug for mere hjælp end jeg kan give. fx:
http://www.pearsonptg.com/book_detail/0,3771,0201175142,00.html

Med driveren opnår du at kunne sætte 2 (eller 1) takl og sige "den sektor skal skrives" eller "den sektor skal læses"; og ikke vældig meget mere.

Hvordan diverse data (eg MBr og root dierectory) så skal placeres er konventioner du selv vedtager for det den driver og det operativsystem du nu vil lave.
Nogen gange lægger man dem helt ude i periferien af disken (hvor en track's cirkel har den længste omkreds og derfor er mest fejlsikker)
Andre gange ligger de som den midterste track (så der er mindst mulig søgetid ud til de tracks den peger på). Al den slags information er så driver-parametre for den disk (ligger i Bios eller et lignende stykke ROM), og kan sagtes variere fra disk til disk.
Det jeg beskrev ovenfor var nok en floppy.
På en moderne Harddisk er meget af det flyttet ud i en lille mikroprocesser der er en del af selve disken, og der skal du bare holde nallerne fra det, for det kommer ikke dig ved hvordan den gemmer sine data.
Og på en CD er det anderledes igen.

mvh JakobA
Avatar billede jakoba Nybegynder
05. juni 2002 - 17:56 #4
Ups.  takl -> tal
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester