Почему можно вести себя некорректно программа вешает всю систему? [закрыто]

Часто моему компьютеру не хватает памяти или у него есть один очень тяжелый сценарий (скажем, обучение машинному обучению или простой импорт БД), который вешает всю систему. Я не могу перемещать мышь или взаимодействовать с ОС (кроме как с помощью волшебных клавиш).

Разве система не должна быть всегда гладкой, даже если какая-то программа делает сумасшедшие вещи? Это немного похоже на некорректный веб-сайт в браузере.

Я знаю, что это слишком типично, я просто хочу знать, должно ли это случиться / это было сознательное решение / сложная теоретическая проблема.

0
задан 30 September 2016 в 00:02

2 ответа

В зависимости от ресурсов, использованных Вашим сценарием, это могло очень хорошо быть "нормальным" поведением. Можно попробовать к renice процесс (процессы) к более низкому приоритету и если IO виновным, см. ionice.

1
ответ дан 28 September 2019 в 12:18

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

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

  2. сама операционная система была бы слишком большой иначе.

  3. операционная система была бы пожирателем ресурсов иначе.

  4. операционная система была бы неэффективна об энергетическом использовании иначе.

Заключения:

  1. Ubuntu не зависает как часто при работе аппаратных средств с быстрым процессором, большим количеством RAM, SSD вместо жесткого диска, и т.д.

  2. В общих более новых операционных системах, которые разработаны для выполнения хорошо на новых аппаратных средствах, подвешивают меньше, чем более старые операционные системы, которые разработаны, чтобы быть совместимыми с ограничениями старых аппаратных средств.

1
ответ дан 28 September 2019 в 12:18

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

Похожие вопросы: