Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 105 reacties

Microsoft belet gebruikers het eerste service pack voor Vista te installeren als problematische stuurprogramma's worden aangetroffen. Half maart wordt het eerste service pack voor Vista uitgebracht.

Windows VistaMaandag kondigde Microsoft aan dat de rtm-code van Vista SP1 klaar is en half maart via Microsoft Update verspreid zal worden. Een aantal drivers voor onder andere toetsenborden, printers en muizen voldoet volgens Microsoft echter nog niet aan de voorschriften. Om problemen te voorkomen heeft het bedrijf besloten om SP1 in maart niet als optie in Microsoft Update aan te bieden, als een of meerdere van de bewuste drivers op het systeem worden aangetroffen. Volgens Microsoft levert een 'klein aantal drivers' problemen op, maar welke drivers dat zijn en hoeveel gebruikers door de maatregel getroffen worden, wilde het bedrijf niet kwijt.

Zodra nieuwe drivers beschikbaar komen, worden ze automatisch via Windows Update op de bewuste systemen geïnstalleerd, waarna het service pack wordt vrijgegeven. Vista-gebruikers kunnen ondanks een afgekeurde driver wel Vista SP1 installeren, maar dan moeten ze bij Microsofts downloadcentrum een apart installatiebestand ophalen.

Vista met SP1 deelt straks de kernel met Windows Server 2008. Volgens het Australische APC Mag krijgt de Longhorn-kernel van Vista SP1 versienummer 6.0.6001 mee. Dit is één versie nieuwer dan de huidige build van Vista en dezelfde als die in Windows Server 2008, dat op 6 maart wordt uitgebracht.

Moderatie-faq Wijzig weergave

Reacties (105)

Uit de VistaBlog blijkt dat men Vista SP1 op PC's met de bewuste "foute" drivers indien gewenst toch handmatig kan installeren. Men moet dan de beheerdersversie van SP1 downloaden.

Microsoft "blokkeert" dus alleen de installatie via automatische updates. Men gaat ervan uit dat de mensen die het SP handmatig installeren weten wat ze aan het doen zijn en in geval van problemen ook zelf de oplossing kunnen vinden.

[Reactie gewijzigd door jwpmzijl op 6 februari 2008 16:24]

1) ik vraag me af hoe een huis tuin keuken gebruiker er achter komt dat hij/zij ergens een brakke driver heeft
2) wat ik me afvraag, doet MS dit om te zorgen dat Vista stabieler gaat draaien?
Als MS weet welke drivers problemen geven dan zullen ze dit ook hebben doorgegeven aan de hardwarefabrikanten.
Zodra nieuwe drivers beschikbaar komen, worden ze automatisch via Windows Update op de bewuste systemen geïnstalleerd, waarna het service pack wordt vrijgegeven.
Als het goed is zullen gebruikers er dus niet van merken.

Ik heb zelf weinig gemerkt van instabieliteit bij Vista, DRM lijkt me bij mouse, keyboard en printerdrivers niet echt een issue, security evenmin. Het enige wat ik kan bedenken is dat z'n een oude API hebben afgeschoten.
Ik denk dat Microsoft dat er bij het draaien van Windows update wel gewoon bij zal zeggen en tevens kan aangeven om welke drivers het gaat. Dan kunnen de meeste gebruikers direct contact opnemen met hun OEM of de leverancier van het geen voor de problemen zorgt als er op dat moment nog geen drivers voor zijn. Zijn die er wel dan zullen die direct in de windows update worden meegenomen.

Ligt eraan wat je omschrijft als "stabieler", het hoeft namelijk niet zo te zijn dat problemen met drivers direct voor crashes zorgen. Echter problemen met de drivers kunnen er bijvoorbeeld voor zorgen dat je usb muis om de zoveel seconden "blijft hangen" of dat het systeem zeer traag reageert. Niet direct bevorderlijk voor de gehele "user experience" zullen we maar zeggen. Dit soort problemen wil je als Microsoft natuurlijk zoveel mogelijk voorkomen gezien niet de fabrikant van de muis / keyboard / printer hier de "schuld" van zal krijgen maar dat de gebruiker z'n gal zal gaan spugen tegen Microsoft.
Of om je vraag 1 nog wat verder te nuanceren: Wat is de definitie van 'brak' en hoe wordt dit gecontroleerd?
Dit heet logging. Sinds XP en 2003 zitten er in de MS based system een aantal loggingen. Zo is bekend binnen een OS hoe vaak een driver is gecrashed, of is gaan bevriezen. Wordt gewoon bijgehouden in het OS. Soms merk je er niks van en soms merk je het wel en herstart je je systeem. Ondertussen wordt er gewoon een state bijgehouden.
Wat is de definitie van 'brak' en hoe wordt dit gecontroleerd?
Goede vraag. Maar Microsoft bepaalt de definitie van brak (in dit geval), én voert de controle uit of ze iets wel terecht als "brak" hebben bestempeld. Met andere woorden: de slager mag zijn eigen vlees keuren...
jammer? vindt dit helemaal niet jammer en een super goede zet. SP1 zou vast wel te downloaden zijn als je het perse wil hebben, daar heb je geen windows update voor nodig.

