double arrow

Семейство операционных систем UNIX


Современные операционные системы

Распознавание тупика

За счет различных дорогостоящих вычислений можно установить, существуют ли процессы, находящиеся в состоянии тупика. Чтобы выполнить эти вычисления, ОС должна вести список тех ресурсов, которые ждет каждый заблокированный процесс, и список тех процессов, которые держат каждый недоступный ресурс. Алгоритм распознавания замкнутых цепей можно выполнять с любой нужной частотой. Как только тупик выявлен, должно быть выполнено восстановление. Существуют следующие методы восстановления:

1. Самый простой – это принудительное завершение всех процессов и запуск ОС заново;

2. Менее радикальный – принудительное завершение всех процессов, находящихся в тупике. В этом случае пользователи могут ввести их когда-нибудь снова;

3. Принудительное завершение процессов, находящихся в тупике, по одному и после каждого завершения вызов алгоритма выявления тупика до тех пор, пока тупик не исчезнет;

4. Запуск процессов, находящихся в тупике, со своих контрольных точек в предположении, что тупик больше не возникнет. Естественно, для этого должны быть контрольные точки;




5. Перераспределение ресурсов одного или нескольких процессов, среди которых могут быть даже такие, которые не находятся в тупике. Ресурсы назначаются одному из оставшихся процессов, находящихся в тупике, и он возобновляет исполнение;

6. Теоретически применим, если в момент, когда тупик выявлен, существует несколько пользовательских процессов, которые не находятся в тупике. Если этим процессам позволить доработать до конца и запретить образование новых процессов, то они могут освободить достаточно ресурсов, чтобы тупик исчез.

Стоимость стратегии распознавания тупика зависит от того, насколько часто выполняется алгоритм распознавания. Основная цена восстановления от тупика – это потери времени, которые могут быть существенными.

На ПК типа IBM PC наиболее популярными являются ОС семейства Windows компании Microsoft. Это и Windows 95/98, и Windows NT, и Windows 2000, и Windows XP. Но, кроме этих ОС, на ПК используются ОС Unix, Linux, OS/2, QNX.

Изучая теорию ОС и работая на ПК, мы фактически познакомились с OC семейства Windows. Поэтому не будем отдельно описывать эти ОС.

Рассмотрим же кратко ОС UNIX, которая является примером исключительно удачной реализацией простой мультипрограммной и многопользовательской ОС.

UNIX проектировалась как инструментальная система для разработки программного обеспечения. Была создана по сути, двумя разработчиками (Кен Томпсон и Денис Ритчи) для себя и написана на языке С.

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







Сейчас читают про: