[PL] Co się dzieje w Windows zanim system realnie się załaduje (PreOS Environment)

No właśnie.. Jeśli jesteście zainteresowani odpowiedzią na to pytanie to zapraszam do arcyciekawego webcasta na Channel 9.

Get Microsoft Silverlight

Dzięki tej audycji dowiecie się trochę więcej na temat mechanizmu bootowania. Poznacie różnice pomiędzy odwołaniami do BIOSa a (U)EFI.

Dowiecie się o różnicach w procesie ładowania systemu operacyjnego (NTLDR a Winload.exe) oraz o BCD (Boot Configuration Data).

Luźno dywagując i próbując odpowiedzieć na pytanie ile kodu DOS’a jest jeszcze w najnowszym Windows, właśnie mając na uwadze BIOS/EFI spróbuję tak:  Przemieniając pytanie na, ile 16bitowego kodu jest jeszcze w Windows, mogę śmiało odpowiedzieć, że na każdej platformie nie wspierającej EFI lecz BIOS: napewno 510 bajtów kodu w MBR.

Ta wiedza jest ciekawa nie tylko dla samej satysfakcji posiadania jej. Twórcy omawiają też solidnie konsekwencje pewnych decyzji wpływające na przykład na bezpieczeństwo systemu operacyjnego.

Artykuł jest na temat Windows Vista, natomiast jest aktualny także dla Windows 7. Ciekawym jest jeszcze porównanie tych mechanizmów z architekturą i implementacją projektu badawczego systemu operacyjnego Singularity. Tutaj mamy wręcz dostęp do źródeł. Bardzo fajnie tam widać jak szybko z MBR (Assembler) przechodzimy w 32bitowe C++ w trybie chronionym, aby bardzo szybko uruchomić Bartoka (kompilator i środowisko uruchomieniowe C# zoptymalizowane do zadań systemowych), a cały kernel już jest w Managed Code.

To już dla fascynatów lub uczelni, gdzie i studenci i wykładowacy mogą odkryć, że nie potrzeba instalować Linux’a, aby na trochę mniejszym projekcie nauczyć się i dowiedzieć co robi i/lub powinien robić system operacyjny.