Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Концепция ОС семейства Windows.



В 1992-1993 гг. Microsoft занялась разработкой системы, которая должна была заполнить перспективную рыночную нишу " многозадачной DOS защищенного режима". ОС имела три источника и три составные части.

1. Windows NT

2. Многозадачные среды для DOS

3. Windows 3.x

От Windows NT новая система получила интерфейс системных вызовов — Win32 API — и формат загружаемого модуля РЕ (Portable Executable — переносимый исполняемый [модуль]). У многозадачных сред разработчики новой ОС позаимствовали идею преобразования DOS в многозадачную среду защищенного режима. Такая архитектура была довольно-таки трудоемка в реализации и создавала специфические проблемы (так, DOS не отдавала управления при обращениях к приводу гибких дисков, поэтому работа с дискетами из любой сессии приводила к остановке всех остальных сессий), но не представляла непреодолимых концептуальных сложностей и была в целом работоспособна. Windows 3.x представляла собой пример системы, реализовавшей интерфейс между пользовательскими программами, работающими в защищенном режиме, и ядром DOS. К 1993-1994 гг. на рынке существовало более десятка других продуктов, предоставляющих аналогичный интерфейс, так называемых расширителей DOS. С точки зрения разработчиков новой ОС Windows 3.x представляла наибольший интерес в качестве отправной точки, потому что, в отличие от остальных расширителей DOS, она предоставляла динамическую сборку в момент загрузки и реализовывала также событийно-ориентированную архитектуру, пусть и более примитивную, чем асинхронная очередь сообщений Win32. К тому же, Windows 3.11 имела собственную дисковую подсистему, позволявшую работать с жестким диском в обход DOS (так называемый 32-битный доступ к диску). После длинной последовательности публичных бета-версий, многократного переноса сроков и большой шумихи в прессе новая система, получившая название Windows 95, вышла на рынок в 1995 г. Система с самого начала задумывалась как переходная, предназначенная для облегчения перевода пользовательской базы DOS на Windows NT, однако прошло не менее 4—5 лет, прежде чем совместимость с приложениями DOS перестала быть решающим параметром при выборе ОС для настольного компьютера. За это время успело выйти несколько версий " переходной" системы ( OSR2, 98, 98SE, Millennium Edition ) и даже после выхода ХР Microsoft еще не готова объявить о прекращении поддержки этой линии ОС.

Понятие файловые системы.

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

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

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

1. проверку типа монтируемой ФС;

2. проверку целостности ФС;

3. считывание системных структур данных и инициализацию соответствующего модуля файлового менеджера (драйвера файловой системы);

4. в некоторых случаях — модификацию ФС с тем, чтобы указать, что она уже смонтирована. При этом устанавливается так называемый флаг загрязнения (dirty flag) для повышения устойчивости ФС к сбоям;

5. включение новой файловой системы в общее пространство имен.

В операционных системах семейства Unix смонтированные ФС выглядят как каталоги единого дерева (строго говоря, структура каталогов в UNIX не обязана являться деревом), Это дерево начинается с корневого каталога, выделенной ФС, называемой корневой (root). Администратор системы может подмонтировать новую ФС к любому каталогу, находящемуся на любом уровне дерева. Такой каталог после этого называют точкой монтирования, но это выражение отражает только текущее состояние каталога. После того как мы размонтируем ФС, мы сможем использовать этот каталог как обычный, и наоборот, мы можем сделать точкой монтировки любой каталог.

Такой подход имеет неочевидное, но серьезное преимущество перед раздельными пространствами имен для разных физических файловых систем. Преимущество состоит в том, что пространство имен оказывается не связанным с физическим размещением файлов. Кроме общесистемных сбоев, ФС должна обеспечивать средства восстановления при физических сбоях диска. Наиболее распространенным видом таких сбоев являются нечитаемые — " плохие" — блоки, появление которых обычно связано с физическими дефектами магнитного носителя. Быстрее всего плохие блоки возникают на гибких магнитных дисках, которые соприкасаются с головкой чтения/записи и из-за этого подвержены физическому износу и повреждениям. Кроме того, гибкие диски подвергаются опасным воздействиям и вне дисковода. Жесткие магнитные диски помещены в герметичный корпус и — в норме не соприкасаются с головками дисковода, поэтому срок службы таких дисков намного больше. Появление одиночных плохих блоков на жестком диске скорее всего свидетельствует о заводском дефекте поверхности или же о том, что магнитный слой от старости начал деградировать.

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

