28 éve Veletek – 1998– PC Dome / 2012– PlayDome

Játékot kellene fejleszteni!



Írd ide hozzászólásod:

predator
predator [629]
Ha már így szeretjük egymást... Nem mondtam hogy utállak, de nem szeretem ha kioktatnak...

1. A szavaidból nem ez jött ki. A Win9x azért olyan amilyen, mert a Win3.x-el való kompatibilitást meg kellett őrizni. Emiatt sok helyen preemtív ütemező helyett cooperatív multitaszkingot használ, vagyis a program nem egy időszeletet kap hanem megkapja a vezérlést és dolgozik, amíg eszébe nem jut visszaadni a rendszernek. Belátható, hogy helyesen megírt programokkal ez a dolog is működne, de sajnos a világ nem ilyen.
Továbbra is azt mondom, hogy nem kernelhibából fagy le a Windowsod, ha zenehallgatás közben, akkor érdemes a hangkártya drivert megpiszkálni. És emellett állítom tovább, hogy ha szar a Windows nem kell használni.

2. Idézet magamtól: "Ugyanakkor a C regeteg dolgot kiválthat: pl. a hardveres taszkváltást megnézném hogy csinálod meg C-ben, de lehet szoftveresen is csinálni, ott viszont feleslegessé válik az assembly"
Azzal kezdeném, hogy ÉN mondtam először, hogy oprendszeríráshoz elengedhetetlen az assembly, TE hurrogtál le, hogy ezeket C-ben írják.
Képzeld el ezt a rendszert:
- flat memória, vagyis nem lesz szükségünk szegmensekre! Amennyire mégis (mert definiálnink kell bizonyos szegmenseket, mégha azok a teljes memóriát le is fedik) ezeket elintézzük az inicializáló ASM kódban. A lapcímtár kezelhető C-ből.
- akár szoftveres akár hardveres taszkváltást alkalmazunk TSS-re szükségünk lesz. Előbbi esetben 1-re utóbbiban minden taszkhoz 1. A TSS szintén egy struktúra lehet C-ben...
...folytassam a sort? Indíthatnánk egy "írjunk Windows II-t" cikksorozatot a Dome fórumon
Ha ügyesen csinálod a kód elenyésző része van assemblyben.
Az LGDT és LIDT utasításokat nem tudod elkerülni, de ugyanígy C-ből nem tudsz felváltani védett módba, tehát az inicializáló kód mindenképp assembly-ben íródik (később viszont nincs szükség az általad emblített utasításokra) Később is vannak kritikus részek, melyek nem valósíthatók meg C-ben, de ezeknek igen kicsi az aránya a teljes kernelhez képest...

3. Talán mert a C erre lett kitalálva. De ez még nem jelenti azt, hogy csak a C alkalmas rá. Játékot is mindenki Visual C++-ban ír, és el sem tudják képzelni, hogy mással is lehet (ennek érdekében a DirectX SDK-ban a picipuha meg is szüntette ugye a Borland C++ Builder támogatást)

4. Érdekes lenne, hogy ha a C nyelvvel kapcsolatban folyamatosan a gcc-t emlegetnénk...

5. Én viszont ennyit mondtam: Nem fog 3 hónap után oprendszert írni C-ben. És ebből indult az egész vita, mert te ezt úgy értelmezted, hogy C-ben nem lehet oprendszert írni!

Vissza

Fórumszabályzat