Microsoft Windows 9x

Windows 9x er den familie af Microsoft Windows operativsystem, der består af 32-bit DOS-baseret Windows versioner: Windows 95, Windows 98, og ofte også Windows Me, , som blev produceret i 1990'erne og 2000. Alle disse Windows-releases har interne versionsnumre i 4.x serien.

Oversigt 
Lignende til Windows 3.x, Windows 9x-operativsystemer kræver MS-DOS-kernen (Io.sys) til at starte op. Hertil kommer, at MS-DOS hukommelse manager (HIMEM.SYS) er påkrævet, når du kører i real-mode (MS-DOS-tilstand, uden Windows GUI). WIN.COM eksekveres at starte den grafiske brugergrænseflade. I modsætning til Windows 3.x, Windows 9x's WIN.COM indlæses automatisk af systemet, hvis  "BootGUI"  parameter er sat til 1 i Msdos.sys. Under denne proces, CPU'en er skiftet fra reelle tilstand til beskyttede tilstand, og flere virtuelle enhedsdrivere (VxDs) er indlæst. Disse VxD'er tillade Windows 9x til at interagere med hardware ressourcer direkte såvel som leverer flere lavniveau-funktionaliteter såsom 32-bit diskadgang og hukommelse forvaltning.

Windows 9x består af både 32-bit og 16-bit kode. Win32 API er fuldt 32-bit og kører i beskyttet tilstand, men DOS-baserede komponenter, såsom MS-DOS-kernen og mange af dets enhedsdrivere og eksterne kommandoer, er 16-bit og kører i real eller V86 mode. Derudover er nogle af de programmer, der leveres med operativsystemet, som f.eks ScanDisk og Diskdefragmentering, kommer i to versioner: real-mode (f.eks scandisk.exe) og beskyttet tilstand (f.eks scandskw. exe).

Microsoft forklarer følgende: 

 "Some functions, however, are handled by MS-DOS code, although the code itself is running in virtual 8086 mode, not real mode. Functions implemented in this manner ensure backward compatibility with existing real-mode software, such as the Novell NetWare client."

DOS funktioner nævnt ovenfor er håndteret af DOSMGR.VXD og V86MMGR.VXD.

Windows 9x er udformet som en enkelt-bruger system. Således er sikkerhed model langt mindre effektiv end den ene i Windows NT. En af grundene til dette er den FAT filsystemet, som er de eneste, at Windows 9x støtter officielt, selvom Windows NT også støtter FAT 12 og 16 (men ikke 32) og Windows 9x kan udvides til at læse og skrive NTFS-diskenheder ved hjælp af tredjepartsklienter installerbare File System drivere. FAT systemer har meget begrænset sikkerhed; alle brugere, der har adgang til en FAT-drev har også adgang til alle filer på dette drev. FAT-filsystemer giver ingen Access Control List og filsystem niveau kryptering gerne NTFS. 

De fleste af de funktioner og kompatibilitet af Windows 9x operativsystemer blev fusioneret med Windows NT med udgivelsen af Windows XP, som var efterfølgeren til både Windows 2000 og Windows Me.

Arkitektur 

User-mode-delen af Windows 9x består af tre delsystemer: Win16 delsystem, Win32 delsystem, og MS-DOS.  GDI, som er en del af Win32 og Win16 delsystemer, er også et modul, der indlæses i user-mode, i modsætning Windows NT, hvor GDI er indsat i kernel-mode. Kernel-mode delen består af Virtual Machine Manager (VMM), Installable File System Manager (IFSHLP), Configuration Manager, og i Windows 98 og senere også den WDM Driver Manager (NTKERN).  Som et 32-bit operativsystem, er virtuel hukommelserummet 4 GiB, fast opdelt i de første 2 GiB for applikationer og de øvre 2 GiB for kernen.

Register 

