«« ( Date ) »» // «« ( Thread ) »» // nastava - 2004

Re: PRV cas + PRV KERNEL NA WIN32

by Milan Stanojevic
petak, 16. januar 2004 - 03:25.

Posto nikako nisam mogao da iskompajliram kernel za dos, zbog nekih gresaka
u dos.h, a sve zbog deljenja stacka koji je jedina hardverski zavisna stvar
u kernelu, probao sam juce da nekako nateram kernel da radi na win32.

Uz malo muke, pre svega jer nisam imao msdn kod mene na kompu, pa nisam
tacno znao kako ide inline assembler za Visual C++, uspeo sam da
iskompajliram kernel i da pustim test programce.
Ispalo je vrlo jednostavno.
Sve sto treba je da se u thread.cpp stavi sledece:
#define splitStack(p) __asm { \
__asm mov esp,p \
}

Ne znam kako stoji stvar sa SS registrom, ovako radi.

umesto onog starog. Saljem vam i thread.cpp koji sam prepravio.

Koristio sam test program iz skripte sa strane 118/119. I sve radi bez
problema. Naravno, prvo napraviti win32 console aplikaciju kao projekat u
VC++, dodajte sve fajlove iz kernela i to je to. Koristio sam VC++ 6.0
verovatno radi i u .NET.
Moja je pretpostavka da ovako moze i na Linuxu da radi (na x86 mashini),
samo da se vidi kako je tamo sintaksa za inline assembler i to je to.
Sada naravno ukljucivanje dos.h nije neophodno, somo setjmp.h, a to je i
onako standardni C header fajl na svim platformama.

Nisam ovo puno testirao. Neki ljudi su se na listi zalili da u DOS-u kernel
nikad ne zavrsava jer neki procesi izvise. Ovo u Win XP-u nisam primetio, za
sad sve lepo radi. Posto pretpostavljam da vecina ljudi nema cistu DOS
mashinu, vec koriste ili neki Win 32 sistem (98, 2k ili XP) ili Linux, nadam
se da ce vam ovo pomoci da radite.
Jedini problem je kako uljuciti GUI u sve to. Ja stvarno nemam ideju. Za
sad.

Pozdrav,
Milan


----- Original Message -----
From: "Ana Balevic" <alegria@ikomline.net>
To: "Milan Stanojevic" <nastava@titan.etf.bg.ac.yu>
Sent: Friday, January 16, 2004 8:49 PM
Subject: Re: [nastava] PRV cas


>
> MS> Da li ce biti sutra casova iz PRVa od 3-7?
> Ima i to poslednji cas! Profesor je rekao da bi prva dva sata trebala
> da budu posvecena zanimljivostima i trendovima u PRV, a duga dva sata
> ako nekom nesto nije jasno ;) Mogao bi da probas da iskompajliras i
> pokrenes 'Jezgro' , pa da znamo na cemu smo!
> Ana
>
> -----------------------------------------------------------------
> unsubscribe:
> minimalist@titan.etf.bg.ac.yu?subject=unsubscribe%20nastava
> -----------------------------------------------------------------
>

Attachment: THREAD.CPP
Description: Binary data