Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Аверянов Современная информатика 2011

.pdf
Скачиваний:
113
Добавлен:
16.08.2013
Размер:
6.43 Mб
Скачать

инструментальными возможностями. Так, кросс-компиляторы позволяют проводить отладку ПО для микроЭВМ с применением расширенных возможностей больших универсальных ЭВМ.

Редакторы связи (LINKEDITOR), или компоновщики, у которых основная задача – сборка программы готовой к исполнению, подключают к основной программе внешние модули как системных библиотек, включенных в состав соответствующих трансляторов, так и внешних библиотек, включая модули, разработанные самим пользователем.

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

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

Широкое распространение на мини-ЭВМ и ПК, имеющих жесткие диски большой емкости, получили так называемые файловые системы, представляющие собой совокупность каталогов и файлов, хранимых на внешних носителях.

Файл – поименованная область на внешнем носителе (диске или магнитной ленте), в которой может храниться исходный текст про-

251

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

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

в отдельные группы логически однородные файлы; отдельное пространство на диске для каждого из пользователей

данной ЭВМ; все файлы, относящиеся к какой-либо подсистеме, текстовому

редактору, транслятору языка и т.п.

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

Термин «файловая система» – совокупность каталогов и файлов, хранящихся на внешних носителях компьютера. Физически файлы подразделяются на: обычные, каталоги, архивированные, Hidden (скрытые), защищенные (R – чтение, read; W – запись, write; Е – исполнение, Execute; D – удаление, Delete). Логически они подразделяются на: текстовые (txt, For, Pas, C, ASS и т.п.), графические, объектные (obj), исполнимые (exe, svs, com). Основные манипуляции, производимые с файлами, следующие: open – открыть (подготовить к обращению), close – закрыть (запретить дальнейшее обращение), create – создать (обеспечить формирование нового файла), destroy – разрушить (удалить файл), copy – копировать (создать еще один экземпляр файла), rename – переименовать (изменить имя файла), list – вывести содержимое файла.

Утилиты (вспомогательные программы) предназначены для копирования, перемещения, печати данных. Эта группа программ позволяет организовать удобства при всевозможных обменах данными.

252

Перечисленные программы ОС могут поглощать значительные ресурсы ЭВМ. Если управляющие программы загружаются и практически постоянно находятся в ОП во время работы ЭВМ, то в зависимости от размещения оставшейся части ОС подразделяются на: ПЛОС – перфоленточные ОС; ДОС – дисковые ОС; ОС – размещение в ОП.

Первый тип практически вышел из употребления в настоящее время. ДОС применяются в мини-, микроЭВМ, персональных компьютерах и рабочих станциях, ОС – характерны для больших ЭВМ.

По способу взаимодействия с пользователем различные ОС обеспечивают три режима работы:

1)режим пакетной обработки, наиболее эффективный с точки зрения использования ресурсов ЭВМ, но не очень удобный для пользователя;

2)режим диалога с пользователем:

однопользовательский, при котором один программист полностью монополизирует ЭВМ (приемлемо для ПК);

многопользовательский, или режим разделения времени (характерен для ЭВМ и ПК большой мощности);

дистанционный (или режим теледоступа в системах коллективного пользования);

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

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

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

средства генерации ОС; контрольно-наладочные тесты; комплекты диагностических программ.

Существует очень большое количество типов ОС с различными функциональными возможностями, которые обычно связаны с техническими возможностями ЭВМ. Среди них можно выделить од-

253

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

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

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

6.3. Разновидности построения ОС для различных СОД, сетевые операционные системы

Большое разнообразие и различие функциональных возможностей ОС больших и малых ЭВМ 70-х – 80-х годов объясняется различием в уровне технических средств этих машин. Значительное увеличение объемов ОП во всех без исключения типах ЭВМ, появление ВЗУ с малым временем доступа и практически неограниченной емкостью позволило, следуя принципу открытых систем, разработать единые требования к ОС:

расширяемость (модульность) – написание кода таким образом, чтобы можно было легко внести дополнения и изменения, не нарушая целостности системы;

переносимость – перенос кода с аппаратной платформы одного типа на аппаратную платформу другого типа;

надежность и отказоустойчивость – защищенность системы как от внутренних, так и от внешних ошибок;

совместимость – ОС должна иметь средства для выполнения прикладных программ, написанных для других ОС;

безопасность – наличие в ОС средств защиты от несанкционированного доступа;

производительность – хорошее быстродействие и время реакции.

Эти общие принципы так же, как и развитие технических средств, приводят к сближению ОС для различных типов ЭВМ. Более того появляются ОС, используемые на большинстве совре-

254

менных ЭВМ. Типичным примером такой ОС является UNIX. Тем не менее, имеются существенные отличия ОС однопроцессорных, многомашинных и многопроцессорных ЭВМ, не говоря уже о сетевых ОС.

Рассмотрим некоторые принципиальные особенности перечисленных ОС.

Однопроцессорные ОС имеют традиционный набор модулей. Управляющие программы являются резидентными и постоянно находятся в ОП. Обрабатывающие программы и утилиты, как правило, располагаются на системных ВЗУ (как и программы пользователей) и по мере необходимости загружаются в ОП. Значительным достижением в развитии локальных ОС явилась реализация конструкции виртуальной памяти и виртуальной машины. Эти концепции были реализованы в конце 70-х годов в ОС фирмы DEC VMS (Virtual Memory System) для ЭВМ VAX и MVS (Multiple Virtual Storage) фирмы IBM для ЭВМ IBM 360. На сегодняшний день практически все ОС (в том числе и для настольных систем) включают элементы виртуальной организации памяти, которая позволяет использование прикладными процессами практически неограниченного объема памяти.

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