Met dit beschermt microsoft zich tegen het 'schandaal' rond de introductie van vista. Iedereen scheldt op vista omdat het brak is. Vista is niet brak maar de drivers. Zeer slimme zet van vista. En goed voor de 'domme ' consument die klakkeloos iets installeerd. Soms moet je ze tegen zich zelf in bescherming nemen. Eigenlijk verwachten hun dat zelfs, vista moet alles doen, en zo niet is het slecht (veel meegemaakt).
Het is op zich een nette oplossing inderdaad. Uiteraard kunnen ze lang niet alle brakke drivers weren, dus het is een tussenoplossing. Ik snap alleen nog steeds niet waarom het zo moeilijk is om een soort conversie-programma te schrijven voor drivers, of iets als een soort boxed emulator. Een dergelijke oplossing had wel stukken beter geweest voor de transitie-periode, net zoiets smooths als Apple en Intel deden, gewoon iets wat de consument nauwelijks merkt.
Apple en Intel zijn twee partijen, die ook nog eens beiden veel belang hebben bij een mooie overgang. Microsoft heeft te maken met honderden, zo niet duizenden hardwarefabrikanten die allemaal drivers schrijven voor Windows. Dat maakt het al veel lastiger. Daar komt nog eens bij dat bepaalde bedrijven al dan niet opzettelijk traag zijn met het oplossen van problemen of zich vooral focussen op nieuwe producten.
Ik kan me goed voorstellen dat Microsoft er niet aan wil beginnen al die bedrijven aan te sturen wat betreft hun drivers. Des te meer omdat zoiets de indruk kan wekken dat Microsoft mede verantwoordelijk is voor slechte kwaliteit of vertragingen. Een fabrikant kan dan immers gaan roepen dat ze het maar snel hebben afgerond zonder uitgebreid te testen omdat Microsoft ze flink onder druk zette.
Los daarvan is een emulatielaag voor een applicatie of een driver met hardwaretoegang iets heel anders. Voor een applicatie moet een bepaalde omgeving en set API's voor handen zijn, terwijl een driver in kernel space hard bepaalde adressen en routines gebruikt, die niet altijd (goed) vallen te emuleren, of veel complexer en dus met erg veel vertraging, wat juist bij hardware ongewenst is. Nog even los van de dramatische effecten die een verkeerd werkende driver kan hebben op hardware (kapot gaan door oververhitting als de ventilator per abuis stil wordt gezet bijvoorbeeld), waarvoor Microsoft dan aansprakelijk zou kunnen worden gehouden.
Nee, drivers moeten de verantwoordelijkheid zijn van de fabrikant, zodat het voor iedereen duidelijk is dat de fabrikant voor het gehele functioneren van de hardware verantwoordelijk is en kan worden gesteld.
Los daarvan is een emulatielaag voor een applicatie of een driver met hardwaretoegang iets heel anders. Voor een applicatie moet een bepaalde omgeving en set API's voor handen zijn, terwijl een driver in kernel space hard bepaalde adressen en routines gebruikt, die niet altijd (goed) vallen te emuleren, of veel complexer en dus met erg veel vertraging, wat juist bij hardware ongewenst is.
Integendeel; hardwavedrivers zijn veel makkelijker om te emuleren dan user space applicaties. Drivers zijn in de regel juist veel minder complex dan applicaties (een gemiddelde driver is 50kB, zo veel inhoud kan daar niet in zitten) en de API is zeker minder complex. Verder kan je drivercode juist zonder al te veel vertraging virtual-processor-stijl emuleren; drivers moeten weliswaar snel zijn, maar de resource waar ze nou juist heel weinig van gebruiken is processorkracht, en dat is het enige wat je enthousiast verbrandt met een processoremulator. Als je voor de API een vertaallaagje schijft a la Wine, en voor de hardwaretoegang een processoremulator a la een gemiddelde gameboy emulator, dan kan je prima een oude driver (of een driver voor een ander OS) in je nieuwe OS draaien. Zie ook ndiswrapper, die implementeert het eerste deel van wat ik hierboven beschreven heb.

De reden dat je oude drivers niet zomaar in Vista kan pluggen is dat Vistadrivers allerlei features moeten hebben die in XP nog optioneel of zelfs volledig onbekend waren. Zo werd ergens in het Windows NT ontwikkeltraject (ik meen in W 2000, maar dat weet ik niet zeker) het ondersteunen van power management verplicht, waar dat eerst optioneel was; om die reden (onder andere) waren een heleboel drivers voor eerdere Windows versies niet meer compatible met de nieuwere Windows versie. Dit was natuurlijk vooral het geval met el cheapo drivers die alleen de verplichte functies implementeerden.
Windows NT kent weinig tot geen powermanagement.
Maar het is ook logisch dat NT-based kernels geen oudere, DOS-Based drivers kan accepteren, de meuk is immers compleet verschillend opgebouwd?