Ligesom Windows NT, indsamler Windows 9x bruger-specifik og konfiguration-specifikke indstillinger i en stort informations-database kaldet Windows Registry. Hardware-specifikke indstillinger er også gemt i registreringsdatabasen, og mange enhedsdrivere bruger registreringsdatabasen for at indlæse konfiguration data. Tidligere versioner af Windows anvendte filer såsom AUTOEXEC.BAT, CONFIG.SYS, Win.ini, SYSTEM.INI og andre filer med en .INI udvidelse til at opretholde konfigurationsindstillinger. Da Windows er blevet mere kompleks og har fået indbygget flere funktioner, blev  .INI filer for tungt med de begrænsninger som det daværende indeværende FAT-filsystem indeholdt. Bagud-kompatibilitet med .INI filer blev opretholdt, indtil Windows XP afløste Windows 9x- og Windows NT-linjerne.

Virtual Machine Manager 
Virtual Machine Manager (VMM) er en af de centrale komponenter i Windows 9x. VMM skaber virtuelle MS-DOS-miljøer til systemprocesser og Windows-programmer, der stadig brug for at køre i MS-DOS-tilstand. VMM er erstatning for Win386 i Windows 3.x, og filen VMM32.VXD er en monolitisk fil, der indeholder mange grundlæggende VxD'er, som er nødvendige for opstart af Windows.

Enhedsdrivere 
Enhedsdrivere i Windows 9x kan være virtuelle enhedsdrivere eller WDM drivere. VxD'er normalt har filendelse .Vxd  eller .386 og WDM kompatible drivere normalt bruge filendelse .SYS. 32-bit VxD Message Server (msgsrv32) er et program, der er i stand til at indlæse virtuelle enhedsdrivere (VxD'er) ved start og derefter håndtere kommunikationen med enhetsdrivere. Derudover udfører serveren flere baggrund funktioner, herunder lastning Windows Shell (såsom Explorer.exe eller Progman.exe). 

En anden type af enhedsdrivere er .DRV drivere. Disse drivere er indlæst i user-mode, og er almindeligt anvendt til kontrol af udstyr såsom multimedie-udstyr. At give adgang til disse anordninger, en DLL (Dynamic Link Library) er påkrævet (såsom MMSYSTEM.DLL).

Filhåndtering 
Ligesom Windows for Workgroups 3.11, Windows 9x giver støtte til 32-bit file access, og i modsætning til Windows 3.x, Windows 9x har støtte til VFAT filsystemet, muliggør lang filnavn med et maksimum på 255 tegn i stedet for at have 8,3 filnavn.

Fordele og ulemper

Fordele 
Windows 9x er et hybrid 16/32-bit operativsystem. Det har lavere systemkrav end nutidens Windows NT versioner.

De grafiske brugergrænseflade (GUI) kører på en DOS-baserede lag. Via Windows 9x hukommelse ledere og andre post-DOS forbedringer af det overordnede system ydeevne og funktionalitet er forbedret.