ОС для мультипроцессорных систем определяются их конфигурацией.

На рис. 6.6 представлена мультипроцессорная (многомашинная) система со слабо связанными процессорами, которая иногда называется кластерной сетью. Каждый процессор имеет свою собственную ОС с функциями однопроцессорной системы. Некоторое отличие таких ОС от обычных однопроцессорных – возможность посылки запросов и возможность обмена между процессорами.

На рис. 6.7 представлены два возможных способа организации ОС в истинно мультипроцессорных системах (или системах с сильно связанными процессорами). В организации главный-

255

подчиненный (см. рис. 6.7, а) все процессоры могут использовать общие ресурсы ЭВМ – ОП и ВУ. Однако распределением ресурсов занимается только один процессор, что может вызвать его перегрузку и несбалансированность использования ресурсов. Но, тем не менее, организация ОС сравнительно проста и близка к однопроцессорной.

Файлы

ЦП ОС

ЦП ОП

Файлы

 

 

 

 

 

 

Память

Память

 

 

 

 

ЦП ОС Файлы

Память Рис. 6.6. Мультипроцессорные системы со слабо связанными процессорами

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

 

 

ЦП

 

а

Память

ОС

 

ЦП

Файлы

 

 

 

 

ЦП

 

ОС

б

ЦП

Память ЦП Файлы

ЦП

Рис. 6.7. Мультипроцессорные системы с сильно связанными процессорами

с обработкой: а – типа главный-подчиненный; б – симметричной

256

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

В сетевой ОС можно выделить:

средства управления локальными ресурсами компьютера – все, что входит в традиционный состав автономной ОС, рассмотренной выше;

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

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

коммуникационные средства ОС, с помощью которых происходит обмен сообщениями в сети – адресация, буферизация, маршрутизация и т.п.

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

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

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

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

257

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

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

ными ОС (DOS, Mac OS, OS/2, UNIX, Windows). Другой пример ОС, ориентированной на построение сети с выделенным сервером, – ОС Windows NT. В отличие от NetWare оба варианта данной сетевой ОС – Windows NT Server (для выделенных серверов) и Windows NT Workstation (для рабочей станции) могут поддерживать функции и клиента, и сервера. Но серверный вариант Windows NT имеет больше возможностей для предоставления ресурсов своего компьютера другим пользователям сети (выполняет более широкий набор функций, поддерживает большое количество одновременных соединений с клиентами, имеет развитые средства защиты). В качестве локальных ОС могут использоваться также

DOS, OS/2, Mac OS и др.

Несимметричность ОС в сетях с выделенным сервером сопровождается, как правило, несимметричностью аппаратуры. Для выделенных серверов используются более мощные компьютеры, рассмотренные в гл. 3, а также мейнфреймы и даже суперЭВМ.

Водноранговых сетях все компьютеры равны в правах доступа

кресурсам друг друга: каждый пользователь может объявить ка- кой-либо ресурс своего компьютера разделяемым. В таких сетях на всех компьютерах устанавливается одна ОС, которая предоставляет всем компьютерам в сети равные возможности. Одноранговые сети могут быть построены, например, на базе ОС LANtastic, Personal Ware, Windows for Workstation, Windows NT Workstation.

258

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

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

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

Основы стандартов в области безопасности сетевых ОС сформулированы в «Критериях оценки безопасности компьютерных систем», разработанных в 1983 г. Национальным центром компьютер-

ной безопасности США (NCSC – National Computer Security Center).

В соответствии с иерархией надежности систем, нижний уровень помечается как D, а верхний – как А:

в класс D попадают системы, оценка которых выявила их несоответствие требованиям всех других классов;

уровень C делится на два подуровня – уровень С1, предохраняющий данные от ошибок пользователей, но не от действий злоумышленников, и более строгий уровень – C2 (на уровне С2 должны присутствовать средства секретного входа и контроля перед тем, как им будет разрешен доступ к системе, средства учета и наблюдения (auditilly) обеспечивают возможность обнаружить и зафиксировать важные события, связанные с безопасностью или любые попытки создать, получить доступ или удалить системные ресурсы и т.п.);

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

259

контроль доступа (каждому пользователю присваивается рейтинг защиты и он может получать доступ к данным только в соответствии с этим рейтингом);

уровень А является самым высоким уровнем безопасности – он требует в дополнение ко всем требованиям уровня B выполнения формального, математически обоснованного доказательства соответствия системы требованиям безопасности.

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

КОНТРОЛЬНЫЕ ВОПРОСЫ

1.Что следует понимать под программой и программным обес-

печением? В чем различие Saft Ware, Firm Ware, Share Ware, Free Ware? Какие три состояния (формата) может иметь программа одного и того же функционального назначения?

2.Расскажите о жизненном цикле программного обеспечения, назначении каждой фазы. Перечислите основные этапы фазы разработки.

3.Расскажите о разновидности программного обеспечения (ПО). Перечислите функциональные особенности различных видов ПО и способы организации прикладного ПО.

4.Какие основные функции выполняет операционная система (ОС)? Назовите ее составные части, место размещения и способы загрузки.

5.Перечислите разновидности трансляторов. Укажите области их применения. Какова роль компоновщиков при подготовке программ? Что имеется в виду под динамическим связыванием?

6.Что такое файловая система? Назовите ее основные функции, разновидности файлов и их атрибуты.

7.Расскажите об особенностях ОС различных вычислительных систем. Перечислите основные функции сетевых ОС и их разновидности.

260