Imho moet MS gewoon een duidelijke, goed gedocumenteerde (en daar schort het bij MS nogal eens aan, schijnt dat ze hele mooie API's kunnen maken) API afleveren voor drivers en een specificatie van wat de driver moet kunnen.
Als developer heb je de API's tot in detail tot je beschikking. Als leek ---- Eveneens. Alles is terug te vinden binnen de MSDN. Bovendien genoeg andere resources.
Klopt helemaal. In MSDN is voor de driverprogrammeurs zelfs een complete Vista Driver Development Kit te downloaden, groot 1GB, tjokvol documentatie, sources en sampledrivers voor bijna elke denkbare hardware! _/-\o_
Het is dan ook commercieel gezien in het eigen belang van Microsoft om de nieuwe user-mode API's zo goed mogelijk te documenteren en de developers over de hele wereld zo veel als enigzins mogelijk is te helpen waar ze maar kunnen. Zoals iedereen inmiddels ervaren heeft, hebben brakke drivers onmiddelijk hun weerslag in de beleving van Vista zelf, hoe krom dit ook is.

[Reactie gewijzigd door poktor op 7 februari 2008 01:15]

Ik vindt juist dat de driver signing alleen niet de oplossing is. het probleem van het schandaal wat je beschrijft kan ook omdat de richtlijnen/procedures voor de drivers nog steeds niet strikt genoeg zijn ondanks signing.

Ik heb al al veel slechte 'gesignde'drivers gezien, dus signing is nog geen garantie voor een stabiel systeem. ze hadden gewoon voor de introductie meer met fabrikanten moeten samenwerken, en dus niet alleen met de grote oem's zoals HP, etc.
Dan was upgraden ook niet zo'n groot probleem geworden als dat het nu was.
Nu zitten veel mensen met niet werkende apparatuur onder vista.

Het ook niet zo dat drivers van fabrikanten gezorgd hebben dat vista zo berucht is. Dat ligt aan veel meer factoren. Zoals de vele bugs en de traagheid van vista
Weet niet hoe het op het moment gesteld is maar vroeger moesten de hardware developers om hun WHQL te krijgen grof geld neerleggen om drivers te laten testen voor alle MS OS'en en dat functioneert goed, zei het niet dat veel daarvan zijn afgestapt in de Win98SE en XP periode om geld uit te sparen en onder het motto, we kunnen het zelf wel. Maar dat was het punt helemaal niet, ook MS moest op de hoogte blijven van de ontwikkelingen met hardware en daar waren de hardwaredevelopers ook niet zo scheutig mee dus het is een beetje het kip-ei verhaal, wat was er eerder, het OS of de randapperatuur ? Laten ze daar dan eens gezamenlijk afspraken over maken zodat de gebruiker voor eens en altijd buiten schot blijft.

En over HP, die ene grote OEM, die heeft gewoon de gebruiker 2 jaar laten wachten voordat hij zijn AIO printer weer eens fatsoenlijk softwarematig kon laten draaien onder Vista. Drivers waren er wel maar als je een build in fax/scanner heb wil je niet steeds opstaan om dat ding handmatig te bedienen + dat vele features nu eenmaal alleen softwarematig bediend konden worden. En als je op je PC hele adreslijsten heb en instellingen voor scannen heb ingesteld doe je daar weinig mee als je geen software meer heb, maar wel een nieuw systeem met Vista erop, voor het MKB was dat gewoon wurgend. En ik leg in deze de bal neer bij HP, die had gewoon meer kunnen doen voor hun eindgebruikers, dan maar meer investeren in personeel.

Maar goed, het probleem ligt bij alle partijen, hopen dat het de volgende keer wel beter gaat en dat men vanaf scratch wat meer samenwerkt want nog een keer de eindgebruiker duperen zal denk ik meer schade opleveren dan ze voor mogelijk houden, rise and fall etc etc. Geen 1 groot imperium heeft in de geschiedenis stand kunnen houden, logisch ook omdat ze denken onaantastbaar te zijn. Dat is MS, HP, Google etc echt niet, ook al denken ze van wel. En als we heel ver terug gaan dan kunnen we een voorbeeld nemen aan de Inca's, Romeinen, het derde Rijk, ze zijn allemaal gevallen en de geschiedenis blijft zich herhalen. Recentelijk nog met de ABN-AMRO, andere tijd maar wel vergelijkbaar.
Maar wat verstaat MS onder slechte drivers?

Voor de GPRS modem in men laptop komt vista update ook nieuwe drivers aanbieden. Heb deze geïnstalleerd gehad en achteraf een hoop werk gehad om de kaart (die voor de update wel werkte) weer aan de praat te krijgen.
drivers, waarvoor MS geld heeft gezien, door ze signed te maken....?
Dat geld staat in geen verhouding tot de inspanning die MS moet maken voor de test. Maar toch vind ik het vreemd dat MS de test zelf doet. Er is namelijk ook software-certificering (het Windows logo programma), gecertificeerde software mag de titel "Designed for Windows (2000, XP, Vista, 2003 Server enz)" voeren. Deze test wordt uitgevoerd door een derde partij, Veritest.

Ik vind het vreemd dat MS de driver testen niet aan Veritest toevertrouwd.
Geld gezien om de bewuste drivers te testen en ze te certificeren, ja, normale zaak dat je voor certificatie van een product geld betaald.
Ja en nee.

Waarom, bij andere goederen en diensten markten, wordt certificatie gedaan, door meestal neutrale instellingen of instellingen die gevormd worden door meerdere bedrijven tezamen in een betreffende sector.
Als iemand iets zonder het certificaat van die instelling op de markt brengt, kan dat.

Dit is in het geval van MS niet het geval, de leveranciers van drivers hebben geen invloed op waaraan een product moet voldoen om een certificaat te krijgen en hebben ook geen invloed op de prijs etc.
Dit is totaal anders dan op andere marktsectoren.

Daar komt bij bovendien, dat MS niet gecertificeerde drivers soms zelf weert of tegenwerkt of gewoon niet toelaat. Allemaal zogenaamd om hun OS systeem stabieler te laten lopen.....

Ondertussen is het gewoon een extra melkkoe voor hun geworden en maakt het innovatie en alles stukken lastiger, want voor kleinere partijen is het gewoon te duur om gecertificeerd te worden OF om ondersteuning te kopen.
Want, die ondersteuning krijg je ook niet van MS, als je vragen hebt over hoe je je driver beter kunt laten aansluiten op vista bijvoorbeeld. Ja, je krijgt het, als je er voor betaald bijvoorbeeld.

Nee, dit is niet de normaalste gang van zaken.

Een normale gang van zaken zou wezen, dat er een neutrale tussenpartij zou bestaan, die bijvoorbeeld uit MS en leveranciers zou bestaan, die drivers zou certificeren en ook zou helpen met wat nodig is voor een driver.

Dan kom je in de buurt van normale gang van zaken.
Hoe kan er ooit een aparte instelling komen die meer weet van Vista dan Microsoft zelf? Die dan even de certificering van alle drivers voor dat OS op zich kan nemen.
Ik zie niet in hoe je zoiets ooit voor elkaar krijgt. Vista is geen open standaard ofzo, waar iedereen inzicht in heeft en waarvoor je een certificering specificatie kunt schrijven. Het is logisch dat de maker van het OS de certificering moet doen. :)

