ИНФОРМАЦИОННЫЕ СИСТЕМЫ И ТЕХНОЛОГИИ В СТРОИТЕЛЬСТВЕ
Требования, предъявляемые к современным операционным системам
Главным требованием, предъявляемым к операционной системе, является выполнение ею основных функций эффективного управления ресурсами и обеспечение удобного интерфейса для пользователя и прикладных программ. Современная ОС, как правило, должна поддерживать мультипрограммную обработку, виртуальную память, свопинг, многооконный графический интерфейс пользователя, а также выполнять многие другие необходимые функции и услуги. Кроме этих требований функциональной полноты к операционным системам предъявляются не менее важные эксплуатационные требования.
К эксплуатационным относят следующие требования:
- совместимости — ОС должна включать средства для выполнения приложений, подготовленных для других ОС;
- переносимости — обеспечение возможности переноса ОС с одной аппаратурной платформы на другую;
- надежности и отказоустойчивости — предполагает защиту ОС от внутренних и внешних ошибок, сбоев и отказов;
- безопасности — ОС должна содержать средства защиты ресурсов одних пользователей от других;
- расширяемости — ОС должна обеспечивать удобства внесения последующих изменений и дополнений;
- производительности — система должна обладать достаточным быстродействием.
Назначение систем управления файлами — организация более удобного доступа к данным, организованным как файлы. Благодаря таким системам, называемым также файловыми системами (ФС), вместо низкоуровневого доступа к данным с указанием конкретных физических адресов нужной записи используется логический доступ с указанием имени файла и записи в нем. Выделение этого вида системного программного обеспечения в отдельную категорию связано с тем, что в последние годы многие ОС позволяют работать с несколькими различными файловыми системами. Процедура добавления дополнительной файловой системы получила название монтирование файловой системы.
История развития файловых систем позволяет выделить три основных разновидности таких систем:
- простейшие ФС, определяющие хранение файлов в единственном корневом каталоге носителя. Подобным образом хранились данные в файловой системе TR-DOS на компьютере Sinclair ZX-Spectrum. В настоящее время простейшие файловые системы практически не используются;
- иерархические ФС, обеспечивающие хранение файлов в древовид ной структуре каталогов. Данная разновидность ФС является самым распространенным видом ФС. В персональных компьютерах, начиная с 90-х гг. прошлого века, применяются практически только они;
- реляционные, ассоциативные ФС, обеспечивающие другие методы идентификации данных. Применяются крайне редко.
Современные ФС имеют ряд характеристик, позволяющих провести детализированную оценку той или иной системы. К этим характеристикам можно отнести: максимальный объем носителя, поддерживаемый ФС, максимальный размер файла, устойчивость к сбоям, наличие механизма управления правами доступа, шифрование, сжатие, поддерживающие работы с ФС операционные системы. В табл. 8.1 приведены значения указанных выше характеристик для ряда наиболее распространенных файловых систем.
Таблица 8.1
Характеристики файловых систем
|
Файловые системы различаются по устойчивости к сбоям:
Неустойчивые к сбоям, как правило, представляют собой простейшие ФС, полная согласованность которых обеспечивается во время работы не всегда. При сбое системы в моменты несогласованности возможна потеря данных или даже разрушение всей ФС целиком. Восстановление часто требует длительных и нетривиальных действий.
Устойчивые к сбоям системы представляют полностью согласованные структуры в любой момент времени существования файловой системы, таким образом, отсутствуют моменты, когда сбой может привести к потерям данных или разрушению ФС. Как правило, это журналируемые ФС, дублирующие все изменения структуры в специальной области — журнале и имеющие, таким образом, в случае сбоя возможность завершить незавершенную операцию или откатить ФС в состояние до сбоя.
Разделение прав доступа. Разделение прав доступа существует практически во всех файловых системах, использующихся на многопользовательских ОС. Как правило, это возможность установить отдельные права доступа для владельца, группы владельца и остальных пользователей на чтение, запись и исполнение. Такая схема обычна для Posix-совместимых ОС.
В файловой системе NTFS возможна более гибкая настройка прав доступа (для каждого пользователя). Права автора/влад ельца объекта в Windows позволяют пользователю, создавшему файл, управлять доступом к нему. Например, если руководитель отдела ИТ работает над конфиденциальными документами, касающимися деловой и информационной политики компании, и хочет открыть доступ к этим документам сотрудникам из других отделов, он может просто дать соответствующие права любым пользователям и группам и запретить доступ тем, кому видеть эти файлы не положено. Все разрешения хранятся в списках управления доступом (Access Control List — ACL). В Windows Server 2008 предусмотрена новая встроенная функция «Права владельца» (Owner Rights), позволяющая администратору отменять ограничения, установленные автором/владельцем документа.
Шифрование. Шифрование — защита информации от считывания непосредственно с носителя, в обход ограничений прав доступа, используется в некоторых файловых системах. У NTFS шифрование — это одна из возможностей, пользователь можетвыбрать файлы и каталоги, которые он хочет зашифровать. Некоторые файловые системы специально приспособлены для шифрования данных, это, например, CryptoFS, или PGPDisk.
Сжатие. Сжатие файлов может обеспечиваться как специальной файловой системой, так и дополнительной возможностью обычных ФС. Из некогда популярных средств можно упомянуть DriveSpace, систему, создававшую виртуальный сжатый диск под MS-DOS. Также сжатие — одна из возможностей, предлагаемых NTFS. При этом с позиций пользователя и приложений сжатые файлы ничем не отличаются от несжатых.
Различие проявляется в занимаемом пространстве и в скорости доступам к данным. Однозначно сказать о приросте или падении скорости доступа нельзя — с одной стороны, требуется дополнительное процессорное время на сжа- тие/распаковку файлов, с другой стороны, есть выигрыш во времени считывания с носителя.
Восстановление удаленных файлов. Во многих файловых системах при удалении файла он не исчезает бесследно, а только получает отметку «удален», что означает, что пространство, которое было занято файлом, может быть повторно использовано для хранения другой информации. Как правило, такие файлы, если поверх них ничего не записано, можно восстановить специальными средствами.
Для удобства взаимодействия с ОС могут использоваться дополнительные интерфейсные оболочки, назначение которых — расширить возможности по управлению ОС. В качестве примера можно назвать различные варианты графического интерфейсах Window в UNIX-подобных ОС. Первоначально такие программы назывались файловыми менеджерами. Такое название часто используют и сегодня. Популярность данного вида системного ПО определяется тем, что эти программы существенно упростили работу пользователя в период использования командной строки, прежде всего за счет использования функциональных клавиш. Точкой отсчета можно назвать легендарную программу Norton Commander. Затем появились ее клоны \blkov Commander и FAR Manager. Уход со сцены DOS-подобных ОС не привел к исчезновению интерфейсных оболочек. Напротив, графический интерфейс стал неотъемлемой частью современных ОС.
Выделяют два типа файловых менеджеров: навигационные и двупанельные.
Навигационные файловые менеджеры позволяют работать с набором окон, каждое из которых может содержать перечень файлов и/или каталогов, а также ряд системных объектов, специфических для той или иной ОС. Например, Рабочий Стол или Мой Компьютер иногда поддерживается переключением между этими режимами.
Двупанельные файловые менеджеры в общем случае имеют две равноценных панели для отображения списка файлов, дерева каталогов и т.п.
В табл. 8.2 представлены наиболее известные файловые менеджеры для различных ОС.
В целом, интерфейсные оболочки значительно повышают уровень пользовательского интерфейса, позволяют наиболее полно удовлетворить потребности пользователя по управлению компьютером посредством простых операций.
Ряд операционных систем могут организовывать выполнение программ, созданных для других ОС, путем создания соответствующих операционных сред, организуемых в рамках отдельных виртуальных машин. Для решения этой же задачи используются эмуляторы, позволяющие смоделировать в одной операционной системе какую-либо другую ОС. Таким образом, термин «операционная среда» означает соответствующий интерфейс, необходимый программам для обращения к ОС с целью получения определенного сервиса.
Утилиты представляют собой специальные системные программы, с помощью которых можно обслуживать либо операционную, либо вычислительную
систему. Важно понимать, что утилиты могут правильно работать только в соответствующей операционной системе.
Таблица 8.2
Наиболее известные файловые менеджеры
|
С точки зрения связи с операционной системой можно различать:
- независимые утилиты, не требующие для своей работы операционной системы;
- системные утилиты, входящие в поставку ОС и требующие ее наличия.
По выполняемым функциям можно выделить следующие утилиты:
- диспетчеры файлов;
- архиваторы (с возможным сжатием данных);
- средства предотвращения несанкционированного доступа;
- диагностики аппаратного или программного обеспечения;
- восстановления после сбоев;
- обслуживания внешних магнитных носителей, в частности, средства дефрагментации диска;
- средства установки и деинсталляции программ;
- управления процессами.
Инструментальное программное обеспечение, или системы программирования — это системы для автоматизации разработки новых программ на языке программирования.
Основными элементами системы программирования являются транслятор (компилятор) с соответствующего языка программирования, библиотеки под-
программ, компоновщики, отладчики, загрузчики. Любая система программирования может работать только под управлением операционной системы, под которую она создана.
В самом общем случае для создания программы на выбранном языке программирования нужно иметь следующие компоненты:
- Текстовый редактор для создания файла с исходным текстом программы.
- Транслятор ши интерпретатор. Исходный текст с помощью программы- компилятора переводится в промежуточный объектный код. Исходный текст большой программы состоит из нескольких модулей (файлов с исходными текстами). Каждый модуль компилируется в отдельный файл с объектным кодом, который затем надо объединить в одно целое.
- Редактор связей ши компоновщик, который выполняет связывание объектных модулей и формирует на выходе работоспособное приложение — исполнимый код.
Исполнимый код — это законченная программа, которую можно запустить на любом компьютере, где установлена операционная система, для которой эта программа создавалась. Как правило, итоговый файл имеет расширение .ехе или .сот.
- Загрузчик — часть системы программирования, загружающая созданный исполнимый код в память ЭВМ для выполнения.
В последнее время получили распространение визушьные методы программирования, ориентированные на создание Windows-приложений. Этот процесс автоматизирован в средах быстрого проектирования. При этом используются готовые визуальные компоненты, которые настраиваются с помощью специальных редакторов.
К наиболее популярным системам программирования с использованием визуальных средств можно отнести:
- Borland Delphi — предназначен для решения практически любых задач прикладного программирования;
- Borland C++ Builder — отличное средство для разработки DOS- и Windows- приложений;
- Microsoft Visual Basic — популярный инструмент для создания Windows- программ;
- Microsoft Visual C++ — средство, позволяющее разрабатывать любые приложения, выполняемые в среде ОС типа Microsoft Windows.