Контроль ошибок устройств.




Для обхода сбоев использую следующие методы:

1. Контроль записи используется следующие методы: считается и сверяется с тем, что записали. При несовпадении - еще попытки и при неуспехе генерируется ошибка - эхо - контроль.

2. Организация дубль - блоков - все данные записываются по два раза, при считывании - если не удалось прочитать, то считывается с дубль блока.

3. Контроль продольной четности - каждому байту добавляют дополнительный девятый бит и он выставляется в единицу, если установить единичный бит в байте нечетно, или наоборот.

4. Контроль поперечной четности: все данные разделены на группы байт, и к каждой гурппе добавляется доп. байт, и - ый бит которого выставлен в единицу, если количество итых битов в группе байтов нечетно. 0 - в противном случае.

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


 

Управление устройствами.

 

Большинство устройств общается с ОС с помощью контроллеров устройств. Они управляют устройствами (ДА ЛАДНО?), а общение системы и контроллера происходит с помощью микрокода.

Например, чтобы принудить диск читать какие - либо данные контроллеру диска передается инфо. о месте хранения данных (номер диска, дорожка, сектор) и действие, которое нужно совершить (чтение/запись). Это и есть микрокод.

Каждое устройство снабжено портами ввода - вывода, с помощью которых инфо. и передается. Еще одной характеристикой устройства является номер прерывания (IRQ), которое возникает по окончанию операции вводы - вывода.

После окончания операции ОС получает управление и забирает данные с помощью портов ввода - вывода.

При наличии у устройства поддержки DMA процессор для получения данных не используется, а контроллер устройства после окончания операции кладет полученные данные в оп. память с указанием адреса, а процессор при этом выполняет другие задачи.

 

Файловая система.

Файл - компонент области данных, хранящийся во внешней памяти. В задачи файловой системы входит хранение файлов во внеш. памяти, а так же предоставление пользователю средств "общения" с ними.
При запросе пользователем на запись/чтение из файла, файл. система определяет местоположение файла, после этого обращается к драйверу (часть ОС, управляющая этим контроллером устройства с помощью микрокода) нужного устройства, который генерирует микрокод для контроллера устройства, после чего на физ. уровне выдает команду устройству и по окончании операции драйвер забирает прочит. данные от контроллера с ком. портов или DMA и передает ОС, которая отдает их пользователю.

Буферизация.

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

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

Буфер зап. и буфер чтен. необходимо синхронизировать. Это буфер рабочей области, куда поочередно записывает один из них. Это циклический буфер.


 

 

Планирование доступа к магнитным дискам.

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

1. FIFO

2. STTN (Shortest Seek Time Next) - первыми обрабатываются те запросы, перемещение головки для которых минимально. Недостаток - дискримин. дорожек в крайних областях.

3. SCAN - сканирование - приоритеты направления движения головки, и при достижении крайней дорожки направление меняется на противоположное. Недостаток: та же дискриминация дорожек, но в меньшей степени.

4. C - SCAN - циклич. сканирование - аналог обычного, но направление не изменяется, а при достижении крайних происходит резкий перескок на противоположную сторону. Недостаток - большое время на перескок.

5. N-STEP-SCAN, N-STEP-C-SCAN - аналог 3 и 4, но при движении в приоритете направления не учитываются запросы, пришедшие во время движения по этому направлению, они учитываются на следующем шаге.

Доп инфа, плюшки приколюшки, сяськи масяськи

Семафо́р — объект, позволяющий войти в заданный участок кода не более чем n потокам. Определение введено Эдсгером Дейкстрой.
Семафоры используются при передаче данных через разделяемую память.

Алгоритм Деккера - озволяет двум потокам выполнения совместно использовать неразделяемый ресурс без возникновения конфликтов

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

Дейкстра определил две операции над семафорами:

P(s) и V(s). Операция P блокирует семафор, операция V деблокирует семафор. Более

точно, операции P и V определены следующим образом:

Операция P(s) проверяет, что семафор s открыт. Если семафор открыт, операция закры-

вает семафор и завершается. Операция проверки и открытия является атомарной, то есть

ни один другой процесс не может наблюдать ситуации, когда семафор проверен, но ещё не

закрыт. Если на момент проверки семафор уже закрыт, операция P приостановит процесс

до тех пор, пока некоторый другой процесс не откроет семафор. После того, как некоторый

процесс открыл семафор, система выбирает из множества процессов, ожидающих открытия

семафора, какой-то один и разблокирует его.

Операция V(s) разблокирует семафор. Эта операция никогда не приостанавливает вы-

полнение процесса.

Обычно сам по себе семафор s это переменная некоторого целого типа. Значению 0

может соответствовать открытый семафор, а значению 1закрытый семафор. Если сема-

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

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-20 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: