Операционная система - это самое основное программное обеспечение, которое работает на компьютере. Он отвечает за управление памятью и процессами компьютера, а также за защиту сведений об оборудовании от прикладных программ, использующих его. Операционная система компьютера также обеспечивает справедливое распределение ресурсов для пользователей и программ, в отличие от равномерного распределения между процессами. Система честного планирования позволяет одному процессу использовать ЦП, в то время как другой ожидает в очереди. В результате каждый поток получает достаточный доступ к ограниченным ресурсам, предотвращая два наиболее распространенных условия, которые в противном случае могли бы задержать процесс: тупик и голодание. Оба связаны понятия, где процессы не имеют доступа к ресурсам. В этой статье освещаются некоторые ключевые моменты, сравнивающие их по различным направлениям..
Взаимная блокировка - это состояние, при котором набор потоков блокируется, поскольку каждый процесс, содержащий ресурс, пытается получить доступ к некоторым другим ресурсам, которые удерживаются другим процессом, что в конечном итоге препятствует правильному планированию системы. Ситуация тупика возникает, когда выполняются следующие четыре условия: взаимное исключение означает, что только один процесс может получить доступ к ресурсу одновременно; Отсутствие условия вытеснения означает, что ресурс может быть освобожден добровольно только процессом, удерживающим ресурс; Удерживать и ждать означает, что процесс, содержащий ресурсы, может запросить дополнительные ресурсы, удерживаемые другими процессами, и; Циклическое ожидание означает, что два или более процесса застряли в круговой цепочке, ожидая, пока каждый процесс освободит свои соответствующие ресурсы..
Истощение - это состояние, которое возникает, когда процесс переходит в период ожидания на неопределенный срок, поскольку процесс с низким приоритетом никогда не получает возможность доступа к ресурсу из-за постоянного потока процессов с высоким приоритетом, обращающихся к одному и тому же ресурсу. Это проблема управления ресурсами, потому что процессу отказано в доступе к ресурсу, который ему требуется, что приводит к тому, что процесс затягивается на неопределенный период ожидания. Это происходит потому, что требуемый ему ресурс никогда не выделяется процессу, в результате чего процесс испытывает недостаток ресурсов, отсюда и название. Лучший способ избежать голодания - это использовать метод старения, который постепенно увеличивает приоритет процессов, которые находятся в течение периода ожидания в течение длительного времени, чтобы обеспечить справедливую систему планирования..
Как взаимоблокировка, так и голодание являются взаимосвязанными концепциями, которые препятствуют справедливому планированию системы, при котором процессы не могут получить доступ к ресурсам. Deadlock, как следует из названия, относится к состоянию, при котором набор потоков или процессов блокируется, поскольку каждый процесс ожидает получения ресурса, который удерживается другим процессом, что приводит к ситуации тупика, когда программы перестают функционировать. С другой стороны, голодание инициируется тупиком, который вызывает зависание процесса, поскольку процессу с низким приоритетом отказано в доступе к ресурсу, который выделен процессу с высоким приоритетом.
Под взаимной блокировкой понимается конкретное состояние, которое возникает, когда поток или процесс переходит в период ожидания, поскольку запрошенный системный ресурс удерживается другим процессом, который, в свою очередь, ожидает, пока другой процесс освободит свой ресурс, создавая тем самым взаимоблокировку. Это вызвано плохим использованием ресурсов. Истощение - это неопределенное условие отсрочки, когда процессу с низким приоритетом отказывают в доступе к ресурсам, которые ему требуются, поскольку ресурсы выделяются другому процессу с высоким приоритетом. Это проблема управления ресурсами, которая заставляет систему распределять ресурсы только для процессов с высоким приоритетом..
Тупиковая ситуация - это конечная форма голода, которая возникает, когда одновременно возникают следующие четыре условия: взаимное исключение, отсутствие выкупа, удержание и ожидание и круговое ожидание. Условие взаимоблокировки возникает только в системах, в которых выполняются все четыре условия. Истощение происходит из-за различных условий, например, когда не хватает ресурсов для обхода, и приоритет процессов начинает снижаться или когда процессы начинают передавать ресурсы другим процессам без контроля. Если процесс с низким приоритетом запрашивает ресурс, зарезервированный для процессов с самым высоким приоритетом, процесс голодает вечно. Истощение также происходит, когда ресурсы распределяются произвольно, заставляя процессы ждать более длительный период времени..
Можно предотвратить голодание, используя надлежащий алгоритм планирования с очередью приоритетов, который на самом деле также использует технику старения - технику планирования, которая добавляет коэффициент старения к приоритету каждого запроса, что означает повышение уровня приоритета процессов с низким приоритетом, которые ожидали в течение долгого времени. Кроме того, предоставление большего количества ресурсов программам должно исключать постоянную перегрузку ресурсов. Чтобы система не зашла в тупик, процессам должно быть отказано в доступе к одному или нескольким ресурсам при одновременном ожидании других, и только одному процессу должен быть разрешен доступ к ресурсу за один раз..
И взаимоблокировка, и голодание - это связанные понятия в многопроцессорных операционных системах или распределенных системах, которые заставляют один или несколько потоков или процессов застревать в ожидании необходимых им ресурсов. Тупиковая ситуация - это ситуация, которая возникает, когда один или несколько процессов запрашивают доступ к одному и тому же ресурсу, вызывая зависание процесса, тогда как голодание вызывается тупиковой ситуацией, которая переводит процесс в неопределенное состояние отсрочки, поскольку процессам отказывают в доступе к ресурсу, удерживаемому высокоприоритетный процесс и нужно ждать вечно.