Het is inderdaad totaal anders dan andere marktsectoren, simpelweg omdat het niet vergelijkbaar is. Appels en peren. En specifiek voor Microsoft is dit al helemaal niet! Als jij vindt van wel; noem mij dan één onafhankelijke stichting die OS-driver certificering doet in deze softwarebranche.

Ik ben benieuwd. Over al je andere argumenten qua financiën heb ik geen mening. Daar heb ik geen ervaring mee.
Ik zie niet in hoe je zoiets ooit voor elkaar krijgt. Vista is geen open standaard ofzo, waar iedereen inzicht in heeft en waarvoor je een certificering specificatie kunt schrijven. Het is logisch dat de maker van het OS de certificering moet doen.
Ik neem aan dat er wel specificaties beschikbaar zijn van waaraan een driver moet voldoen. Anders is het voor fabrikanten een beetje trial and error bij het certificeren van een driver.
Je kan gewoon unsigned drivers draaien, en handmatig SP1 installeren. Het werkt alleen niet automatisch. Beste van beide werelden, lijkt me.
Geld gezien om de bewuste drivers te testen en ze te certificeren,
Waarmee ook het probleem meteen is aangetoond. Microsoft wil drivers wel certificeren, maar tegen een forse betaling. Met name voor kleine(re) hardwarebedrijven schijnt dat nagenoeg niet te betalen te zijn. Dus die drivers zullen nooit gecertificeerd worden.

Daar komt nog bij dat de fabrikant dus een deel van z'n onafhankelijkheid op moet geven: Microsoft certificeert de drivers niet zomaar, die wil gewoon weten wat er in zit, dus full disclosure met betrekking tot de inhoud. En aangezien Microsoft ook hardware maakt (bijvoorbeeld racestuurtjes, toetsenborden, muizen) bestaat er het risico van bedrijfsspionage...
In ieder geval signed drivers lijkt me. En die komen gewoon van de fabrikant af dus dat zou over het algemeen geen probleem op mogen leveren.

Goeie zet van MS! Zal bij de leken weer een hoop problemen tegen gaan.
Drivers die geen problemen opleveren met draaiende applicaties en drivers die zo min mogelijk belangrijke resources innemen. Het correct werken van de drivers is van totaal geen belang.
Drivers die gebruikt kunnen worden om de DRM in Vista te doorbreken, zoals video en audiodrivers die toestaan om streams te saven?
Voor driver programmeurs is het moeilijk om goede drivers te schrijven.
Voor windows programmeurs is het onmogelijk om slechte drivers te weren/detecteren.

Dus dan maar via de update service.
Als je slechte drivers gebruikt of krijgt van de leverancier moet je maar klagen bij de leverancier. Natuurlijk heeft MS het drivermodel aangepast naar een modernere variant, jammer van je oude hardware maar de toekomst heeft de toekomst.
Voor driver programmeurs is het moeilijk om goede drivers te schrijven.
nou wil ik niet zeuren, maar drivers schrijven is hun werk, en je wordt betaald om adequaat je werk te doen.
Ik wil betwijfelen dat vista's drivermodel echt zo lastig uit te vogelen is dat er geen drivers voor geschreven kunnen worden namelijk.
kijk naar Creative, die al jaren geen drivers en programma's kan schrijven (zie elke kaart voor de X-Fi, en de 'uitdaging' die vistadrivers vorm(d)en voor de X-Fi), werd daar ook over veroordeeld (en terecht).
De winXP drivers voor de X-Fi serie doet het voor mij echter wonderwel, dus sindsdien heb ik er geen mening meer over, omdat het me gewoon niet interesseert.
Drivers zijn ook niet interessant, ze moeten gewoon werken.
Ik wil best geloven dat Nvidia/Ati moeite hebben voor de volledige featureset van die graka's drivers te schrijven, of creative voor een zo gecompliceerde geluidskaart als de xfi ondertussen wel is (vgl met realtek ac'97), maar toetsenborddrivers? kom nou toch..

[Reactie gewijzigd door foppe-jan op 6 februari 2008 18:00]

