Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
last_lections_OS.docx
Скачиваний:
6
Добавлен:
19.04.2015
Размер:
38.89 Кб
Скачать

5.4.3 Устойчивость фс к сбоям диска

Кроме общесистемных сбоев ФС должна обеспечивать средства восстановления при физических сбоях диска. Наиболее распространенным видом таких сбоев являются нечитаемые (БЭД) блоки, появление которых обычно связано с физическими дефектами магнитного носителя. Обычно ошибки данных обнаруживаются при чтении. Дисковые контроллеры используют кодировку с исправлением ошибок, чаше всего это коды CRC, которые позволяют обнаруживать множественные ошибки, тем не менее если при чтении была обнаружена ошибка то большинство ОС отмечает такой блок как плохой, даже если данные удалось восстановить на основании СRС. В современных ФС обычно используется способ обхода плохих блоков, называемый горячей заменой. При создании файловой системы отводится небольшой пул блоков, предназначенный для горячей замены. В ФС хранится список всех обнаруженных плохих блоков и каждому такому блоку поставлен в соответствии блок из пула горячей замены.

6. Юзер апи.

ОС должна предоставлять пользовательский интерфейс. Как минимум она должна предоставлять командную оболочку (ШЕЛЛ), которая дает пользователю тем или иным способом запустить его прикладную программу. Однако в некоторых случаях, например во встраиваемых контроллерах и других специализированных приложениях такая оболочка может отсуствовать. При этом либо система вообще функционирует без вмешательства человека, либо пользователь работает только с оной прикладной программой. Кроме того ОС часто предоставляет средства для реализации графического пользовательского интерфейса. Часто оказывается сложно провести границу между ядром ОС и этими средствами. Особенно если стандартная оболочка ОС реализована с их использованием. В некоторых ОС большая часть ядра состоит из средств реализации графического интерфейса. В настоящее время оформилось 2 принципиально различных подхода к организации пользовательского интерфейса. 1 – исторически более ранний подход состоит в предоставлении пользователю командного языка, в котором запуск программ оформлен в виде отдельных команд. Этот подход известен как интерфейс командной строки (Command Line Interface – CLI). Второй подход состоит в символическом изображении доступных действий в виде картинок (ярлыков) на экране и предоставлении пользователю возможности выбирать действия при помощи мыши или другого координатного устройства ввода. Этот подход известен как графический пользоваельский интерфейс (GUI – Graphical User Interface). Разработчики современных ОС обычно предоставляют средства для реализации обоих подходов. Однако среди пользователей предпочтения разных подходов вызывают горячие споры. Рассмотрим преимущества и недостатки каждого подхода.

6.1 Интерфейс Командной строки.

ЭВМ, во всяком случае универсальная фоннеймовская ЭВМ, представляет собой языковую машину – устройство которое исполняет последовательность предложений некоторого формализованного языка. Язык ЭВМ может быть только функциональным подмножеством естественного языка, потому что вычислительных возможностей современных ЭВМ явно недостаточно для отображения всего богатства и сложности реального мира. В свете этого кажется разумным использование полностью синтетических языков, а не подмножеств естественных. Т.к человеку проще выучить совершенно новый язык, чем приучится пользоваться ограниченным подмножеством родного языка. Удачно спроектированные искусственные языки удобны и для ЭВМ (интерпретаторы полуфункциональных командных языков имеют малые рамеры, обеспечивают очень высокую скорость и эффективность использования ресурсов системы), поэтому синтетический язык как средство человеко-машинного общения является наилучшим выбором. Командные языки позволяют естественным образом перейти к написанию командных файлов или сценариев, позволяющих автоматизировать часто исполняемые задачи. Трудно провести границу между написанием сценариев и программированием. Современные интерактивные командные процессоры решают практически все проблемы командных языков предыдущих поколений (исправление опечаток в командах, набор последовательностей одинаковых или похожих команд осуществляется с использованием средств напоминания ранее набранных строк, поиск команд в историческом списке, их редактирование, повторное использование отдельных частей этих команд и т.д). 2 – набор длинных имен файлов, каталогов и других обьектов облегчаеться автоматическим расширением имен, это средство реализованное во ногих командных процессорах ОС семейства ЮНИКС позволяет набрав первые несколько символов имени расширить это имя до полного или получить список всех имен начинающихся с данной последовательности символов.

Неудобные, плохо запоминаемые или почему – то неустраивающие пользователя команды могут быть переименованы с использованием синонимов (aliases). Этот же механизм может быть использован для сокращения часто исполняемых сложных команд, важным преимуществом хороших командных языков по сравнению с ГУИ является их алгоритмическая полнота. (в ГУИ пользователь ограничен теми возможностями, для которых разработчик интерфейса нарисовал ярлыки или предусмотрел пункты в меню. Командные же языки могут использоваться для решения любых алгоритмизируемых задач. Последние достижения в области пользовательского интерфейса это распознование речи и голосовое управление, фактически означают возврат к командному языку, с той лишь разницей, что команды произносятся, а не вводятся с клавиатуры. Скорее всего следует ожидать появления нового поколения синтетических командных языков соответствующих требованиям речевого ввода команд.

6.2 ГУИ

Командные языки требуют времени и усилий для изучений. Нужно отметить что при изучении требуются не только интеллектуальные, но и эмоциональные усилия. Наиболее неприятны в этом смысле первые минуты общения с незнакомой системой. Когда пользователь ощущает растерянность и не может сформулировать желаемое действие не только на незнакомом синтетическом языке, но и на родном естественном. Напротив графический интерфейс предоставляет неопытному пользователю быстро оценить доступные возможности и выбрать желаемое. Во многих случаях наглядность вариантов оказывается важнее богатства возможностей. Утверждение о том что ГУИ ограничивает возможности пользователя заранее под определенными возможностями не всегда соответсвтует действительности. Хорошо продуманный граф. Интерфейс обеспечивает почти такую же гибкость, как и командные языки. Относительно высокие накладные расходы, неразрывно связанные с граф интерфейсами на являются таким уж большим злом т.к многие современные ВС используются для приложений, которые сами по себе без ОС требуют высококачественной графики и большой вычислительной мощности. На фоне потребности таких приложений накладные расходы связ с граф интерфейсом ОС оказываются просто незначительны.

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

Есть основание утверждать, что командный и графический интерфейсы оптимальны в разных ситуациях и для разных целей. Командный интерфейс хорош, когда пользователь ясно представляет себе, что он хочет выполнить, особенно для автоматизации регулярно исполняемых рутинных задач. Графический интерфейс удобнее при решении нечетко сформулированных или плохо алгоритмизируемых проблемах. Поэтому, хорошая ОС должна предоставлять оба интерфейса. Разработчики фирмы Эппл в прошлом долгое время пытались избежать включения в систему командного интерпретатора, но в конце концов под давлением пользователей и особенно собственных специалистов по тех.поддержке они были вынуждены его реализовать.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]