Je suis intéressé d’apprendre: quelles sont les causes techniques les plus courantes (du sharepoint vue de la programmation du système d’exploitation) d’un crash du système d’exploitation (non limité aux plantages Windows)? Je cherche une réponse pas comme “trop d’applications ouvertes”, mais ce qui se passe spécifiquement quand trop d’applications sont ouvertes qui provoque le plantage.
À mon avis
Un système d’exploitation moderne ne laissera pas une simple application le planter.
Ce sont les pilotes Buggy qui provoquent le crash du système d’exploitation. Seul le système d’exploitation lui-même et les pilotes peuvent nuire au système.
À vos suggestions:
Aucun système d’exploitation ne rencontre de problèmes si une application accède à la même mémoire que le système d’exploitation. La mémoire est accessible ou non. Si une application tente d’accéder à la mémoire, le processeur ne génère pas de défaut de segmentation. Le système d’exploitation le remet à l’application et le problème est résolu. (dans 99%, l’application va se bloquer par la suite, mais ce n’est pas la faute du système d’exploitation).
Vous suggérez que les programmes plus lents sont plus sûrs. Ce n’est pas vrai. Le système d’exploitation n’a pas besoin de savoir exactement ce que fait votre programme.
Dans les systèmes d’exploitation modernes, le code de l’application et le code du système d’exploitation s’exécutent dans des espaces d’adressage distincts. Le code de l’application ne peut pas bloquer le système d’exploitation. Vois ici:
http://en.wikipedia.org/wiki/Ring_(computer_security)
Le code le plus courant pour un crash est le code qui fait partie de l’interfaçage du système d’exploitation avec d’autres codes agissant dans le cadre du système d’exploitation. Les pilotes de périphérique mal écrits qui vivent dans l’espace d’adressage du système d’exploitation sont une cause fréquente.
Moins souvent, les accidents sont causés par des failles matérielles.
Tout crash du système d’exploitation peut survenir pour l’une des deux raisons principales suivantes:
Problèmes liés à l’alimentation : Un fonctionnement incorrect de l’alimentation du système peut entraîner l’arrêt immédiat du système.
Surchauffe de la mémoire vive : Une surchauffe de la mémoire vive risque d’entraîner une corruption des données. Cela peut conduire à un blocage définitif lorsque la réinitialisation est une nécessité.
Overclocking incorrect : provoque une surchauffe. Certains composants matériels sont sensibles à la chaleur. En cas de surchauffe, le système s’arrête automatiquement.
Secteurs défectueux sur le disque dur: Le disque dur est divisé en secteurs dans lesquels les données sont stockées. Certains secteurs deviennent des secteurs défectueux. Motifs : a . Utilisation prolongée – beaucoup écrit et lit. b . Défaut de fabrication. Si des secteurs du disque dur, où des informations système importantes sont stockées, deviennent un secteur défectueux, il est difficile de charger ces fichiers, entraînant ainsi un plantage.
Fausses idées majeures : Un blocage d’application dans votre système ne provoque pas toujours un blocage du système. Généralement “Rien” arrive à l’OS. Il ne fait que vous envoyer un rapport disant que la demande a planté.
Non, vous êtes loin En règle générale, une application ne peut rien faire qui puisse provoquer le blocage du système d’exploitation. Les pannes de système d’exploitation sont généralement causées par des pilotes de périphériques défectueux et des pannes matérielles.
Deux sources différentes essayant d’accéder à une zone verrouillée constituent un problème. Faire fonctionner tous les mutex, moniteurs et verrous à 100% n’est pas anodin.
Si nous utilisons Vista comme exemple – les pilotes … NVidia en particulier http://arstechnica.com/news.ars/post/20080325-vista-capable-lawsuit-paints-picture-of-buggy-nvidia-drivers.html . C’est le système d’exploitation qui dicte l’allocation de mémoire, pas les applications. Eh bien, c’est la théorie.
Le crash peut également provoquer, en raison de la panne de certains secteurs du disque dur, la présence de tous les composants du disque dur dans le disque dur.