nou wil ik niet zeuren, maar drivers schrijven is hun werk, en je wordt betaald om adequaat je werk te doen.
je doet 't nu net voorkomen alsof die gasten hun werk niet goed doen. Dat doen ze heus wel, en het moet ook door een aanzienlijk Q&A proces heen, bij de fabrikant zelf, en bij Microsoft om WHQL mee te krijgen. Maar zelfs dan zitten er nog bugs in. Bedenk je goed dat je een driver echt niet volledig in C/C++ schrijft (en nog minder in C#), meestal zit dat tjokvol met Assembly, en dat is erg moeilijk, drivers zijn nu eenmaal ongeloofelijk low-level. (lower level kan nog wel, maar dan zit of in BIOS/EFI of in Microcode voor de CPU).

't is wat anders dan even een service/daemon te kalken die op een bepaalde poort luistert. :)
Bedenk je goed dat je een driver echt niet volledig in C/C++ schrijft (en nog minder in C#), meestal zit dat tjokvol met Assembly, en dat is erg moeilijk, drivers zijn nu eenmaal ongeloofelijk low-level.
Ik weet niet over welk OS jij het hebt, maar drivers voor de meestgebruikte OS'en (windows, mac os, linux, *bsd) worden gewoon in C geschreven. Linux en *BSD doen het op een heleboel verschillende processorarchitecturen en kunnen dus niet in assembly geschreven worden. Windows is maar voor dusdanig weinig architecturen beschikbaar is dat het, als je het ECHT wilt, haalbaar is om stukjes ASM in te verwerken, maar praktisch is het zeker niet. Bovendien is (was?) het gebruik van ASM officieel verboden voor alle Windows drivers die door Microsoft's certificering heen willen komen.

Verder is er geen enkele goede reden om assembly in je driver te verwerken. Het enige lowlevel werk waar je je mee bezig dient te houden is je eigen hardware, maar ook die spreek je aan met nette C API's om (bijvoorbeeld) over de PCI bus pakketjes naar je kaartje te sturen.

Als laatste vallen drivers onder de typen software die het makkelijkst bugvrij te krijgen zijn. Als ik bijvoorbeeld een hardeschijfdriver wil schrijven, dan moet ik aan mijn OS wat functies leveren "schrijf dit blok van 512 bytes naar sector X" en "lees een blok van 512 bytes uit sector X" en dat is alles. Er komt nauwelijks status kijken bij zo'n programma, ik moet alleen logische opdrachten vertalen in PCI-pakketjes.

De kernel API is nogal anders dan de meeste andere API's, dus de eerste keer dat je een driver schrijft is het ingewikkeld omdat het zo nieuw is; des te erger omdat een heleboel fouten die je kunt maken niet direct tot een zichtbaar probleem leiden (bepaalde concurrency problemen uiten zich bijvoorbeeld alleen op multi-cpu systemen). Maar afgezien van de stijle leercurve zijn drivers helemaal niet moeilijker om goed te schrijven dan normale programma's; het tegenovergestelde klopt beter.
Houd even rekening met 1 ding:

Bij 'voorgebakken (pre-compiled) software maakt het niet veel uit of het nou in C of ASM is gechreven.
Het gaat erom welke 'target architecture' (soort hardware) het voor is geschreven.
Of je nou in ASM op instruktie-nivo voor een specifieke chip schrijft, of je Compiler verteld dat het op een MMX/3DNow/WhatEver chip moet draaien, het effect is hetzelfde:
Specifieke instrukties voor een specifieke chip.

Bij ASM moet je met andere funkties rekening houden, bij C verander je de 'target architecture'. Bij beiden is het resultaat hetzselfde: een driver voor een specifiek apparaat.


Het enige verschil is dat je met Source Code van een C driver kan compilen voor verschillende machines (Linux/BSD kan dit), Assembler moet je met de hand ombouwen, alvorens het opnieuw te compilen.

De Clou: Bij C code wordt er gekeken naar de target architecture en op basis daavan wordt de source-code vertaald naar Assembler. Vervolgens wordt de ASM-code vertaald naar machinetaal (bytecode).
-Echte- low-level driver hackers hebben soms de neiging om eerst een programma in C te schrijven en vervolgens het ASM-resultaat te tweaken voor betere performence. Je moet tegenwoordig echter wel -HEEL SLIM- zijn om slimmer te zijn dan de compiler.
BIOS lower level dan assembly? Het zijn dingen die niet zov eel met elkaar te maken hebben. Het BIOS is doorgaans deels in assembler geschreven. In een driver kun je het BIOS aanspreken, maar de meeste drivers doen dat niet, ze werken rechtstreeks op de hardware. En de microcode van de CPU kun je niet veranderen, de microcode updates die o.a. Intel aanbiedt zijn cryptografisch versleutelt. En het rechstreeks aanspreken van microcode kan ook al niet, dat dioe je via assembler instructies.

Ik heb zelf in het verleden de nodige drivers geschreven, en dat gebeurt doorgaans niet in assembler, maar in C (niet in C++). Het meeste low level dat je doet is het aansturen van I/O poorten, en daar heb je C calls voor, die omwille van efficientie inline omgezet worden naar machimne instructies. Als je al assembler gebruikt dan is dat een blok binnen je C code. In de meeste drivers moet je niet alleen de hardware aanspreken, maar ook het OS. OS API's zijn tegenwoordig op C geent, niet op assembler. Het reserveren en vrijgeven van buffers, ontvangen en versturen van datapakketten, opzetten van DMA transfers gaat allemaal via C API's.

Het beeld dat je schetst is deels (erg) verouderd en voor de rest gewoon onjuist.
Kijk hier eens: http://research.microsoft.com/slam/ het SLAM project waarmee ze automatisch drivers kunnen controleren gebaseerd op statische analyse.
Als drivers voor randapparaten zoals toetsenborden, printers en muizen invloed hebben op de stabiliteit, dan kan je gerust zeggen dat Vista brak is. (Crashen bij corrupt geheugen of hardeschijf met OS vind ik wel normaal).

Wat ik tegen gekomen ben wat niet zou mogen:
- Explorer loopt vast bij het bekijken van een verkeerd gebrande CD. Ik moest zelfs naar linux om de CD weer te wissen.
- DXDiag crasht omdat ik een verkeerde codec geinstalleerd heb. DXdiag is er juist voor om te zien wat er fout is. Dat zie ik nu niet.
- Een andere service crasht omdat er geen voorbeeldje gemaakt kan worden van een filmpje in explorer. (Wel beter dan W2000/XP waar heel explorer onderuit gaat bij een corrupt filmpje).

Verder zijn er nog veel andere bugjes. Een selectie daaruit:
- Dubbelklikken op icootje linksboven van een venster komt door als er precies daaronder het stukje Favoriete Koppelingen van een ander explorer venster staat.
- Ik heb Ontspanning in het start menu ingesteld dat het moet uitklappen. Als je bij een spel met de rechtermuisknop Aanpassen... en vervolgens Bewerken klikt, dan komt het nieuwste venstertje achter het venster van Aanpassen....
- Als Media Player gemaximaliseerd gesloten is met de optie "Video beeld aanpassen aan grootte speler" aangevinkt dan werkt dit niet als je opnieuw een video en dus Media Player opent. Het venster is gemaximaliseerd, de optie is aangevinkt, maar het beeld is klein. Opnieuw uitvinken en aanvinken werkt, dus het is gewoon slecht geprogrammeerd. Zo'n fout kan niet voorkomen bij een goed ontwerp.

[Reactie gewijzigd door Daos op 6 februari 2008 18:02]

Als drivers voor randapparaten zoals toetsenborden, printers en muizen invloed hebben op de stabiliteit, dan kan je gerust zeggen dat Vista brak is. (Crashen bij corrupt geheugen of hardeschijf met OS vind ik wel normaal).
Het gaat hierbij niet om het crashen, maar onjuist gebruik van de goed begrepen API's kan leiden tot bijvoorbeeld hangende drivers. Het OS werkt nog wel, maar je keyboard bijvoorbeeld niet. Het kan bijvoorbeeld in een ongedefinieerde state blijven hangen. Neem maar ééns twee threads die van elkaar afhankelijk zijn, maar geen synchronisatie gebruiken. Dan kan door optimalisatie van de kernel de ene thread opeens harder lopen dan vroeger waardoor er een deadlock ontstaat. Zo zijn er meer "schoonheidsfoutjes".
Bij drivers heb je te maken met hardware. Hardware die niet altijd wil luisteren. Zelf gebruik ik Linux met een Intel G33. De laatste drivers zijn alles behalve stabiel in de standaardconfiguratie: als ik een beetje intensief met vensters bezig ben (lees: 8GB geheugen en er ook gebruik van maken), kan het voorkomen dat X ineens bevriest, mijn beeldscherm daarna zwart wordt, maar ik helemaal niets meer op mijn beeldscherm kan toveren tot een reboot.
Op het moment dat je nvidia, ati of erger nog, je S3 Chrome 9 chip besluit om het bijltje erbij neer te leggen (nieuwe fujitsu siemens laptop, 3 minuten na het uitpakken al vastlopen, verschillende exemplaren), heb je kans dat Vista de boel nog kan restarten door gewoon de driver opnieuw te starten of over te schakelen op de VGA driver. Als je videochip echter in een dusdanige toestand is gebracht dat deze zich alleen nog na een reset laat aansturen, heb je dus gewoon een vastloper.
Ik snap alleen niet dat mensen hier zeggen dat mensen met brakke drivers beschermd gaan worden. Die mensen die nu Vista hebben, hebben al een hoop gezeur met Vista, want de desbetreffende drivers worden dus nu ook niet ondersteund.

Volgens mij is dit een ander gebaar. Vista lijdt onder slechte publiciteit. MS hoopt op deze manier het bericht de wereld in te helpen dat VIsta SP1 heel goed werkt. Ze hopen dat zich dit gaat vertalen in postitievere mond op mond reclame en pers. Feit blijft dat voor een x aantal systemen helemaal niet goed werkt.

Ik zou me trouwens flink genomen voelen als ik 500 euro voor Vista Ultimate heb betaald en nu blijkt dat ik door een of andere driver de SP niet kan installeren.

Edit: Je kunt het wel installeren, maar MS trekt zijn handen er van af.

[Reactie gewijzigd door aToMac op 6 februari 2008 17:00]

Wat een kortzichtigheid.

1) Mensen hebben problemen van Vista, omdat drivers niet werken. Een SP kan brakke drivers niet beter maken. Hooguit dat door een SP meer complicaties optreden.
2) Als jij dat wil, mag je het SP installeren, het gaat dan wel niet automatisch.

Conclusie: "Ik zou me trouwens flink genomen voelen als ik 500 euro voor Vista Ultimate heb betaald en nu blijkt dat ik door een of andere driver de SP niet kan installeren." slaat nergens op.
Owja, en ook gaan mopperen op Vista als je een brak en oud systeem waarvan de geheugenmodules aan het begeven zijn..............

-------------------
Ja er zijn veranderingen in het drivermodel (zie het DDM). Maar, er zijn zat drivers die in principe nog gewoon werken in Vista (zelf geprobeerd met oude SATA-drivers en Scanner-drivers; in het eerste geval herkende Vista niet een 'oude' SATA-interface).

[Reactie gewijzigd door WinL op 6 februari 2008 17:05]

Nee, MS trekt zijn handen er niet vanaf, het wordt alleen niet via Windows Update geinstalleerd.

Toch wel wat eleganter als het SP op WU zetten en iedereen het maar te laten installeren en dan weer dom geblaat te gaan krijgen van de Consumentenbond en de n00bs dat het SP hun Vista kapot gemaakt heeft.
MS wil toch ook gewoon Vista op alle PC's? Of denk je dat je tot aan de opvolger van Vista voor XP kan kiezen?

Als MS zo goed weet welke hardware niet ondersteunt wordt, moeten ze hier helder over zijn. Dan weet ik dat ik geen nieuwe pc met Vista moet kopen, maar met een ander OS, waarschijnlijk XP. Dit is alleen niet wat MS wil. Vista is flawed en veel te snel uitgebracht en dat weet iedereen. Het was bij lange na niet af, uit interne documenten werd beschreven dat AppComp, zoals ze dat intern noemen, pas op 45% zat een paar maanden voor RTM.
Het is niet meer dan logisch dat MS dit doet.
Want de afgelopen jaren werd er altijd gezeurt dat windows instabiel was terwijl het vaak een driver was die dit veroorzaakte.
En dat er mensen zijn met antieke ouwe hardware die dan perse Vista willen draaien hoeven zij niet aan mee te werken.
Dit heeft echt niks te maken met antieke hardware hoor.