В файловой системе FAT плохой блок или кластер, содержащий такой блок, отмечается кодом OxFFB или OxFFFB для дисков с 16-разрядной FAT. Эта файловая система не способна компенсировать плохие блоки в самой FAT или в корневом каталоге диска. Такие диски просто считаются непригодными для использования.

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

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

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

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

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

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

 

Информационные процессы

Инф-ция не сущ-ет сама по себе, она проявляется в инф-ционных процессах. Осн инф-ционными процессами явл-ся: сбор, хранение, передача, обработка, использование инф-ции. Информационные процессы- процессы получения, передачи, преобразования, хранения и использования инф-ции в живой природе, обществе, технике.

Используя разнообразные методы поиска инф-ции, можно собрать более полную инф-цию и повысить вероятность принятия правильного решения. Сбор инф-ции не явл-ся самоцелью. Чтобы полученная инф-ция могла использоваться, причем многократно, необх-мо ее хранить. Хранение инф-ции- это способ распространения инф-ции в пространстве и времени.

Передача инф-ции: Способ передачи сообщений определяет канал связи между источником и потребителем инф-ции. Чтобы сообщение было передано, надо его зафиксировать с помощью определенных символов, которые составят алфавит. Напр., при передачи сообщения по телеграфному каналу используют азбуку Морзе, на выходе телеграфного канала происх. обратная перекодировка в буквы. Канал связи-совокупность техн-х устройств, обеспеч-х передачу сигналу от источника к получателю. Характеристика канала связи- пропускная способность, т.е. максимальная кол-во инф-ции, кот. может быть передано по нему за единицу времени.

Обр-ка инф-цции («черный ящик»)     y=j(x) x3 x2 x1 y j(x)=y y=x 0 x x1 x2 x3 y xk=j(xk-1) x2=j(x1) j(x)=y y=x 0 x y x3 x2 x0 x1 y=f(x) 0 x 0 y f(x) c1 c2 b a
Обработка инф-ции: - преобразование инф-ции из одного вида в другой, осуществляемое по строгим формальным правилам. (входная инф-ция → → выходная инф-ция).

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

 

Системы программирования.

Чтобы изучать программирование для операционной системы Windows, нужны программы нового класса — системы программирования. Это довольно сложные и дорого­стоящие продукты. Их надо приобретать и устанавливать отдельно.

Система программирования — это пакет, в который входят одновременно:

ü транслятор языка программирования (интерпретатор или компи­лятор);

ü удобный справочник, позволяющий наглядно оформлять вызовы стандартных процедур Windows;

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

ü стандартные библиотеки с заранее заготовленными блоками, из которых новую программу можно собирать, как из кубиков.

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

Компьютерная программа — это упо­рядоченная запись исполняемых инструкций. Все команды процессора пред­ставляются числами со значениями от 0 до 255 или группами из нескольких таких чисел (байтов). Если взглянуть на программу так, как с ней работает процессор, то мы уви­дим только длинный ряд чисел, некоторые из которых являются коман­дами, некоторые — адресами ячеек памяти, а некоторые представляют числа, буквы, звуки, графику — то есть данные. Такая форма записи программ называется машинным кодом. Это единственная форма записи программы, понятная процессору. Если машинный код содержит более нескольких десятков байтов, понять его непросто даже специалистам, а современные программы содержат многие мил­лионы числовых кодов. Ученые придумали иной подход, удобный как людям, так и машинам. В наши дни составлять программы в машин­ном коде не принято. Вместо этого используют так называемые языки программирования. Команды языков про­граммирования называются операторами, а правила их использова­ния — правилами синтаксиса.

Запись про­граммы на языке программирования называют исходным кодом. Исходный текст программы — это просто текст, но не работоспособная программа.

