Skip to main content

Что такое блокировка программного обеспечения?

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

Возникновение блокировки программного обеспечения было впервые описано ученым IBM ™ Стюартом Мадником в 1968 году. На этом раннем этапе истории компьютеров Мадник предсказал, что персональные компьютеры станут меньше и дешевле в течение следующих нескольких десятилетий, но будут по-прежнему ограничиваться примерно одинаковые скорости передачи данных. Этот прогноз оказался в основном верным, и полезную мощность компьютеров часто увеличивают, просто добавляя дополнительные процессоры.

Основной причиной блокировки программного обеспечения является не ошибка как таковая, а скорее функция. В компьютере с несколькими процессорами, соединенными вместе, нет преимущества в том, чтобы несколько процессоров обрабатывали один и тот же фрагмент информации. Фактически, разные процессоры, каждый из которых пытается изменить один источник данных, могут повредить исходную запись. Чтобы несколько блоков не открывали одну и ту же информацию, доступ разрешен только одному процессору, а остальные компоненты обработки «заблокированы» из файла.

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

Ни одна машина, включая компьютер, не является полностью эффективной; эта неотъемлемая неэффективность усугубляется в многопроцессорных компьютерах. Например, на компьютере с шестнадцатью процессорами один из процессоров может бездействовать постоянно, поскольку данные не могут распространяться так быстро, как это необходимо. В какой-то момент сложная неэффективность означает, что бесполезно увеличивать число процессоров в компьютере. Добавление тысячи процессоров в систему бесполезно, так как скорость передачи данных ограничена, и большинство избыточных процессоров застрянет в постоянной блокировке программного обеспечения.

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