Zelfs nieuwe hardware zit je geregeld nog aan beta drivers, omdat die foutloos werken.
Durf rustig te stellen, dat als je dus beta drivers draait, hij de update gaat blokkeren.
Als ze foutloos werken moeten ze uit het beta stadium gehaald worden door de fabrikant.
Ik vraag me af welke reactie dit teweeg gaat brengen, gaan hardware fabrikanten sneller goede drivers releasen, of gaan er nu gewoon een hoop mensen in de kou blijven staan omdat ze sp1 niet kunnen installeren?
Hangt heel erg af van de fabrikant. Er zijn zat fabrikanten die prima drivers in elkaar zetten en ook zat support hierop leveren. Echter, er zijn ook zat fabrikanten die prut leveren. Zo had ik van de week een pcchips moederbord te pakken, voordat ik daar de drivers van had (uiteindelijk via 3rdparty sites) was ik een heel stuk verder. De website van de fabrikant was dood en via de google-cache kwam ik uiteraard bij geen enkele driver terecht. Als je spul van zo'n fabrikant hebt dan ben je idd het haasje.

Dus ik denk dat de mensen die gewoon gebruik maken van spul van een deugdelijke fabrikant, weinig problemen zullen hebben, alleen mensen met wokkietokkie spul zullen problemen krijgen (van die mensen die helemala blij zijn met een of andere chinees webcammetje met de meest dubieuze drivers).
tjah... er blijven altijd wel organisaties als Trust die gewoon slechte driver support heeft.... bij mij werkt de webcam van net 2 jaar niet meer onder windows vista, mede dankzij het ontbreken van een driver (is een trust webcam)...
gaan hardware fabrikanten sneller goede drivers releasen
hangt er vanaf hoe groot het probleem nu net is, als jij een hondertal klanten hebt die zeuren of je hebt er duizenden, maakt groot verschil.

persoonlijk hoop ik dat hardwarefabrikanten eens ECHT gaan testen.
Ligt het niet aan de fabrikant zelf dan om zich ook bezig te houden met SP1 voor Vista :? Ze verkopen wel de apperatuur er voor maar een beetje driver/software voor Vista maken ho maar.

Dat doet me denken aan 2 feiten, HP heeft er 2 jaar over gedaan na release om met goeie printer software te komen en Creative biedde ze aan tegen betaling en was er ook vrij laat mee. Over wie zegt dat nu wat, over de hardware developers of MS ?

Toch blijf ik realistisch om te zeggen dat mogelijk MS ook debet is aan voornoemd probleem, want als de hardware fabrikanten al bezig waren met ontwikkeling ten tijde van Longhorn maar alles in de prullenbak kon gooien omdat MS besliste dat er even "snel" Vista van scratch moest worden gebuild, omdat Longhorn vol fouten zat dan mag MS ook een duitje bij zichzelf in het zakje doen.

Maarjah, als dat al het geval is dan durven hardwaredevelopers meestal niet hun mond open te doen, aangezien ze nogal afhankelijk zijn van MS ;) Tijd zal het leren, als ze het bij het volgende MS weer zo knullig allemaal aanpakken dan kan MS wel eens een ommezwaai tegemoet zien, er zijn grenzen :) Ik zie al dat ik SP1 niet kan updaten omdat ik een Logitech toetsenbord/muis heb met in hun ogen "brakke" drivers, zal lekker worden, ze doen er iets te gemakkelijk over, geef dan info aan de bedrijven die niet voldoen en waarschuw ze tijdig, zo kan het ook.
ze doen er iets te gemakkelijk over, geef dan info aan de bedrijven die niet voldoen en waarschuw ze tijdig, zo kan het ook.

Waaruit leid jij af dat ze dat niet doen dan?

Hieruit:
Volgens Microsoft levert een 'klein aantal drivers' problemen op, maar welke drivers dat zijn en hoeveel gebruikers door de maatregel getroffen worden, wilde het bedrijf niet kwijt.