Visual Studio.NET. Многое сохранилось с прежних времен — концепция ускоренной разработки приложений (RAD, Rapid Application Development); элементы, размещаемые на форме; запуск пр-ммы клавишей F5 и т. д.; но многое изменилось, притом в основном в лучшую сторону. Кроме того, VB.NET, в отличие от прежних версий VB, не ограничивается приложениями, ориентированными на графический интерфейс, и позволяет строить приложения других типов. ZB, к вашим услугам web-приложения, серверные приложения и даже консольные приложения, работающие в окне, похожем на окно DOS -сеанса. Все «визуальные» языки Microsoft наконец-то обрели единую среду разработки. Времена, когда в VC++, VJ++, Visual InterDev и Visual Basic использовались разные IDE, безвозвратно прошли. Другая приятная особенность новой среды — широкие возможности настройки. Теперь среду VS.NET можно настроить так, чтобы она была похожа на IDE от VB6 или любую другую IDE по вашему выбору. Пользователи прежних версий VB обычно предпочитают, чтобы среда по внешнему виду и поведению была как можно ближе к традиционной среде VB6. Для этого откройте на начальной странице VS ссылку My Profile и выберите строку Visual Basic Developer в списке Profile. Вы можете настроить клавиатуру и раскладку окон и сохранить разные комбинации параметров в разных профилях. Чтобы сменить профиль, выполните команду Help > Start Page и откройте ссылку My Profile.

В VB.NET каждый проект является частью того, что Microsoft называет решением (solution). Любой код, созданный в VB.NET, относится к некоторому решению. Решение можно рассматривать как хранилище всей информации, необходимой для компиляции пр-ммы и ее перевода в форму, пригодную для исполнения. Таким образом, решение состоит из одного или нескольких проектов; различных вспомогательных файлов (графических изображений, ресурсных файлов, метаданных, то есть данных, описывающих другие данные, и т. д.); документации в формате XML и практически всего, что приходит в голову. Пр-ммисты с опытом работы на VB5 или 6 могут рассматривать решение как аналог пр-ммной группы. На первых порах решения кажутся неудобными; откровенно говоря, при написании мелких пр-мм они действительно слишком громоздки. Но постепенно вы привыкнете к решениям и убедитесь, что они заметно упрощают работу над крупными коммерческими проектами. Дело в том, что решение позволяет легко выбрать файлы, задействованные в решении конкретной проблемы.

Новое решение создается командой File > New. Вам предлагается выбрать один из двух вариантов: создать новый проект (New Project) или пустое решение (Blank Solution). Даже при выборе первого варианта IDE все равно создает решение. Различие между этими вариантами заключается в том, что при выборе определенного типа проекта VS.NET IDE создает несколько служебных файлов и включает их в решение (файлов зависит от выбранного типа проекта). Как правило, работа над новой пр-ммой начинается с команды New Project. На экране появляется диалоговое окно. В окне перечислены типы проектов, автоматически создаваемых в VB.NET, — на момент написания книги их было десять. Шаблоны проектов VB.NET работают практически так же, как в VB6. В частности, они почти всегда содержат «скелет» пр-ммы, и в них обязательно присутствует служебная информация о файлах, входящих в решение. После прокрутки списка в диалоговом окне New Project появляется значок Console Application (Консольное приложение). Следует обратить внимание: при выборе любого значка, кроме последнего — New Project in Existing Solution (Новый проект в существующем решении), — вам не придется подтверждать создание нового решения. Дело в том, что при создании нового проекта за пределами существующего решения IDE создает базовую структуру решения за вас. Большинство пр-ммистов.NET предпочитают создавать решения в отдельных каталогах, имена которых совпадают с именами решений. По умолчанию IDE поступает с новыми решениями именно таким образом.

Чтобы сосредоточить все внимание на новых возможностях языка VB.NET, не отвлекаясь на тонкости работы графических приложений в.NET, в первой части книги рассматриваются только консольные приложения. Они работают в текстовом режиме; с некоторым упрощением можно считать, что весь ввод/вывод осуществляется в окне DOS (данные читаются из стандартного входного потока и записываются в стандартный выходной поток).

Можно использовать любое допустимое имя файла. При желании в него можно включить прописные буквы или пробелы. Регистр символов в файловой системе Windows игнорируется при выполнении операций, но сохраняется для удобства пользователя. При установке флажка Create Directory for Solution (Создать каталог для решения) IDE автоматически создает в заданном основном каталоге подкаталог, имя которого совпадает с именем решения.

