Почему программы "зависают"? Что происходит внутри системы в это время с точки зрения программного кода? И возможно ли раз и навсегда устранить эту проблему?

305
1
0
5 октября
16:02
октябрь
2015

Зависать программы могут по разным причинам: недостаточно оперативной памяти (обычно после нескольких минут виса программа закрывается), программа обращается к битому файлу, запущенно слишком много процессов и процессору не хватает мощности для уделения временивсем сразу...

Хоть соврешенные операционные системы и называют многозадачными, но на самом деле это не так. В один промежуток времени процессором обрабатывается только 1 процесс. После определенного промежутка времени, процессор переключается на другой процесс и т.д. Это происходит настолько быстро, что для нас создается иллюзия, будто все процессы работают одновременно. Какому процессу и сколько уделить времени определяется приоритетом в системе. Существуют много различных планировщиков задач, которые распределяют процессор на все задачи. Вообще это довольная обширный вопрос и ответить на него в полной мере в рамках этого ответа очень сложно...

Мне кажется, что полностью решить вопрос зависания не получится. Слишком много разных факторов, вызывающие разные проблемы, приводящие к зависанию... Однако же, прогресс не стоит на месте, и кто знает, может уже лет через 5 мы и забудем про все эти зависания и тормоза.

10
0
Если вы знаете ответ на этот вопрос и можете аргументированно его обосновать, не стесняйтесь высказаться
Ответить самому
Выбрать эксперта