Zou je kunnen afleiden dat MS donders goed weet om welke drivers het gaat, welke fabrikanten dat betreft, en dat ze die fabrikanten voorlopig het voordeel van de twijfel geven.
Denk je nou echt dat MS geen waarschuwing en aanwijzingen afgeeft aan de bedrijven die dat zou betreffen? Kom op zeg..

Ze hebben immers al genoeg te doen gehad met driver issues omtrent de originele release.

[edit]
typo

[Reactie gewijzigd door houseparty op 6 februari 2008 21:50]

En al die problemen, ondanks hun WHQL, het "screening"-programma, waar alle drivers eerst door moeten, willen ze door Microsoft geaccepteerd worden. Blijkbaar is WHQL nog teveel een wassen neus.
En hoeveel developers leveren nou ook echt WHQL drivers? Ik heb nog echt heel erg vaak unsigned drivers (FloppyDTV kaart, ATI drivers, Nvidia drivers). En dat zijn vaak niet eens beta drivers.
En zit hier nou ook gelijk WinFS in? Kan er namelijk niets over vinden.
WinFS was gepland om na Vista uitgebracht te worden, maar er is in juni 2006 besloten om het helemaal te laten varen. Er wordt nog wel aan gewerkt, maar dan alleen nog als uitbreiding om SQL server en ADO.NET. Zie ook http://en.wikipedia.org/wiki/Winfs .

Het is oop dit moment compleet onduidelijk wat MS hier nog mee wil gaan doen.
Nee, er komt geen WinFS. Nu niet, in Windows 7 niet en waarschijnlijk nooit niet.

Even serieus. Er zullen best aspecten van WinFS in een nieuw Filesystem komen, maar niet volledig.

BeOS, Apple, IBM en ook MS zijn al veel langer bezig om een met een DB het filesystem te vormen. Performance was begin jaren '90 al een probleem met deze technologie en dat zal voorlopig niet beter worden.
Op zich een leuk idee al neigt het wel naar betutteling (alsof we daar in NL nog geen last genoeg mee hebben). Het zou MS sieren als ze gewoon die update wel beschikbaar stellen maar met grote letters de verantwoordelijkheid bij de gebruiker legt.
En dat is dan ook precies wat ze doen: hij is ook voor mensen met 'slechte drivers' beschikbaar via het Download Center :)

Ik snap dus werkelijk het probleem niet zo, hij word nu alleen niet automatisch geinstalleerd via MU. Iets wat me alleen maar goed lijkt, anders zouden er een heleboel mensen opeens (na install SP1) problemen hebben met hun PC. Want kennelijk zijn die drivers zo beroerd dat ze een aanzienlijke kans op problemen geven.

Als ze hem nu installeren is dat in ieder geval hun eigen verantwoordelijkheid en doen ze het bewust.
Feit is en blijft dat 99% van de mensen die letters echt niet lezen, maar gewoon blind doorklikken naar t volgende schermpje.

Diezelfde mensen gaan vervolgens wel lopen zeuren op t moment dat de boel in de soep loopt ondanks dat gemeld is dat het kon gebeuren en er op gewezen is dat het op eigen risisco is.

Nu filter je in elk geval weer een groot deel van die clowns eruit. en zoals eerder, degenen die wel weten waar ze mee bezig zijn komen dan toch wel aan SP1 via de handmatige download.
Heb op een duitse site gelezen dat je het servicepack al kan halen

http://winfuture.de/news,37331.html

heb ik dus getest en ja het ging....
Ik vraag me af waarom er bij die regkey die toegevoegd wordt "Beta1" staat.
Wat is in godsnaam het nut van het niet installeren van een servicepack omdat (er naar MS's zeggen) slechte drivers opstaan? Als je 'brakke' drivers geinstalleerd hebt heb je geen recht op bug fixes?

Ik wil niet veel zeggen maar dat betekent naar mijn idee dat dit servicepack veranderingen in de driver API aanbrengt, anders is hiervoor geen enkele reden. Misschien zijn de 'brakke' drivers wel geschreven met workarounds rond MS's bugs erin die nu niet meer werken.
En om die drivers nou als 'brak' te omschrijven ..... ik denk dat we wat inside informatie missen.

Verder zou ik iedereen die dit een goede zet vind willen vragen om de ogen te openen, het is mij duidelijk dat je minder en minder over je eigen systeem te zeggen hebt.

[edit]
Btw, MS gecertificeerd zegt niets over de kwailteit van de driver.

[Reactie gewijzigd door farlane op 7 februari 2008 00:29]

Rustig aan, je kan SP1 nog altijd handmatig downloaden en installeren, het gebeurt alleen niet automatisch via Windows Update.
Dat is dan ook meteen de nummer 1 bron van updates voor Windows systemen, vermoed dat casual gebruikers ( die met die brakke drivers op hun systeem ) niet veel anders gebruiken als update source.

Maar misschien dat je ook inhoudelijk kunt reageren; wat is volgens jou de reden dat het niet gedaan wordt? De gebruiker tegen zichzelf beschermen of denk je zoals ik om MS tegen zichzelf te beschermen?
Offtopic, maar:
Volgens een Franse site zou Vista SP1 gepland zijn voor 18 - 19 Februari.
Voor XP SP3 23 - 24 Maart.

http://www.pcinpact.com/a...dows-XP-vista-SP1-SP3.htm

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True