При помощи команды View в главном меню всегда можно вызвать нужное окно на передний план (и передать ему фокус). Все окна IDE свободно перетаскиваются мышью. Кстати говоря, они не являются дочерними окнами многодокументного интерфейса MDI (Multiple Document Interface), которые должны находиться в границах родительского окна — любое окно можно переместить за пределы главного окна IDE. Не следует забывать о том, что в IDE существует режим контекстной справки, вызываемый клавишей F1 при нахождении фокуса в окне решения (Solution Explorer). Также поддерживается режим динамической справки (клавиши Ctrl+Fl ), который автоматически отслеживает ваши действия и пытается вызвать соответствующий раздел справки. У динамической справки есть один серьезный недостаток — она интенсивно расходует ресурсы процессора. Когда вы освоитесь в IDE, отключите этот режим, чтобы повысить быстродействие.

Бросается в глаза другая эффектная особенность IDE — если пристыкованное (docked) окно полностью перекрывает другое окно, это вызовет меньше проблем, чем в VB6, поскольку скрытые окна автоматически отображаются в виде корешков (tabs). Чтобы вызвать скрытое окно, достаточно щелкнуть на корешке и перетащить его мышью. Чтобы изменить порядок окон (например, для экономии места), просто перетащите один корешок поверх другого. Подобное использование корешков выгодно отличает VS.NET от VB6 IDE, где в результате неосторожной стыковки окон становилось совершенно невозможно работать и для возвращения к нормальному состоянию приходилось править системный реестр. Также обратите внимание на корешок Start Page главного окна, предназначенный для вызова начальной страницы IDE.

В VS.NET IDE, как и в большинстве современных приложений Windows, контекстные меню вызываются правой кнопкой мыши. Поэкспериментируйте и освойтесь с разными вариантами контекстных меню, в контекстном меню объединяются команды редактирования и отладки.

Кнопки панелей инструментов снабжены подсказками. Предусмотрена даже автоматическая нумерация строк пр-ммы. Режим нумерации включается в диалоговом окне, вызываемом командой Tools > Option > Text Editor. На некоторых кнопках имеются стрелки, показывающие, что при нажатии кнопки открывается меню. Например, вторая кнопка слева (Add New Item) открывает список элементов, которые можно включить в решение.

В VB.NET снова стали доступны чрезвычайно удобные команды блочного комментирования/снятия комментариев, впервые появившиеся в VB5. Теперь эти команды вызываются со стандартных панелей инструментов IDE, а не из меню Edit, откуда они таинственно исчезли в VB6. Панель элементов (toolbox) используется преимущественно при пр-ммировании приложений GUI, но на ней также расположен многоэлементный буфер обмена (clipboard ring). Необходимо упомянуть и о такой экзотической возможности, как сохранение фрагментов кода прямо на панели элементов.

Редактор обладает полным набором стандартных возможностей, поддерживаемых в редакторах такого рода (вырезание, вставка, поиск/замена и т. д.). Для работы с ними можно использовать стандартные комбинации клавиш Windows (Ctrl+X — вырезать, Ctrl+V — вставить и т. д.). Если вы предпочитаете работать с командами меню, к вашим услугам меню Edit и контекстное меню окна пр-ммы. Некоторые команды — такие как Option Explicit — используются по умолчанию и не отображаются в окне пр-ммы, как в VB6 В вашем распоряжении и очень удобное средство IntelliSense, выдающее информацию о методах заданного объекта или параметрах, передаваемых при вызове функции. Обычно IntelliSense автоматически вызывается при вводе символа «. » (точка). Настройка большинства глобальных параметров редактора выполняется в диалоговом окне — Tools > Options следует выбрать в списке строку Text Editor. По сравнению с VB6 диалоговое окно Options основательно изменилось, поэтому мы рекомендуем внимательно изучить его содержимое. Например, чтобы выбрать размер позиций табуляции, щелкните в строке Text Editor и выберите нужное значение для всех языков или только для VB. Здесь же выбирается режим создания отступов: None (отступы отсутствуют), Block (курсор выравнивается по началу предыдущей строки) или Smart (автоматическое создание отступов в теле цикла, как того требует хороший стиль пр-ммирования). Устанавливать размер позиций табуляции и форматировать отступы можно в готовом тексте, для чего используются комбинации клавиш Ctrl+K, Ctrl+F или команда Edit > Advanced > Format Selection. Если в режиме Smart выделить фрагмент пр-ммы и нажать клавиши Shift+Tab, этот фрагмент будет переформатирован.

Новый редактор поддерживает и такую удобную возможность, как свертка фрагментов пр-ммы и отображение на их месте заголовков. Если щелкнуть на таком значке, в листинге открывается соответствующая область (region). Если задержать указатель мыши над многоточием (...), на экране будет показан свернутый код. Для управления сверткой используется подменю Edit > Outlining.

При изучении редактора IDE особенно полезная информация находится в разделе справки «Editing Code and Text». В частности, здесь описано несколько очень удобных средств перемещения по тексту. Буфер обмена рассчитан не на один элемент, а на несколько сразу (аналогичные возможности существуют в Office 2000 и Office XP ). Весь вырезанный или скопированный текст передается в многоэлементный буфер обмена, к которому можно обратиться с панели элементов. Чтобы просмотреть текущее содержимое буфера, щелкните на корешке Clipboard Ring на панели элементов. В буфере хранятся 15 последних скопированных или вырезанных фрагментов текста. Комбинация клавиш Ctrl+Shift+V вставляет очередной элемент буфера в текущий документ. Многократно нажимая клавиши Ctrl+Shift+V, вы перебираете содержимое буфера. При каждом нажатии Ctrl+Shift+V предыдущий вставленный фрагмент заменяется текущим элементом буфера.

Любой фрагмент пр-ммного кода можно сохранить для последующего использования на панели элементов (многие пр-ммисты используют для этой цели вкладку General, но вы можете создать новую вкладку — щелкните на панели правой кнопкой мыши и выберите команду Add Tab из контекстного меню). Данная возможность очень удобна, поскольку в пр-ммах часто встречаются повторяющиеся фрагменты, а вводить их каждый раз заново слишком долго. Чтобы сохранить фрагмент пр-ммы, выделите его и перетащите мышью на панель элементов. Фрагменты остаются на панели до тех пор, пока не будут удалены при помощи контекстного меню. Чтобы воспользоваться сохраненным фрагментом, перетащите его мышью в нужную позицию окна пр-ммы. Существует и другой способ — выделите позицию вставки и дважды щелкните на сохраненном фрагменте.

В Visual Studio теперь поддерживается список задач (task list), унаследованный из Visual InterDev и Visual J++. Идея состоит в том, что в пр-мму включаются комментарии с описанием действий, которые предполагается выполнить в будущем; тип задачи определяется специальным ключевым словом, следующим после знака комментария. В настоящее время определены три встроенные категории задач — TODO, HACK и UNDONE. Комментарии с задачами выводятся в окне, вызываемом командой View > Other Windows > Task List (или комбинацией клавиш Ctrl+Alt+K).

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

1. Выполните команду Tools > Options > Environment > Task List.

2. Введите текст FOR_VASJ (при этом становится доступной кнопка Add ).

3. Выберите приоритет.

4. Нажмите кнопку Add и кнопку ОК.

В окне решения (Solution Explorer) выводится список файлов, входящих в решение. По умолчанию имя решения совпадает с именем первого созданного в нем проекта.

В VB.NET всем файлам с кодом Visual Basic независимо от их типа присваивается расширение.vb — расширения.frm, .bas и.cls не используются. Впрочем, одна важная особенность осталась неизменной: файлы с расширением.vb, как и в VB6, содержат обычный текст. В начале работы можно создать пустое решение без создания проекта — для этого следует выбрать опцию Visual Studio Solutions > Blank Solution в диалоговом окне New Project. Обычно это делается в тех случаях, когда вы не хотите, чтобы имя решения совпадало с именем одного из проектов.

Функции окна свойств в VS.NET уже не ограничиваются простым заданием свойств элементов управления. Содержимое окна зависит от того, что в настоящий момент выделено в IDE. Имя и тип выделенного элемента указаны в списке, находящемся в верхней части окна. Чтобы изменить значение свойства, щелкните в правой ячейке и начинайте вводить символы. В окне свойств действуют стандартные комбинации клавиш, используемые при редактировании в системе Windows.

