Распространенные причины сбоев операционной системы

Мне интересно узнать: каковы наиболее распространенные технические причины (с точки зрения программирования операционной системы) сбоя операционной системы (не ограничиваясь сбоями Windows)? Я ищу ответ не вроде «открыто слишком много приложений», а того, что конкретно происходит, когда открыто слишком много приложений, что вызывает сбой.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
0
14 390
8
Перейти к ответу Данный вопрос помечен как решенный

Ответы 8

Нет, ты далеко. Обычно приложение не может сделать ничего, что могло бы вызвать сбой ОС. Сбои ОС обычно вызваны ошибками в драйверах устройств и аппаратными сбоями.

Ошибки в драйверах вызывают сбои ОС. Только сама ОС и драйверы способны нанести вред системе.

К вашим предложениям:

  1. Никакая ОС не имеет проблем, если приложение обращается к той же памяти, что и ОС. Либо память доступна, либо нет. Если приложение пытается получить доступ к памяти, чего не должно, ЦП генерирует ошибку сегментации. ОС передает это приложению, и проблема решается. (в 99% случаев приложение вылетает после этого, но это не вина ОС).

  2. Вы предполагаете, что более медленные программы более безопасны. Это не правда. ОС не обязательно знать, что именно делает ваша программа.

1. «Ошибка сегментации» (или GPF в среде Windows) - это термин, который вы ищете, когда приложение пытается получить доступ к памяти, к которой оно не имеет доступа. «Ошибка страницы» относится к случаю, когда осуществляется доступ к разделу памяти, но он был выгружен в виртуальную память.

Dan Harper 22.09.2008 15:41

Дэн, спасибо, что указали на это. Я отредактировал сообщение.

Nils Pipenbrinck 22.09.2008 17:19

Одна проблема - два разных источника, пытающихся получить доступ к закрытой области. Заставить все мьютексы, мониторы и блокировки работать на 100% нетривиально.

Я голосую за это, потому что взаимоблокировки и блокировки находятся очень частая причина сбоя операционной системы.

Zan Lynx 07.05.2009 04:17
Ответ принят как подходящий

Я считаю

  1. Плохие водители
  2. Ошибки ядра
  3. Аппаратный сбой
  4. Конец ресурсов

Современная операционная система не позволит простому приложению вывести ее из строя.

Хороший список, однако «конец ресурсов» не должен вызывать сбой, если нет плохого драйвера или плохого ядра. Хороший код должен корректно обрабатывать все сбои выделения ресурсов. Однако верно, что это довольно распространенный тип ошибки драйвера.

Suma 22.09.2008 14:30

Я думал о "бомбах вилки" и полной корневой файловой системе

Sklivvz 22.09.2008 16:30

В современной ОС код приложения и код ОС запускаются в разных адресных пространствах. Код приложения не может вызвать сбой операционной системы. Глянь сюда:

http://en.wikipedia.org/wiki/Ring_(computer_security)

Наиболее частым считыванием сбоя является код, который действует как часть ОС и мешает другому коду, действующему как часть ОС. Частая причина - плохо написанные драйверы устройств, которые находятся в адресном пространстве ОС.

Реже сбои вызваны аппаратными сбоями.

Если взять Vista в качестве примера - драйверы ... NVidia в частности http://arstechnica.com/news.ars/post/20080325-vista-capable-lawsuit-paints-picture-of-buggy-nvidia-drivers.html. Распределение памяти определяет ОС, а не приложения. Ну это теория.

Сбой ОС также может быть вызван из-за сбоя некоторых секторов на жестком диске, это связано с тем, что все ОС находятся на основном диске на жестком диске.

Любой Сбой ОС может возникнуть по одной из двух основных причин:

  1. Аппаратная проблема.
  2. Программная проблема.

АППАРАТНЫЕ ПРОБЛЕМЫ:

  1. Проблемы, связанные с питанием: Неправильное функционирование источника питания системы может привести к немедленному отключению системы.

  2. Перегрев ОЗУ: Перегрев ОЗУ может привести к повреждению данных в ней. Это может привести к определенному сбою, когда перезагрузка является обязательной.

  3. Неправильный разгон: вызывает перегрев. Некоторые компоненты оборудования чувствительны к нагреванию. Когда перегрев происходит автоматически, система отключается.

  4. Плохие сектора на жестком диске: Жесткий диск разделен на секторы, в которых хранятся данные. Некоторые сектора становятся плохими. Причины: а. Длительное использование - много операций записи и чтения. б. Производственный дефект. Если секторы на жестком диске, где хранится важная системная информация, становятся поврежденными, тогда эти файлы трудно загрузить, что приводит к сбою.

  5. Проблемы с RAM: Причина: получение данных невозможно. Это очень важно, так как это приводит к Неустранимая ошибка исключения

Главное заблуждение: сбой приложения в вашей системе не всегда приводит к сбою системы. Обычно с ОС "ничего" не происходит. Он просто отправляет вам отчет, в котором говорится о том, что приложение разбилось.

ПРОБЛЕМЫ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ:

  1. Поврежденный реестр: Перед запуском любого приложения ОС просматривает его реестр. Реестр - это небольшая база данных, в которой хранится вся информация о ядре, драйверах и информация о приложениях. Реестр может быть поврежден из-за неправильного удаления приложений, небрежного редактирования реестра, слишком большого количества установленных приложений и т. д. Другие причины поврежденного реестра. Это приводит к тому, что обычные приложения отказываются запускаться, что приводит к отображению Синий экран смерти.
  2. Неправильные драйверы: Чтобы использовать дополнительное оборудование, нам нужны драйверы, обычно загружаемые из Интернета. Эти драйверы могут содержать ошибки. Эти ошибки вызывают сбой ОС. Современные операционные системы выпускаются с опцией «Загрузка в безопасном режиме». Загрузка в безопасном режиме загружает только важные драйверы (минимум), а не все. Загрузка в безопасном режиме используется в диагностических целях, чтобы найти драйвер с ошибками.
  3. Вирус и троян: Общие причины сбоя ОС. Вирусы и трояны повреждают системные файлы, "съедают" память, не позволяя операционной системе получить ее при остановке программы, изменении административных настроек, частых перезагрузках без каких-либо признаков и т. д.
  4. Взбучка: взаимоблокировка возникает, когда две запущенные программы требуют управления определенным ресурсом. Иногда во время тупика ОС пытается переключаться между двумя программами. Это в конечном итоге приводит к перебоям, когда жесткий диск перегружается из-за перемещения информации между системной памятью и виртуальной памятью, что приводит к сбою системы.

Другие вопросы по теме