Управление на входно-изходни устройства и на файлови системи в ОС


Категория на документа: Информатика


Тема 8
Управление на входно/изходни устройства и на файлови системи в ОС
Система за управление на входа-изхода (СУВИ). СУВИ е компонент от вътрешната част на ОС, приема входно-изходните заявки, които могат да бъдат направени в системен или потребителски режим, трансформират ги в подходяща форма и ги предават на входно-изходните устройства. СУВИ освобождава потребителите от необходимостта да познават детайлите на входно-изходните операции. Основната задача на СУВИ е да осигури непрекъснато управление на подаването на данните между паметта и входно/изходните устройства. СУВИ трябва да осигури унифициран достъп до устройствата, възможност за инсталиране на нови устройства, да осигури ефективното и съвместно използване на устройствата, да поддържа възможност за разработката на драйвери на входно/изходните устройства. Управлението на входно/изходните устройства се осъществява чрез набор от команди, диагностика на състоянието на устройствата - във всеки момент системата ги проверява.Основни механизми на СУВИ.-Вхoдно/изходните устройства могат да се разглеждат като съвкупност от процесори работещи както помежду си, така и с централния процсор. При тях могат да се реализират и някой външни процеси (натискане на бутон, писане от клавиатурата и т.н.). Външните процеси извършвани върху входно/изходните устройства взаимодействат с вътрешните процеси. СУВИ може да се разглежда като една или няколко системни процеса, които осигуряват информационно и управляват взаимодействието м/у вътрешни и външни процеси, тоест с тази система се управляват и унищожават външните процеси. От гледна точка на вътрешните процеси СУВИ в програмен интерфейс за използване на входно/изходните (в/и) устройства. Чрез него вътрешния процес предоставя в определена форма в/и заявки, така че те да са разбираеми за в/и устройства. Използват се два метода за управление на в/и устройства - пряк и косвен. Те се различават по степента на автономност на в/и операции от CPU. При прекия има непосредтвена връзка м/у централния процесор и в/и устройства, тоест CPU отговаря и за управлението на в/и устройства. Основен недостатък тук е, че не може да има многозадачна работа. Косвения метод на механизъм, при който взаимодействието на CPU и в/и устройства се опосредства от канали. Това е специален междинен процесор, който осъществява фактическото управление на устройството. Основното значение на в/и канали, е че чрез тях се реализира паралелна работа на устройствата и CPU, намалява се участието на процесора във в/и операции.За да се синхронизират вътрешните и външните процеси се прилага буферирането. Буферът е непрекъсната област от основната памет, предназначен за междинно съхранение на данни при извършване на в/и операции. Чрез буферите данните се изпращат от вътрешния към външния процес (запис) или обратното (четене). Това предполага СУВИ да извършва операции с буферите. Критичния момент при управлнието на буферите е определянето на броя и размера им. В зависимост от броя на буферите се използват няколко метода за буфериране:
-просто - всеки в/и канал ползва 1 буфер, тоест не може да се ползва едновременно за четене и запис. Поради това този метод не е особенно ефективен.
-двойно буфериране - всеки в/и канал ползва два буфера. При операция четене данните се въвеждат в единия, а процесът може да обработва данни в другия.
-циклично буфериране - повече от два буфера. Това води до по-високо бързодействие. Размера на буферите е от ключово значение. Търси се компромис при използването на основната и на външната памет. При по-голям буфер устройството може да работи по-дълго автономно, но така се намаля паметта за вътрешните процеси.Основни компоненти на СУВИ в NT -функции на приложния интерфейс за входа и изхода-мениджър на входа и изхода-драйвери на устройствата-модули за поддържане на драйверите-методи на хардуерния абстрактен слой за достъп до в/и устройстваСУВИ се различава от мениджъра на входа и изхода (той е елемент на СУВИ). Основната задача на мениджъра е да дефинира модел в съответствие, с който в/и заявки се предават на драйверите на устройствата. Мениджъра създава пакет на входно/изходните заявки - структура от данни тип IORP (input/output request packet). Пакетът се изпраща на драйверите на съответните устройства след изпълнение се унищожава. Драйвер получил пакет извършва указаната в него операция и след това връща пакета на мениджъра на входа и изхода или го предава за по-нататъшно управление на друг драйвер. Взаимодействието м/у различни драйвери се осъществява централизирано. Мениджъра на паметта предоставя на драйверите на устройствата общ код - общи услуги които те могат да изпълняват и така те стават по-прости и компактни. Драйверите управляват устройствата чрез хардуерния абстрактен слой. Характерна особенност на драйверите в Windows е тяхната слоеста организация. Драйверите са обособени по ниво, т.е. драйверите от по-ниско ниво осигуряват услуги за драйверите от по-високо ниво. Драйверите от по-високо ниво не се обръщат директно към устройствата, а към драйверите от по-ниско ниво.При запис във файл мениджъра получава заявка за запис от началото на даден файл и тази заявка се изпраща на драйвера на файловата система. Драйвера на файловата система преобразува изместването от началото на файла в байтово отместване в диска, след което дисковия драйвер определя физическия адрес където трябва да се извърши запис на файла.Структура на драйверите в Windows.Драйверите на устройствата се състоят от набор от методи, които се извикват на различни етапи. Основните модули на драйера са:-инициализиращ модул - изпълнява се от мениджъра на входа и изхода за да се зареди съответния драйвер
-методи на драйверите
-модул за начален вход и изход - при започване на трансфер от и към устройството
-модул за обслужване на прекъсванията - когато устройството генерира прекъсване диспечерът на прекъсванията го прихваща и го предава на модула на съответния драйверФайлова система
Частта от ОС управляваща информацията се нарича файлова система. Тя има две основни функции: извличане и съхраняване на информация от/на външните запомнящи устройства ВЗУ. От гледна точка на ОС файлът е именувана съвкупност от данни с уникално име, съхранявани на външно запомнящо устройство (ВЗУ) - диск, дискети. От гледна точка на потребителя, файлът е набор от логически записи. Те имат структура определена от потребителя.Организацията на файловете бива:-последователна - при нея записите на файловете се записват един след друг и за да се прочете даден запис трябва да се прочетат всички преди него
-индексна последователна организация - при нея за да се ускори бързодействието ОС поддържа специален индекс, в който има информация за физическите адреси на някой главни записи-пряка организация - достъпа до записите се извършва чрез техния ключ.Има два основни вида операции в/у файлове - операции, които се извършват в/у целите файлове (отваряне, затваряне, копиране) и операции прилагащи се в/у част от файловете (четене, запис, обновчване и др.).Функции на файловата система-Управлява файловете съхраняващи се във външната памет. Тя работи в тясна връзка с мениджъра на паметта и с кеш мениджъра.-създаване, модифициране, премахване на файлове-логическо копиране на файлове (директории)-съвместно използване на функциите от различни процеси-съвместно използване на функциите от различни потребители, синхронизация-обмен на данни м/у файловете-архивиране на информацията-възстановяване на файловете при аварийна ситуация-файловата система трябва да даде възможност за използване на лесни, запомнящи се имена на файловете-защита на данните-удобно взаимодействие с потребителите.Файловата система трябва да отговаря на определени изисквания за възстановяемост: 1. не трябва да се допуска прекъсване на в/и операции с файловете, 2. разрушените данни трябва да се корегират по някакъв начин.Основни характеристики на NTFS NTFS поддържа по-големи дялове и файлове от др. файлови системи.Най-малкия възможен размер е 5 MB, но се препоръчва дисковете да са по 400 MB-транзакционна обработка - техника за управление на данните, при която системните сривове не оказват въздействие на данните. При промяна на данните във файловете се модифицира структурата на дяла. Операциите се извършват в съответсвие с принципа "всичко или нищо", т.е. ако дадена транзакция бъде прекъсната се възстановяват данните преди нейното започване
-дублиране на важна за файловата система информация
-сигурност - реализира се на базата на обектно-ориентирания модел. В NTFS всеки отворен файл се представя чрез дескриптор за сигурност
-NTFS е съвместима с Unicode - система за кодиране, използваща 16B система за кодиране, където с 16B се представят 216 елемента
-динамично преадресиране на лоши клъстериОрганизация на дисковото пространство при NTFS-том (дял) - 1 диск може да бъде разделен на няколко тома, а 1 том може да бъде и в/у повече дяла. Томът съдържа файлове и свободно пространство.-клъстер - основна единица за разпределение на дисковото пространство м/у файловете. Размера на клъстера се нарича още клъстерен фактор и се задава при форматиране. Клъстера винаги съдържа няколко физически сектора, чийто брой е степен на 2 брой байтове = размера на клъстера 512Bвъзможни размери на клъстърния фактор: 512B, 1KB, 2KB.NTFS се обръща към клъстера и игнорира физическия сектор. Клъстерите с голям размер могат да бъдат предимство при големи дискови устройства, устройства при които сектора е различен от 512B. NTFS адресира физическата позиция на диска чрез логически номера на клъстерите. За да се пробразува логическия номер във физически адрес се използва следната формула:
логически_номер*клъстърен_фактор = физически адрес.пример: 16х2 = 32К от началото на съответния дял.NTFS адресира данните чрез виртуални имена на клъстерите. Чрез тях се номерират клъстерите, на които е разположен даден файл.
Главна файлова таблица (Master File Table)-Съдържа информация за служебни данни на файловата система. Тази таблица е реализирана като масив от файлови записи като размера на всеки запис е 1К. Първите 16 записа са за служебни файлове на ОС за управление на файловата система. За всеки файл се съдържа по един запис.
Служебни файлове-първия запис съдържа адреса на самата главна файлова таблица. Той съдържа във файл за стартиране на операционната система. -втория запис съдържа информация за копието на главната файлова таблица и се намира по средата на тома - така риска за повреждане е по-малък. Копието съдържа първите няколко файлови записа.-третия запис сочи към логическия файл - NTFS регистрира всяка операция свързана с промяна структурата на тома - създаване на нови файлове, директории и др.-файл за коренната папка (главната директория) - всички папки и файлове, които се съдържат в нея-файл с битова карта - поддържа информация за състоянието на клъстерите. За всеки клъстер имаме по един бит, който показва дали той е свободен или не-файл за лоши клъстери - информация за всички развалени области от диска-файл за тома - съдържа името на тома, версията за NTFS, за която е форматиран и 1 бит, който показва да дали в тома има повредени файлове (области) и дали трябва да се изпълни CheckDisk




Сподели линка с приятел:





Яндекс.Метрика
Управление на входно-изходни устройства и на файлови системи в ОС 9 out of 10 based on 2 ratings. 2 user reviews.