Architektura systemu Windows 9x

Architektura Windows 95. [ wymagane wyjaśnienie ]

Seria systemów operacyjnych Windows 9x odnosi się do jądra , które leży w sercu systemu Windows 9x. Jego architektura jest monolityczna .

Podstawowy kod jest podobny w działaniu do MS-DOS . Jako 16-/32-bitowa hybryda wymaga obsługi MS-DOS do działania.

Pliki krytyczne

System Windows 95 uruchamia się przy użyciu następującego zestawu plików:

32-bitowy interpreter powłoki i wiersza poleceń:

  • SHELL.DLL i SHELL32.DLL – interfejs API powłoki
  • EXPLORER.EXE – powłoka systemu Windows i menedżer plików
  • COMMAND.COM plik wykonywalny powłoki wiersza poleceń

Rdzeń systemu Windows 95:

  • KERNEL32.DLL i KRNL386.EXE — Windows API dla zasobów Windows
  • ADVAPI32.DLL Funkcjonalność dodatkowa do jądra. Obejmuje funkcje rejestru systemu Windows oraz funkcje zamykania i ponownego uruchamiania
  • GDI32.DLL i GDI.EXE — Graficzny interfejs urządzenia
  • USER32.DLL i USER.EXE - implementacja GUI
  • COMMCTRL.DLL i COMCTL32.DLL — wspólne elementy sterujące (interfejs użytkownika)
  • DDEML.DLL Dynamic Data Exchange Management Library (DDEML) zapewnia interfejs, który upraszcza zadanie dodawania funkcji DDE do aplikacji
  • MSGSRV32.EXE Działa jako 32-bitowy serwer wiadomości i nigdy nie pojawi się na liście zadań systemu Windows
  • WIN.COM - odpowiedzialny za ładowanie GUI i części systemu Windows

Rejestr i inne pliki konfiguracyjne:

Menedżer maszyny wirtualnej i menedżer konfiguracji:

  • VMM32.VXD - Menedżer maszyny wirtualnej i domyślne sterowniki. Przejmuje rolę io.sys jako jądro

Instalowalny menedżer systemu plików:

  • IFSHLP.SYS - umożliwia systemowi Windows wykonywanie bezpośrednich wywołań systemu plików z pominięciem metod MS-DOS
  • IFSMGR.VXD — 32-bitowy sterownik dla instalowalnego systemu plików
  • IOS.VXD I/O Supervisor, który kontroluje i zarządza wszystkimi systemami plików w trybie chronionym oraz sterownikami urządzeń blokowych
  • MPREXE.EXE MPRSERV.DLL i MPR.DLL — router wielu dostawców, wymagany do uwierzytelniania sieci i profili użytkowników
  • MSPWL32.DLL Biblioteka zarządzania listą haseł

Sterowniki urządzeń:

  • IO.SYS - plik wykonywalny obsługujący wszystkie podstawowe funkcje, takie jak procedury wejścia/wyjścia , a także służy jako jądro, dopóki vmm32.vxd nie przejmie kontroli
  • HIMEM.SYS - sterownik urządzenia DOS, który umożliwia programom DOS przechowywanie danych w pamięci rozszerzonej za pośrednictwem specyfikacji rozszerzonej pamięci
  • SYSTEM.DRV, MMSOUND.DRV, COMM.DRV, VGA.DRV, MOUSE.DRV, BIGMEM.DRV, KEYBOARD.DRV — sterowniki 16-bitowe
  • CP 1252.NLS, CP 437.NLS, UNICODE.NLS, LOCALE.NLS - układy klawiatury
  • RMM.PDR Real Mode Mapper Urządzenie wirtualne

System może również wykorzystywać CONFIG.SYS , który zawiera ustawienia i polecenia wykonywane przed załadowaniem interpretera poleceń ) oraz AUTOEXEC.BAT , który jest plikiem wsadowym wykonywanym automatycznie po załadowaniu COMMAND.COM. Jednak te dwa pliki nie są krytyczne dla procesu rozruchu, ponieważ IO.SYS zawiera domyślne ustawienie dla obu, na wypadek nieobecności w systemie. W systemie Windows ME pliki CONFIG.SYS i AUTOEXEC.BAT nie są przetwarzane, a LOGO.SYS może służyć jako ekran powitalny.

Sekwencja rozruchowa

Proces uruchamiania systemu Windows 9x składa się z 6 faz. Pierwsze dwa z tych kroków są wspólne dla każdego systemu operacyjnego przy użyciu tradycyjnej kombinacji systemu BIOS i głównego rekordu rozruchowego .

Faza 1 — proces ładowania systemu BIOS ROM

ROM BIOS rozpoczyna wykonywanie pod adresem pamięci fizycznej FFFF0h. Podczas tej fazy system BIOS najpierw przeprowadza autotest podczas włączania , a następnie sprawdza, czy dysk rozruchowy znajduje się na dysku A. Jeśli dysk nie zostanie znaleziony na dysku A, system BIOS sprawdza obecność dysku twardego. Jeśli komputer jest wyposażony w system BIOS typu Plug and Play, system BIOS dodatkowo sprawdza pamięć RAM pod kątem adresów portów we/wy, linii przerwań i kanałów DMA dla urządzeń typu Plug and Play, wyłącza znalezione urządzenia, tworzy mapy używanych i nieużywanych zasobów i ponownie włącza urządzenia.

Faza 2 — główny rekord rozruchowy i sektor rozruchowy