Windows 95 og Windows 98 tilbyder også regressive støtte til DOS-programmer i form af at kunne starte op i en indfødt "DOS-tilstand" (MS-DOS kan startes op uden opstart af Windows, ikke at sætte CPU'en i beskyttet tilstand). Dette adskiller sig fra de emulering i Windows NT-baserede operativsystemer. Nogle meget gamle programmer eller hardware kræver "DOS-tilstand". Under en kommandoprompt-tilstand uden for GUI tilbyder også mulighed for at fastsætte visse systemfejl uden at indtaste GUI. For eksempel, hvis en virus er aktiv i GUI-tilstand kan det ofte være sikkert fjernet i DOS-tilstand, ved at slette sine filer, der normalt er låst mens smittede i Windows. Tilsvarende er beskadiget registerdatabase filer, systemfiler eller boot-filer kan gendannes fra kommandoprompten. Windows 95 og Windows 98 kan startes fra DOS-tilstand ved at skrive  "WIN"  <enter> ved kommandoprompten. Men Recovery Console for Windows 2000, spillet en lignende rolle i at fjerne virus.

Windows 9x kan køre software, der ikke kører på Windows NT. Men Windows XP (som i sagens natur er en version af Windows NT), har kompatibilitetstilstand til at tillade Win32 applikationer til 9x til at køre problemfrit.

Ulemper

Software Beskyttelse 

Windows 9x har aldrig været så stabile som almindelige brugere kræves, af mange årsager. Ofte er det software udviklere af drivere og programmer havde utilstrækkelige erfaringer med at skabe programmer for de "nye" system, hvilket førte til mange fejl, der generelt har været beskrevet som "systemfejl" af brugerne, selv om fejlen ikke er forårsaget af Windows eller DOS. Windows 9x kan opnå høj stabilitet ved hjælp af høj kvalitet enhedsdrivere og omhyggeligt at vælge programmer.

Bruger adgang 

Nogle operativsystemer, der var til rådighed på samme tid som Windows 9x er enten multi-user eller have flere brugerkonti med forskellige adgangsrettigheder, som giver vigtige system filer (f.eks kerneaftryk) for at være uforanderlige under de fleste bruger regnskaber. I modsætning, mens Windows 95 og nyere operativsystemer tilbyder mulighed for at have profiler for flere brugere, de ikke har begreb om adgang privilegier, der gør dem stort set svarer til en enkelt bruger, single-konto operativsystemet, hvilket betyder, at alle processer kan redigere alle filer på systemet, der ikke er åben, ud over at være i stand til at ændre boot sektor og udføre andre lavniveau-harddisk ændringer. Dette gør det muligt for vira og andre skjulte installeret software til at integrere sig med operativsystemet på en måde, som er svært for almindelige brugere til at opdage eller fortryde. Profilen støtte i Windows 9x familie er beregnet til kun, medmindre nogle nøgler i registreringsdatabasen er modificerede, at systemet kan tilgås ved at trykke på "Annuller" på login, selvom alle profiler har en adgangskode. Windows 95's standard login dialogboks giver også mulighed ny bruger profiler, der skal oprettes uden at skulle logge ind først.

Support til software og hardware 

Der er ingen native støtte til SATA-drev, hyper-threading, Data Execution Prevention, symmetric multiprocessing eller multi-core processorer, og de fleste hardware-producenter ikke skib drivere til Windows 98 SE noget mere, så nuværende high-end grafikkort og ydre enheder fungerer muligvis ikke korrekt eller overhovedet.

"Alpha compositing" og dermed gennemsigtighed, såsom fade effects i menuer, der ikke understøttes af GDI i Windows 9x.

Windows 9x har ikke indbygget support for NTFS eller HPFS. Ligeledes er der ingen støtte til Hændelseslog og sporing eller fejlrapportering, som Windows NT familie af operativsystemer har, selv om software som Norton CrashGuard kan bruges til at opnå tilsvarende kapaciteter på Windows 9x.

Designproblemer 
Windows 9x har en række bugs og designproblem, der har bidraget til ustabilitet, når man sammenligner med Windows NT og andre operativsystemer.

c:\con\con 
En af de mest populære og mest rundsendt fejl i Windows 95 og Windows 98 er c:\con\con bug, hvilket kun kan opnås ved hjælp af en af File Allocation Table filsystemer. Ved at indtaste "c:\con\con" (uden anførselstegn) i adresselinjen i Windows Explorer, der er en konflikt mellem Windows og filsystemet, som foranlediger computer til nedbrud. Indtastning c:\con\ con i dialogboksen Kør giver også samme resultat, selv om Windows 95 producerer en mere alvorlig fejl. Dette kan også opnås ved at indtaste "c:\nul\nul" (uden anførselstegn) i adresselinjen. 

Microsoft frigivet en patch til at fjerne fejlen i 1999. Windows Me har ikke denne fejl.

Ubeskyttede hukommelse område 
Selvom Windows 9x har hukommelse beskyttelse, det ikke beskytter de første megabyte hukommelse fra userland applikationer. Dette område af hukommelsen indeholder kode kritisk til driften af operativsystemet, og ved at skrive i dette område af hukommelsen en ansøgning kan  nedbrud eller  frys operativsystemet . Det var en kilde til ustabilitet som fejlbehæftede ansøgninger kunne ved et uheld skrive i denne region og med at standse operativsystemet.

Enhedsdrivere deler adresse rum med kernen 
Enhedsdrivere skrevet til Windows 9x/Windows Me er indlæst i samme adresse rum som kernen. Det betyder, at drivere kan ved et uheld eller design overskrive kritiske dele af operativsystemet. Dette kan føre til, at systemet går ned, fryser og disk korruption. Forkert operativsystem drivere var en kilde til ustabilitet for operativsystemet. Windows NT er også modtagelige for dette problem, men med indførelsen af User-Mode Driver Framework til Windows XP og nyere operativsystemer, dette spørgsmål er rettet til.

Timeout kode afhænger af programkode hastighed 
Windows 95 kan undlade at starte på systemer hurtigere end 350 MHz. Årsagen skyldes en timeout sløjfe, der afhænger af programkode hastighed på processoren. Timeout løkke bruges til behandling af hardwareenheder ude af stand til at holde op med fuld hastighed af systemet, såsom harddiske. Hvis en processor henretter sløjfen for hurtigt den langsomme enhed kan ikke fungere ordentligt og eventuelt forhindre operativsystemet fra opstart.

En programrettelse til dette problem kan hentes fra Microsoft, men brugerne skal kunne starte OS at installere det.

Disk korruption på shutdown 
Når Windows 95/98/Me lukket ned, de bruger en timeout loop at give harddiske tid til at begå deres skrive tilbage cacher til deres platters. Den hurtige CPU'er eller med diske er udstyret med store skrive tilbage cacher denne timeout kan køre, før disken har begået sin skrive tilbage cachen, hvilket kan føre til disk korruption og tab af data.

En patch på dette problem kan downloades fra Microsoft.

"Out of memory" fejl med store mængder RAM installeret 
Windows 9x/ME VCache er begrænset til en størrelse på 800 MB. Dette 800 MB omfatter system-og video-hukommelse, og på systemer, hvor den kombinerede video og systemets hukommelse overstiger 800 megabyte operativsystemet kan fejle at starte med et 'out of memory-fejl ".

Der er en løsning på dette problem.

Begrænset system ressourcer 
Windows 9x/ME afsat to blokke på 64 KB hukommelse regioner for GDI og dynge ressourcer. Ved at køre flere programmer, applikationer med mange GDI elementer eller ved at køre applikationer over en lang span tid, kunne man udstødning disse hukommelse områder. Hvis tilgængelige systemressourcer faldet til under 10%, Windows bliver ustabil og sandsynlige nedbrud.

Crash efter 49,7 dager oppetid 
På grund af en timing fejl, Windows kan nedbrud efter kontinuerligt kører for omkring en måned og et halvt. Dette påvirker ikke-opdaterede versioner af Windows 95 og Windows 98.

Ændre kritisk filer 
Brugere og software kan gøre operativsystemet ikke i stand til at fungere ved at slette eller overskrive vigtige system filer fra harddisken. Brugere og software er også fri til at ændre konfigurationsfiler på en sådan måde, at operativsystemet ikke kan starte eller fungere rigtigt.

Installation software ofte erstattes og slettede filer uden ordentlig kontrol, hvis filen stadig var i brug eller en nyere version. Dette skabte et fænomen, der ofte omtales som DLL hell.

Windows Me indførte System File Protection og System Restore til at håndtere fælles problemer forårsaget af dette problem.

Kritik 
Windows 9x er ofte karakteriseret som ustabil-det er bredt kritiseret for sin ustabilitet, der viser "Blue Screen of Death", normalt på grund af den måde enhedsdrivere skulle være skrevet med henblik på at passe til strukturen af Windows-kernen.

Versioner 
Følgende Windows 9x/ME versioner blev udgivet:

 Windows 95 original release (version 4.00.950)
 Windows 95 OEM Service Release 1 (OSR1) (version 4.00.950A)
 Windows 95 OEM Service Release 2 (OSR2) (version 4.00.950B)
 Windows 95 OEM Service Release 2.1 (OSR 2.1) (version 4.00.950B)
 Windows 95 OEM Service Release 2.5 (OSR 2.5) (version 4.00.950C)
 Windows 98 Standard Edition (version 4.10.1998)
 Windows 98 Second Edition (version 4.10.2222)
 Windows Millennium Edition (Me) (version 4.90.3000)

Microsoft Plus! 
 Microsoft Plus! for Windows 95
 Microsoft Plus! for Windows 98
 Microsoft Plus! Game Pack: Cards and Puzzles

Referencer 

9x