Posté par xcomcmdr .
En réponse au journal Contre la phobie du root.
Évalué à 10.
Dernière modification le 15 novembre 2013 à 20:55.
Et bizarrement, c'est la solution retenue pendant des années par Microsoft pour ses systèmes grand public, avec les résultats que l'on sait en terme d'infection de systèmes et de logiciels de qualité discutable.
C'est uniquement bizarre quand on ne connaît pas (削除) l'histoire de l'informatique grand public (削除ここまで) l'histoire des OS Microsoft.
En l'occurence, repartons dans le milieu des années 1980. MS-DOS, livré avec un IBM PC depuis ses débuts domine. MS-DOS, c'est quoi ? Eh bien c'est un OS monotâche donnant pour ainsi dire le minimum : l'accès aux fichiers et aux ports tels que LPT1 (pour l'impression), la gestion de la mémoire en différents blocs (mémoire conventionnelle, mémoire XMS, EMS), un shell, quelques commandes et un langage de programmation BASIC, et c'est à peu près tout.
Les applications accèdent directement au matériel, et ont chacune leurs propres pilotes (pour le son, la vidéo, le réseau, l'impression, le modem, ...), et se fichent des autres applications et de l'OS : quand une application est executée, elle est seule maître à bord. MS-DOS est monotâche, et n'a aucune notion de droits ou de privilèges.
Tout ça on s'en fichait tant que ça fonctionnait sur notre PC avec ses quelques centaines de Ko de mémoire (l'IBM PC, c'était pour les riches dans les années 1980. Les autres avaient des Amiga ou des Atari). Oui c'était de la merde. Mais ça n'utilisait pas trop de mémoire.
Vers la fin des années 80, Windows arrive. Windows 1.X et Windows 2.X étaient plus des GUI pour MS-DOS qu'autre chose (le kernel reste DOS, même s'il existait déjà des applications Windows).
Pour éviter d'avoir un OS sans applications (ce qui ne sert pas à grand chose), une compatibilité maximale avec MS-DOS est indispensable. A ce stade, Windows est entièrement compatible MS-DOS.
En 1992 arrive Windows 3.1. En deux mois après sa sortie, plusieurs millions de copies seront vendues. Windows 3.1, dont le support par MS s'est arrêté en 2003, donnera lieu a une logithèque conséquente d'applications Windows 16 bits.
En 1993, arrive Windows NT. Un système de fichiers avec des ACLs, plusieurs niveaux de sécurité, un kernel multitâche préemptif (tout passe par le kernel), etc... Très bien, sauf qu'il requiert un CPU 32 bits (386 ou mieux) et au minimum 12 Mo de RAM.
En conséquence, Windows 95 (d'abord nommé Windows 93), arrivera avec une compatibilité maximum avec MS-DOS et les applications Windows 16 bits. Encore une fois, un OS sans applications, ça ne se vend pas. La compatibilité se fait essentiellement de deux manières : en utilisant MS-DOS comme un bootloader, et en chargeant le kernel Windows via un DOS Extender, et en gardant le code Windows 16 bits (les appels seront mappés différement entre une application Windows 16 bits et une application Windows 32 bits).
Mais cette compatibilité maximale a un prix : Comme les applications Windows 16 bits sont exécutées de manière coopérative (comme elles l'étaient sous Windows 3), si une application Win16 se bloque, elle risque de bloquer aussi Windows.
Windows 95 ne sera préemptif qu'avec les applications Windows 32 bits. Il en sera de même pour Windows 98 et Windows ME.
En second lieu, Windows 95 aura des exigences matérielles bien moindres à celles de Windows NT, ce qui lui permettra d'être accepté par le grand public. Un 386 et 4 Mo de RAM lui suffisent (en swapant beaucoup, mais ça suffit).
A titre de comparaison, Windows NT 3.1 (1993), donc même pas la version serveur, exige 12 Mo de RAM et un 386 au minimum.
Enfin, après Windows 2000 (NT 5), et Windows 98/ME (Windows 4.X), Windows XP ferme la brèche entre les deux branches en 2001.
Pour exécuter la plupart des applications Windows 32 bits de l'époque, il faut un compte administrateur (et éviter d'utiliser le DEP). C'est le compte par défaut. Sans cela, les applications plantent car elles ne sont pas prévues pour être executées avec un compte dont certains droits ont été retirés. Encore une fois, les applications fournies avec l'OS c'est bien joli, mais ce n'est pas ce qui fait le succès d'un OS.
L'effort pour avoir des applications "propres" ne venait pas que du code. Microsoft a des conditions pour certifier un logiciel Windows (les produits certifiés peuvent l'afficher sur l'emballage), l'une d'entre elles est que l'application ne requiert pas un compte administrateur.
Avec des applications tierces en majorité faites pour XP, un OS Windows NT, Vista peut enfin introduire en 2006 l'User Account Control (penser à une sorte de gksu) et un compte limité par défaut sans que les applications tierces ne fassent constamment un caca nerveux. Il aura fallu 13 longues années pour que les bonnes pratiques de Windows NT s'imposent !
"Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)
[^] # Re: Pourquoi faire ?
Posté par xcomcmdr . En réponse au journal Contre la phobie du root. Évalué à 10. Dernière modification le 15 novembre 2013 à 20:55.
C'est uniquement bizarre quand on ne connaît pas
(削除) l'histoire de l'informatique grand public (削除ここまで)l'histoire des OS Microsoft.En l'occurence, repartons dans le milieu des années 1980. MS-DOS, livré avec un IBM PC depuis ses débuts domine. MS-DOS, c'est quoi ? Eh bien c'est un OS monotâche donnant pour ainsi dire le minimum : l'accès aux fichiers et aux ports tels que LPT1 (pour l'impression), la gestion de la mémoire en différents blocs (mémoire conventionnelle, mémoire XMS, EMS), un shell, quelques commandes et un langage de programmation BASIC, et c'est à peu près tout.
Les applications accèdent directement au matériel, et ont chacune leurs propres pilotes (pour le son, la vidéo, le réseau, l'impression, le modem, ...), et se fichent des autres applications et de l'OS : quand une application est executée, elle est seule maître à bord. MS-DOS est monotâche, et n'a aucune notion de droits ou de privilèges.
Tout ça on s'en fichait tant que ça fonctionnait sur notre PC avec ses quelques centaines de Ko de mémoire (l'IBM PC, c'était pour les riches dans les années 1980. Les autres avaient des Amiga ou des Atari). Oui c'était de la merde. Mais ça n'utilisait pas trop de mémoire.
Vers la fin des années 80, Windows arrive. Windows 1.X et Windows 2.X étaient plus des GUI pour MS-DOS qu'autre chose (le kernel reste DOS, même s'il existait déjà des applications Windows).
Pour éviter d'avoir un OS sans applications (ce qui ne sert pas à grand chose), une compatibilité maximale avec MS-DOS est indispensable. A ce stade, Windows est entièrement compatible MS-DOS.
En 1992 arrive Windows 3.1. En deux mois après sa sortie, plusieurs millions de copies seront vendues. Windows 3.1, dont le support par MS s'est arrêté en 2003, donnera lieu a une logithèque conséquente d'applications Windows 16 bits.
En 1992, le grand public avait un PC avec 1 Mo de mémoire et des 286 à 16 Mhz (des CPU x86 16 bits).
En 1993, arrive Windows NT. Un système de fichiers avec des ACLs, plusieurs niveaux de sécurité, un kernel multitâche préemptif (tout passe par le kernel), etc... Très bien, sauf qu'il requiert un CPU 32 bits (386 ou mieux) et au minimum 12 Mo de RAM.
En conséquence, Windows 95 (d'abord nommé Windows 93), arrivera avec une compatibilité maximum avec MS-DOS et les applications Windows 16 bits. Encore une fois, un OS sans applications, ça ne se vend pas. La compatibilité se fait essentiellement de deux manières : en utilisant MS-DOS comme un bootloader, et en chargeant le kernel Windows via un DOS Extender, et en gardant le code Windows 16 bits (les appels seront mappés différement entre une application Windows 16 bits et une application Windows 32 bits).
Mais cette compatibilité maximale a un prix : Comme les applications Windows 16 bits sont exécutées de manière coopérative (comme elles l'étaient sous Windows 3), si une application Win16 se bloque, elle risque de bloquer aussi Windows.
Windows 95 ne sera préemptif qu'avec les applications Windows 32 bits. Il en sera de même pour Windows 98 et Windows ME.
En second lieu, Windows 95 aura des exigences matérielles bien moindres à celles de Windows NT, ce qui lui permettra d'être accepté par le grand public. Un 386 et 4 Mo de RAM lui suffisent (en swapant beaucoup, mais ça suffit).
A titre de comparaison, Windows NT 3.1 (1993), donc même pas la version serveur, exige 12 Mo de RAM et un 386 au minimum.
Enfin, après Windows 2000 (NT 5), et Windows 98/ME (Windows 4.X), Windows XP ferme la brèche entre les deux branches en 2001.
Pour exécuter la plupart des applications Windows 32 bits de l'époque, il faut un compte administrateur (et éviter d'utiliser le DEP). C'est le compte par défaut. Sans cela, les applications plantent car elles ne sont pas prévues pour être executées avec un compte dont certains droits ont été retirés. Encore une fois, les applications fournies avec l'OS c'est bien joli, mais ce n'est pas ce qui fait le succès d'un OS.
En fournissant une couche de compatibilité qui permet par exemple de faire passer XP pour Windows 98 (moins efficace que celle de Windows 9X, mais l'OS est beaucoup plus stable), et comme les dernières applications DOS datent de 1997, XP finit par s'imposer au fil du temps. Ce fut long (d'ailleurs, le support pour Windows 98 ne s'est arrêté qu'en 2006 !).
L'effort pour avoir des applications "propres" ne venait pas que du code. Microsoft a des conditions pour certifier un logiciel Windows (les produits certifiés peuvent l'afficher sur l'emballage), l'une d'entre elles est que l'application ne requiert pas un compte administrateur.
Avec des applications tierces en majorité faites pour XP, un OS Windows NT, Vista peut enfin introduire en 2006 l'User Account Control (penser à une sorte de gksu) et un compte limité par défaut sans que les applications tierces ne fassent constamment un caca nerveux. Il aura fallu 13 longues années pour que les bonnes pratiques de Windows NT s'imposent !
"Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)