Główny rekord rozruchowy jest ładowany pod adresem 7C00h i ładuje sektor rozruchowy partycji dysku systemu Windows . Sektor rozruchowy zawiera dyskowy program rozruchowy i bloków parametrów systemu BIOS , która wyszukuje lokalizację katalogu głównego i pliku IO.SYS, który następnie ładuje plik IO.SYS do pamięci.

Faza 3 - Inicjalizacja pliku IO.SYS

IO.SYS inicjuje minimalny sterownik tabeli alokacji plików i ładuje MSDOS.SYS do pamięci. Następnie wyświetla komunikat „Uruchamianie systemu Windows” w zależności od linii Boot-Delay w pliku MSDOS.SYS. Następnie ładuje LOGO.SYS i wyświetla obraz startowy na ekranie. Jeśli plik DRVSPACE.INI lub DBLSPACE.INI plik istnieje, ładuje również sterowniki dla skompresowanych dysków. Następnie system Windows próbuje otworzyć plik rejestru SYSTEM.DAT. Jeśli to się nie powiedzie, próbuje otworzyć SYSTEM.DA0. Jeśli skonfigurowano w MSDOS.SYS lub w rejestrze, włączone jest również podwójne buforowanie.

Faza 4 - KONFIG.SYS i konfiguracja trybu rzeczywistego

Windows 95 do Windows 98 analizuje teraz CONFIG.SYS i ładuje sterowniki trybu rzeczywistego MS-DOS . Windows ME to ignoruje. Jeśli plik CONFIG.SYS nie istnieje, plik IO.SYS ładuje sterowniki IFSHLP.SYS , HIMEM.SYS i SETVER.EXE . Windows rezerwuje wszystkie górne bloki pamięci do użytku z systemem operacyjnym Windows 95 lub do rozszerzonej pamięci . Windows 95 do Windows 98 wykonaj COMMAND.COM , aby przetworzyć AUTOEXEC.BAT. Ładuje zakończyć i pozostać rezydentem programy do pamięci. Windows ME ignoruje ten krok, ponieważ obsługa DOS w trybie rzeczywistym jest wyłączona, a ładowanie TSR może zagrozić stabilności systemu.

Faza 5 - zainicjuj sterowniki

IO.SYS uruchamia teraz WIN.COM . WIN.COM ładuje VMM32.VXD do pamięci lub uzyskuje do niego dostęp z dysku twardego. Ten plik zawiera najważniejsze sterowniki i jądro 9x. sterownik urządzeń wirtualnych w trybie rzeczywistym sprawdza duplikaty sterowników urządzeń wirtualnych, które znajdują się zarówno w folderze Windows\System\Vmm32, jak iw pliku VMM32.VXD. W przypadku duplikatów zostanie załadowany sterownik z katalogu Windows\System\Vmm32. Windows 95 do 98 wysyła teraz zapytania do sterowników trybu rzeczywistego, wywołując INT 2Fh i wyszukując sterowniki we wpisie rejestru HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD oznaczonym do załadowania jako plik zewnętrzny. Następnie Vmm32 analizuje sekcję [386 Enh] pliku Windows\System.ini i ładuje wymienione tam sterowniki. Niektóre ważne sterowniki są ładowane, nawet jeśli nie są wymienione w pliku Rejestr systemu Windows , SYSTEM.INI lub w katalogu Windows\System\Vmm32.

Po załadowaniu sterowników urządzeń wirtualnych trybu rzeczywistego następuje inicjalizacja sterownika w systemie Windows 95 do Windows 98. Następnie Vmm32 przełącza procesor z trybu rzeczywistego do trybu chronionego . Następnym krokiem jest inicjalizacja sterowników trybu chronionego, wykonywana w trzech fazach dla każdego urządzenia: krytyczna część inicjalizacji (kiedy przerwania są wyłączone), inicjalizacja urządzenia (kiedy dozwolone są wejścia/wyjścia plików) oraz faza InitComplete. Po zainicjowaniu sterownika ekranu system Windows przełącza się w tryb graficzny.

Faza 6 - Inicjalizacja Win32

Po załadowaniu wszystkich sterowników ładowane są pliki Kernel32.dll , gdi32.dll , Gdi.exe, user32.dll , User.exe, shell32.dll i Explorer.exe . Następnym krokiem w procesie uruchamiania jest załadowanie sieciowego . Użytkownik jest proszony o zalogowanie się do skonfigurowanej sieci. Gdy użytkownik się loguje, jego ustawienia pulpitu są ładowane z rejestru lub konfiguracja pulpitu używa pulpitu domyślnego. Następnie system Windows uruchamia programy zdefiniowane w folderze Autostart, WIN.INI oraz programy zdefiniowane w kluczach rejestru Run, RunOnce, RunServices i RunServicesOnce wewnątrz gałęzi HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion i HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\. Po uruchomieniu każdego programu w kluczu rejestru RunOnce jest on usuwany z klucza.

Jądro

Jądro systemu Windows 9x jest jądrem 32-bitowym z pamięcią wirtualną . Sterowniki są dostarczane przez pliki .VXD lub, od wersji Windows 98, można użyć nowszych sterowników WDM . Jądro systemu MS-DOS pozostaje jednak rezydujące w pamięci. Windows użyje starych 16-bitowych sterowników MS-DOS, jeśli są zainstalowane, z wyjątkiem systemu Windows Me. W systemie Windows Me system DOS nadal działa, ale system Windows zignoruje wszelkie próby załadowania sterowników urządzeń podczas analizowania pliku AUTOEXEC.BAT i przeniesie rozpoznane zmienne środowiskowe z pliku CONFIG.SYS do rejestru systemu Windows.

Zobacz też

Dalsza lektura

Linki zewnętrzne