Иерархический список файлов в окне решения содержит ветвь References с информацией обо всех сборках (assemblies), используемых в проекте. Диалоговое окно внешних ссылок в решениях VB.NET напоминает похожее окно, которое использовалось для импортирования библиотек СОМ в проектах VB6. Некоторые базовые сборки.NET используются в каждом проекте.

В приложениях.NET можно использовать традиционные компоненты СОМ, а следовательно, и компоненты ActiveX (в том числе и написанные вами). Взаимодействие технологий.NET/COM основано на механизме COM Interop. Впрочем, потенциальная возможность еще не означает, что это следует делать, т.к. использование компонентов СОМ в приложениях.NET сопряжено с основательными затратами ресурсов.

В окне вывода (вызываемом командой View > Other Windows или комбинацией клавиш Ctrl+Alt+О ) отображается текущая информация состояния. При построении решения в этом окне компилятор выводит сообщения как об успешном завершении, так и о возникших ошибках.

Окно команд (вызывается командой View > Other Windows или комбинацией клавиш Ctrl+Alt+A ) напоминает окно отладки (Immediate window) VB6 и применяется в процессе отладки, о котором будет рассказано ниже. К сожалению, пользы от него существенно меньше, чем от окна отладки VB6, — окно команд не поддерживает IntelliSense и не работает в режиме конструирования (а точнее, окно команд обладает крайне ограниченной поддержкой IntelliSense для меню и макросов, но не для объектов и не в процессе отладки).

Окно команд работает в двух режимах: в режиме команд (Command) и в режиме непосредственного ввода (Immediate). Для переключения между режимами в окне вводятся строки > cmd или immed.

 

Файловые системы

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

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

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

6. проверку типа монтируемой ФС;

7. проверку целостности ФС;

8. считывание системных структур данных и инициализацию соответствующего модуля файлового менеджера (драйвера файловой системы);

9. в некоторых случаях — модификацию ФС с тем, чтобы указать, что она уже смонтирована. При этом устанавливается так называемый флаг загрязнения (dirty flag) для повышения устойчивости ФС к сбоям;

10. включение новой файловой системы в общее пространство имен.

В операционных системах семейства Unix смонтированные ФС выглядят как каталоги единого дерева (строго говоря, структура каталогов в UNIX не обязана являться деревом), Это дерево начинается с корневого каталога, выделенной ФС, называемой корневой (root). Администратор системы может подмонтировать новую ФС к любому каталогу, находящемуся на любом уровне дерева. Такой каталог после этого называют точкой монтирования, но это выражение отражает только текущее состояние каталога. После того как мы размонтируем ФС, мы сможем использовать этот каталог как обычный, и наоборот, мы можем сделать точкой монтировки любой каталог.

Такой подход имеет неочевидное, но серьезное преимущество перед раздельными пространствами имен для разных физических файловых систем. Преимущество состоит в том, что пространство имен оказывается не связанным с физическим размещением файлов. Кроме общесистемных сбоев, ФС должна обеспечивать средства восстановления при физических сбоях диска. Наиболее распространенным видом таких сбоев являются нечитаемые — " плохие" — блоки, появление которых обычно связано с физическими дефектами магнитного носителя. Быстрее всего плохие блоки возникают на гибких магнитных дисках, которые соприкасаются с головкой чтения/записи и из-за этого подвержены физическому износу и повреждениям. Кроме того, гибкие диски подвергаются опасным воздействиям и вне дисковода. Жесткие магнитные диски помещены в герметичный корпус и — в норме не соприкасаются с головками дисковода, поэтому срок службы таких дисков намного больше. Появление одиночных плохих блоков на жестком диске скорее всего свидетельствует о заводском дефекте поверхности или же о том, что магнитный слой от старости начал деградировать.

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

В файловой системе FAT плохой блок или кластер, содержащий такой блок, отмечается кодом OxFFB или OxFFFB для дисков с 16-разрядной FAT. Эта файловая система не способна компенсировать плохие блоки в самой FAT или в корневом каталоге диска. Такие диски просто считаются непригодными для использования

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

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

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

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

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

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


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-04-10; Просмотров: 828; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.064 с.)
Главная | Случайная страница | Обратная связь