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

01. Понятие информационной системы и технологии. Виды информационных технологий. Основные сведения о технологии ИНТРАНЕТ и технологиях автоматизированных офисов.

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

Факторы влияющие на сложность ИС: 1) Вид использ информационной технологии; 2) степень формализации решаемых задач; 3) принадлежность решаемых задач к предметной области. Система- это совокупность нескольких подсистем. Виды информационных технологий: 1) Технология обработки данных. Предназначена для решения хорошо структурированных задач, по которым имеются необходимые входные данные и известны алгоритмы и другие стандартные процедуры их обработки. Эта технология применяется на уровне операционной (исполнительской) деятельности персонала невысокой квалификации в целях автоматизации некоторых рутинных постоянно повторяющихся операций управленческого труда. Поэтому внедрение информационных технологий и систем на этом уровне существенно повысит производительность труда персонала, освободит его от рутинных операций, возможно, даже приведет к необходимости сокращения численности работников. На уровне операционной деятельности решаются следующие задачи: 1) обработка данных об операциях, производимых фирмой; 2) создание периодических контрольных отчетов о состоянии дел в фирме; 3) получение ответов на всевозможные текущие запросы и оформление их в виде бумажных документов или отчетов. Существует несколько особенностей, связанных с обработкой данных, отличающих данную технологию от всех прочих: 1)выполнение необходимых фирме задач по обработке данных. Каждой фирме предписано законом иметь и хранить данные о своей деятельности, которые можно использовать как средство обеспечения и поддержания контроля на фирме; 2) решение только хорошо структурированных задач, для которых можно разработать алгоритм; 3) выполнение стандартных процедур обработки; 4) выполнение основного объема работ в автоматическом режиме с минимальным участием человека; 5) использование детализированных данных; 6) акцент на хронологию событий; 7) требование минимальной помощи в решении проблем со стороны специалистов других уровней. Технология управления. Её целью является удовлетворение информационных потребностей всех без исключения сотрудников фирмы, имеющих дело с принятием решений. Она может быть полезна на любом уровне управления. Эта технология ориентирована на работу в среде информационной системы управления и используется при худшей структурированности решаемых задач, если их сравнивать с задачами, решаемыми с помощью информационной технологии обработки данных. ИС управления идеально подходят для удовлетворения сходных информационных потребностей работников различных функциональных подсистем (подразделений) или уровней управления фирмой. Поставляемая ими информация содержит сведения о прошлом, настоящем и вероятном: будущем фирмы. Эта информация имеет вид регулярных или специальных управленческих отчетов. Для принятия решений на уровне управленческого контроля информация должна быть представлена в агрегированном виде так, чтобы просматривались тенденции изменения данных, причины возникших отклонений и возможные решения. На этом этапе решаются следующие задачи обработки данных: 1)оценка планируемого состояния объекта управления;2) оценка отклонений от планируемого состояния; 3) выявление причин отклонений; 4) анализ возможных решений и действий. Информационная технология управления направлена на создание различных видов отчетов. Регулярные отчеты создаются в соответствии с установленным графиком, определяющим время их создания, например месячный анализ продаж компании. Специальные отчеты создаются по запросам управленцев или когда в компании произошло что-то незапланированное. Информационная технология автоматизированного офиса - организация и поддержка коммуникационных процессов как внутри организации, так и с внешней средой на базе компьютерных сетей и других современных средств передачи и работы с информацией. Офисные автоматизированные технологии используются управленцами, специалистами, секретарями и конторскими служащими, особенно они привлекательны для группового решения проблем. Они позволяют повысить производительность труда секретарей и конторских работников и дают им возможность справляться с возрастающим объемом работ. Однако это преимущество является второстепенным по сравнению с возможностью использования автоматизации офиса в качестве инструмента для решения проблем. Улучшение принимаемых менеджерами решений в результате их более совершенной коммуникации способно обеспечить экономический рост фирмы. В настоящее время известно несколько десятков программных продуктов для компьютеров и некомпьютерных технических средств, обеспечивающих технологию автоматизации офиса; текстовый процессор, табличный процессор, электронная почта, электронный календарь, аудиопочта, компьютерные и телеконференции, видеотекст, хранение изображений, а также специализированные программы управленческой деятельности: ведения документов, контроля за исполнением приказов и т.д. Также широко используются некомпьютерные средства: аудио- и видеоконференции, факсимильная связь, ксерокс и другие средства оргтехники. Главной особенностью информационной технологии поддержки принятия решений является качественно новый метод организации взаимодействия человека и компьютера. Выработка решения -основная цель этой технологии, происходит в результате итерационного процесса , в котором участвуют: 1) система поддержки принятия решений - вычислительное звено и объект управления; 2) человек - управляющее звено, задающее входные данные и оценивающее полученный результат вычислений на компьютере. Окончание итерационного процесса происходит по воле человека. Особенности: 1)ориентация на решение плохо структурированных (формализованных) задач; 2) сочетание традиционных методов доступа и обработки компьютерных данных с возможностями математических моделей и методами решения задач на их основе; 3) направленность на непрофессионального пользователя компьютера; 4) высокая адаптивность, обеспечивающая возможность приспосабливаться к особенностям имеющегося технического и программного обеспечения, а также требованиям пользователя. Информационная технология поддержки принятия решений может использоваться на любом уровне управления. Наибольший прогресс среди компьютерных информационных систем отмечен в области разработки экспертных систем, основанных на использовании искусственного интеллекта. Экспертные системы дают возможность менеджеру или специалисту получать консультации экспертов по любым проблемам, о которых этими системами накоплены знания. Под искусственным интеллектом обычно понимают способности компьютерных систем к таким действиям, которые назывались бы интеллектуальными, если бы исходили от человека ( человеческим мышлением). Работы в области искусственного интеллекта не ограничиваются экспертными системами. Они также включают в себя создание роботов, систем, моделирующих нервную систему человека, его слух, зрение, обоняние, способность к обучению. Решение специальных задач требует специальных знаний. Однако не каждая компания может себе позволить держать в своем штате экспертов по всем связанным с ее работой проблемам или даже приглашать их каждый раз, когда проблема возникла. Главная идея использования технологии экспертных систем заключается в том, чтобы получить от эксперта его знания и, загрузив их в память компьютера, использовать всякий раз, когда в этом возникнет необходимость. Являясь одним из основных приложений искусственного интеллекта, экспертные системы представляют собой компьютерные программы, трансформирующие опыт экспертов в какой-либо области знаний в форму эвристических правил (эвристик). Эвристики не гарантируют получения оптимального результата с такой же уверенностью, как обычные алгоритмы, используемые для решения задач в рамках технологии поддержки принятия решений. Однако часто они дают в достаточной степени приемлемые решения для их практического использования. Все это делает возможным использовать технологию экспертных систем в качестве советующих систем. Сходство информационных технологий, используемых в экспертных системах и системах поддержки принятия решений, состоит в том, что обе они обеспечивают высокий уровень поддержки принятия решений. Однако имеются три существенных различия. Первое связано с тем, что решение проблемы в рамках систем поддержки принятия решений отражает уровень ее понимания пользователем и его возможности получить и осмыслить решение. Технология экспертных систем, наоборот, предлагает пользователю принять решение, превосходящее его возможности. Второе отличие указанных технологий выражается в способности экспертных систем пояснять свои рассуждения в процессе получения решения. Очень часто эти пояснения оказываются более важными для пользователя, чем само решение. Третье отличие связано с использованием нового компонента информационной технологии - знаний. Интранет — в отличие от сети Интернет, это внутренняя частная сеть организации. Как правило, Интранет — это Интернет в миниатюре, который построен на использовании протокола IP для обмена и совместного использования некоторой части информации внутри этой организации. Это могут быть списки сотрудников, списки телефонов партнёров и заказчиков. Чаще всего под этим термином имеют в виду только видимую часть Интранет — внутренний веб-сайт организации. Основанный на базовых протоколах HTTP и HTTPS и организованный по принципу клиент-се́рвер, интранет-сайт доступен с любого компьютера через браузер. Таким образом, Интранет — это «частный» Интернет, ограниченный виртуальным пространством отдельно взятой организации. Intranet допускает использование публичных каналов связи, входящих в Internet, (VPN), но при этом обеспечивается защита передаваемых данных и меры по пресечению проникновения извне на корпоративные узлы. Плюсы: 1) высокая производительность при совместной работе над какими-то общими проектами; 2) легкий доступ персонала к данным; 3)Гибкий уровень взаимодействия: можно менять бизнес-схемы взаимодействия как по вертикали, так и по горизонтали; 4) Мгновенная публикация данных на ресурсах Интранет позволяет специфические корпоративные знания всегда поддерживать в форме и легко получать отовсюду в компании, используя технологии Сети и гипермедиа. 5) Позволяет проводить в жизнь общую корпоративную культуру и использовать гибкость и универсальность современных информационных технологий для управления корпоративными работами. Недостатки: 1) сеть может быть взломана и использована в целях хакера; 2) непроверенная или неточная информация, опубликованная в Интранет, приводит к путанице и недоразумениям; 3) в свободном интерактивном пространстве могут распространяться нелегитимные и оскорбительные материалы; 4) легкий доступ к корпоративным данным может спровоцировать их утечку к конкурентам через недобросовестного работника; 5) работоспособность и гибкость Интранет требуют значительных накладных расходов на разработку и администрирование.

2. Понятие информационного ресурса. Универсальный указатель ресурса (URL). Язык гипертекстовой разметки и его интерпретация. MIME соглашения. Доступ к ресурсам с использованием HTTP-протокола.

Информационный ресурс – это знания, подготовленные людьми и зафиксированные на материальном носителе. URL уникальный идентификатор ресурса, который позволяет идентично идентифицировать ресурс с использованием стандартной доменной адресации интернет. <схема>://<логин>:<пароль>@<хост>:<порт>/<URLпуть>?<параметры>#<якорь> В этой записи: Схема - обращения к ресурсу, в большинстве случаев имеется в виду сетевой протокол; логин - имя пользователя, используемое для доступа к ресурсу; пароль - пароль указанного пользователя; хост - полностью прописанное доменное имя хоста в системе DNS или IP-адрес хоста в форме четырёх десятичных чисел, разделённых точками; числа — целые в интервале от 0 до 255; порт - порт хоста для подключения; URL-путь - уточняющая информация о месте нахождения ресурса; зависит от протокола; параметры - строка запроса с передаваемыми на сервер (методом GET) параметрами; якорь - идентификатор «якоря», ссылающегося на некоторую часть (раздел) открываемого документа. Распространённые протоколы: http, https, ftp. Язык гипертекстовой разметки HTML был предложен Тимом Бернерсом-Ли в 1989 году в качестве одного из компонентов технологии разработки распределенной гипертекстовой системы World Wide Web. Разработчики HTML пытались решить две задачи:дать дизайнерам гипертекстовых баз данных простое средство создания документов и сделать это средство достаточно мощным, чтобы отразить имевшиеся на тот момент представления об интерфейсе пользователя гипертекстовых баз данных. Первая задача была решена за счет выбора таговой модели описания документа. Важным моментом, повлиявшим на судьбу HTML, стал выбор в качестве элемента гипертекстовой базы данных обычного текстового файла, который хранится средствами файловой системы операционной среды компьютера. Такой выбор был сделан под влиянием следующих факторов:такой файл можно создать в любом текстовом редакторе и к моменту разработки HTML существовал американский стандарт для разработки сетевых информационных систем, в котором в качестве единицы хранения указывался простой текстовый файл в кодировке LATIN1, что соответствует US ASCII. На сегодняшний день известно 5 версий языка HTML. HTML страница –мин единица текст информации, кот м.б. затребована у сервера и отображена в браузере клиента. Таговая модель описывает документ как совокупность элементов, каждый из которых окружен тагами. По своему значению таги близки к понятию скобок "begin/end" в универсальных языках программирования. Общая схема построения элемента текста в формате HTML может быть записана в следующем виде:"элемент" := <"имя элемента" "список атрибутов">, содержание элемента </"имя элемента">, Конструкция перед содержанием элемента называется тагом начала документа, а конструкция, расположенная после содержания элемента, -таг конца элемента. Структура гипертекстовой сети задается гипертекстовыми ссылками. Гипертекстовая ссылка - это адрес другого HTML документа, который тематически, логически или каким-либо другим способом связан с документом, в котором ссылка определена. Сам элемент HTML или гипертекстовый документ состоит из двух частей: заголовка документа (HEAD) и тела документа (BODY):<HTML>, <HEAD>, Содержание заголовка </HEAD>, <BODY> ,Содержание тела документа </BODY>, </HTML>. Multipurpose Internet Mail Extensions (MIME — многоцелевое расширение интернет-почты) — стандарт, описывающий передачу различных типов данных по электронной почте, а также, шире, спецификация для кодирования информации и форматирования сообщений таким образом, чтобы их можно было пересылать по Интернету.(text/ html, image/jpeg, video/ MPEG.). HTTP — протокол прикладного уровня передачи данных. Основой HTTP является технология «клиент-сервер», то есть предполагается существование потребителей, которые инициируют соединение и посылают запрос, и поставщиков, которые ожидают соединения для получения запроса, производят необходимые действия и возвращают обратно сообщение с результатом. HTTP в настоящее время повсеместно используется во Всемирной паутине для получения информации с веб-сайтов. Метод HTTP— последовательность из любых символов, кроме управляющих и разделителей, указывающая на основную операцию над ресурсом(PUT,GET, DELETE,POST). Коды: 1ХХ – Информац ошибка, 2ХХ – успех, 3ХХ – перенаправление, 4ХХ – ошибка клиента, 5ХХ – ошибка сервера.

3. Обобщенная структура ИНТРАНЕТ систем и взаимодействие компонент.

Главный компонент серверной части – Web сервер, работающий под управлением ОС сервера и управляющий доступом к ресурсам. Доступ к др приложениям сервера осуществляется через приложения шлюзы (CGI, Script, Java приложения) и хранимые процедуры. Пользователь работает с этими ресурсами с помощью Web браузера, имеющего средства для интерпретации HTML страниц и выполнения программ на языках Java Script, VB, Script. Сервер – это 1 или несколько программ обслуживающих запросы клиентов, кот к нему подключены. Web браузер – клиентское приложение. FTP сервер - позволяет хранить и передавать файлы с помощью протокола FTP. Telnet услуга сервера, которая позволяет удаленное к нему подключение. Java Script и VB Script – языки программирования, исполняемые на языке клиента.

4. Серверное ПО в ИНТРАНЕТ. Понятие о шлюзовом интерфейсе HTTP-сервера, схема вызова CGI-программ. Принципы отладки CGI-программ. Серверное ПО в ИНТРАНЕТ: web-сервера Apache, сервера СУБД и ядра intranet – системы. Схема вызова CGI программы (Например форма логин/пароль/отправить). <FORM: METHOD = GETACTION= http://host.ru/cgi-bin/example> <INPUT TYPE = text Name = “f1” value = Text1> <INPUT TYPE = text Name = “f2” value = Text2> <INPUT TYPE_submit VALUE = send> Вызов программы обработки и передачи данных осуществляется через CGI – стандартный шлюзный интерфейс для запуска внешних программ под управлением web сервера. Данные программы, используя интерфейс CGI, получают информацию от удаленного пользователя, обрабатывают ее и возвращают в виде ссылки на сущ элемент или др. объект, либо на html документ, созданный динамически. GET/cgi-bin/example? f1 = Text1&f2 = Text2 (f1 = Text1&f2 = Text2 – Query_string). Для передачи большого объема данных исп-ся метод POST? В данном методе переменные передаются через стандартный поток ввод/вывода. METHOD = POST ACTION, POST/cgi-bin/example HTTP/1.1, Content – length:11-> CONTEN_LENGTH, char * szContent = getenv (“CONTEN_LENGTH”), int iBytes = atoi (szContent), char Data = (char*) malloc (nBytes+1), fread (data,1,nBytes,stdin), char Data [255]. Независимо от используемого метода передачи GET или POST, CGI – программа должна направить результаты своей работыв стандартный поток вывода. Web сервер выполняет автомат перехват данных из потока вывода и передает их клиенту.

5. Клиентское ПО в ИНТРАНЕТ. Языковая поддержка клиентской части приложений. Краткие сведения о языках Java и Java Script. Компоненты (объекты) ActiveX. Клиентское ПО в ИНТРАНЕТ: клиентские приложения, ActiveX, Интерпретаторы, Модуль формирования plugin, ОС, сетевые драйвера. Языковая поддержка клиентской части приложений: Java, VB, HTML и Java Script. Java — объектно-ориентированный язык программирования. Программы на Java транслируются в байт-код, выполняемый виртуальной машиной Java (JVM) — программой, обрабатывающей байтовый код и передающей инструкции оборудованию как интерпретатор. Достоинство подобного способа выполнения программ — в полной независимости байт-кода от операционной системы и оборудования, что позволяет выполнять Java-приложения на любом устройстве, для которого существует соответствующая виртуальная машина. Другой важной особенностью технологии Java является гибкая система безопасности благодаря тому, что исполнение программы полностью контролируется виртуальной машиной. Любые операции, которые превышают установленные полномочия программы (например, попытка несанкционированного доступа к данным или соединения с другим компьютером) вызывают немедленное прерывание. K недостаткам концепции виртуальной машины относят то, что исполнение байт-кода виртуальной машиной может снижать производительность программ и алгоритмов, реализованных на языке Java. В последнее время был внесен ряд усовершенствований, которые несколько увеличили скорость выполнения программ на Java: 1) применение технологии трансляции байт-кода в машинный код непосредственно во время работы программы (JIT-технология) с возможностью сохранения версий класса в машинном коде, 2) широкое использование платформенно-ориентированного кода (native-код) в стандартных библиотеках, 3) аппаратные средства, обеспечивающие ускоренную обработку байт-кода. JavaScript — объектно-ориентированный скриптовый язык программирования. JavaScript обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам. Основные архитектурные черты: динамическая типизация, слабая типизация, автоматическое управление памятью, прототипное программирование, функции как объекты первого класса. В языке отсутствуют такие полезные вещи, как: 1) модульная система: JavaScript не предоставляет возможности управлять зависимостями и изоляцией областей видимости; 2) стандартная библиотека: в частности, отсутствует интерфейс программирования приложений по работе с файловой системой, управлению потоками ввода/вывода, базовых типов для бинарных данных; 3) стандартные интерфейсы к веб-серверам и базам данных. ActiveX - это архитектура, которая позволяет одному программному компоненту (управляющему элементу ActiveX) взаимодействовать с другими компонентами через сеть (например, Internet). В основе архитектуры ActiveX лежат разработанные Microsoft стандарты Component Object Model (COM) и Distributed COM (DCOM): COM позволяет приложениям взаимодействовать друг с другом локально, а DCOM обеспечивает такое взаимодействие по сети. популярных языков программирования, соответствующих спецификации ActiveX, - Microsoft Visual C++ 5.0, Microsoft Visual Basic 5.0 и Delphi 3.0. Управляющие элементы ActiveX могут быть написаны и на Visual J++, хотя и с некоторыми ограничениями. Управляющие элементы ActiveX - это самостоятельные части программы или автономные компоненты. Разработчики могут использовать их в других программах - даже в тех, которые созданы на других языках. Например, можно взять управляющий элемент, написанный на Visual Basic, и вставить его в программу на Visual C++. Автономность и возможность многократного использования - наследие более ранней объектно-ориентированной модели компании Microsoft, известной под названием Object Linking and Embedding (OLE). ActiveX - это ни что иное как развитие идеи OLE. Фактически объекты ActiveX - это те же объекты OLE с дополнительными функциями, которые позволяют применять их в World Wide Web.

6. Технология создания HTML-страниц. Обзор технологических средств проектирования WEB-сайтов.

Собрание страниц, объединенных некоторой общей тематикой и помещенных, как правило, на одном компьютере, называют Web-узлом или сайтом. Компьютеры, на которых размещаются сайты, а также программы, обеспечивающие поддержку сайтов, называются серверами. На одном сервере может размещаться множество сайтов. HTML - набор команд, описывающих структуру документа. Этот язык разметки позволяет выделить в документе отдельные логические части - заголовки, абзацы, таблицы, списки-перечисления и т.д., но не задает конкретные атрибуты форматирования. Создавать Web-страницы можно с помощью специальных программ-редакторов, автоматически генерирующих код HTML. Программы нередко создают плохой HTML-код, который работает не на всех платформах. Документ в окне с кодом HTML - это текстовый документ специального формата. Все файлы этого формата имеют расширение .html или .htm. В документе HTML обычный текст сочетается с элементами разметки, заключенными в угловые скобки < и >. Такие элементы разметки называются тэгами. Тэги бывают одиночными, открывающими и закрывающими и состоят из следующих друг за другом в определенном порядке элементов:* левой угловой скобки <;* необязательного символа слэш /, который означает, что тэг является конечным тэгом; * имени тэга, например, html;* необязательных атрибутов. Тэг может быть без атрибутов или сопровождаться одним или несколькими атрибутами, например, align="center";* правой угловой скобки >. В тэгах могут использоваться только символы латинского алфавита, а в значениях атрибутов - любые символы. Язык HTML не различает большие и малые буквы, так что тэги <HEAD>, <head> и <Head> эквивалентны. Большинство тэгов спарены: за открывающим тэгом следует соответствующий ему закрывающий тэг, а между ними содержится текст или другие тэги. Некоторые тэги, являются одиночными, и для них закрывающий тэг не применяется- элементы HTML. Каждый HTML-документ имеет определенную структуру: <html> <head> Заголовок </head> <body> тело </body> </html>. Для создания Web-страниц понадобится любой браузер - Internet Explorer или Netscape Communicator, а лучше оба, так как многие элементы HTML по-разному отображаются в разных программах. Нужен любой текстовой редактор, например, Блокнот из Windows. Программа Блокнот нужна для подготовки HTML-файлов, а браузер - для просмотра и контроля сделанного. Можно написать сайт на php и для хранения баз данных исп-ть MySQL, можно на C# и SQL сервере, также можно использовать html и С++ А базы данных можно хранить в файлах.

7. Понятие о языке гипертекстовой разметки. Структура и принципы построения HTML-страниц. Гиперссылки.

Язык гипертекстовой разметки HTML был предложен Тимом Бернерсом-Ли в 1989 году в качестве одного из компонентов технологии разработки распределенной гипертекстовой системы World Wide Web. Разработчики HTML пытались решить две задачи:дать дизайнерам гипертекстовых баз данных простое средство создания документов и сделать это средство достаточно мощным, чтобы отразить имевшиеся на тот момент представления об интерфейсе пользователя гипертекстовых баз данных. Первая задача была решена за счет выбора таговой модели описания документа. Важным моментом, повлиявшим на судьбу HTML, стал выбор в качестве элемента гипертекстовой базы данных обычного текстового файла, который хранится средствами файловой системы операционной среды компьютера. Такой выбор был сделан под влиянием следующих факторов:такой файл можно создать в любом текстовом редакторе и к моменту разработки HTML существовал американский стандарт для разработки сетевых информационных систем, в котором в качестве единицы хранения указывался простой текстовый файл в кодировке LATIN1, что соответствует US ASCII. На сегодняшний день известно 5 версий языка HTML. HTML страница –мин единица текст информации, кот м.б. затребована у сервера и отображена в браузере клиента. Таговая модель описывает документ как совокупность элементов, каждый из которых окружен тагами. По своему значению таги близки к понятию скобок "begin/end" в универсальных языках программирования. Общая схема построения элемента текста в формате HTML может быть записана в следующем виде:"элемент" := <"имя элемента" "список атрибутов">, содержание элемента </"имя элемента">, Конструкция перед содержанием элемента называется тагом начала документа, а конструкция, расположенная после содержания элемента, -таг конца элемента. Структура гипертекстовой сети задается гипертекстовыми ссылками. Каждый HTML-документ имеет определенную структуру: <html> <head> Заголовок </head> <body> тело </body> </html>. Гипертекстовая ссылка - это адрес другого HTML документа, который тематически, логически или каким-либо другим способом связан с документом, в котором ссылка определена. Гиперссылка может быть добавлена к любому элементу гипертекстового документа и обычно выделяется графически. В HTML-документах текстовые ссылки по умолчанию выделяются синим цветом, при наведении на них курсором мыши в окне браузера изменяются, например, меняют цвет или выделяются подчеркиванием. При навигации в браузере с помощью клавиатуры текстовые и графические ссылки выделяются прямоугольной пунктирной рамочкой. Посещенная ранее ссылка обычно выделяется цветом, отличным от цвета непосещенной ссылки. Для определения ссылки в HTML используется тег <a>, структура которого имеет вид <a href="filename">Текст ссылки</a>, где «filename» — имя файла или адрес в Интернете, на который необходимо сослаться, а «Текст ссылки» — текст гипертекстовой ссылки, который будет непосредственно показан в HTML-документе.

8. Основные тэги оформления HTML-страниц, графические и другие нетекстовые объекты в языке HTML.

Теги, это программные метки, с которыми работает браузер, и которые указываю ему, что и, как показывать в окне просмотра документа. Теги бывают двух видов - парные и одиночные. Все теги заключаются в скобки <>. Если таких скобок нет или одна из скобок отсутствует, то браузер интерпретирует такой текст, как обычный текст, а не как команду. Парные теги состоят из открывающего тега <html> и закрывающего тега </html>, как видите они абсолютно идентичны, и отличаются только вертикальной косой чертой у закрывающего тега, который обозначает конец интерпретации, управляющего кода, браузером. Не парные теги, например <br>, это в основном теги, обозначающие перевод каретки, пробел, особый элемент текста. Чаще всего они относятся к простому тексту, и используются для его форматирования. Вся информация, тексты, графика и рисунки, помещаются между парными тегами и интерпретируются браузером как таковые, но с определёнными атрибутами для отображения на странице. Например, можно поместить на страницу фотографию размером 300х200, а браузеру, при помощи тегов определяющих высоту и ширину, указать отображать на странице изображение размером 150х100, то есть в два раза меньше истинного. При помощи тегов задается цвет текста и его вид, создаются ссылки на другие документы и на другие сайты. Размечаются таблицы, определяется толщина и положение линий. Задаётся цвет самой страницы, и цвет ссылок. Основные тэги: lang — определяет язык документа;title — определяет всплывающую подсказку для всей страницы; <head> — головной тег html-страницы; <body> — тег, внутри которого пишется весь код, отвечающий за внешний вид страницы; <body text=?> - Устанавливает цвет текста документа; <body link=?> - Устанавливает цвет гиперссылок; <b></b> - жирный шрифт; <i></i> - курсив; <p></p> - Создает новый параграф <p align="?"></p> - Выравнивает параграф относительно одной из сторон документа, значения: left, right, justify или center <nobr> - Запрещает перевод строки.<img src="name"> - Добавляет изображение в HTML документ <img src="name" align="?"> - Выравнивает изображение к одной из сторон документа, принимает значения: left, right, center; bottom, top, middle <img src="name" border="?"> - Устанавливает толщину рамки вокруг изображения <img src="name" alt="?"> - Всплывающая подсказка при наведении на имедж; <hr> - Добавляет в HTML документ горизонтальную линию. <hr color="?"> - Задает линии определенный цвет. Значение RRGGBB. Таблицы; <BR> — одиночный тег структурного форматирования, осуществляющий перенос последующего текста на новую строку

9. Тэги оформления таблиц и кадров (фреймов) в языке HTML. Сравнительная характеристика объектов «таблица» и «фрейм».

Таблица: <table></table> - Создает таблицу. <tr></tr> - Определяет строку в таблице. <td></td> - Определяет отдельную ячейку в таблице. <th></th> - Определяет заголовок таблицы (нормальная ячейка с отцентрованным жирным текстом) <caption></caption> - Определяет подпись таблицы Атрибуты таблицы <table border="#"> - Задает толщину рамки таблицы. <table width="#"> - Устанавливает ширину таблицы в пикселах или процентах от ширины документа. <table height="#"> - Устанавливает высоту таблицы в пикселах или процентах от высоты документа. <td width="#"> - Устанавливает ширину ячейки в пикселах или процентах от ширины таблицы (ячейки одного столбца не могут иметь разную ширину). <td height="#"> - Устанавливает высоту ячейки в пикселах или процентах от высоты таблици (ячейки одной строки не могут иметь разную высоту). Вводя таг <FRAME>, дизайнер НТМL-страницы разделяет экран браузера на части. В результате человек, просматривающий страницу, может изучать одну часть страницы независимо от остальной части. Фактически браузер, распознающий фреймы, загружает разные страницы в разные секции, или фреймы, экрана. Например, можно сделать так, что фирменный знак будет зафиксирован в верхней части экрана, в то время как остальную часть страницы пользователь пролистывает обычным способом.Фреймы: <frameset></frameset> - Предваряет тег <body> в документе, содержащем фреймы; <frameset rows="value,value"> - Определяет строки в таблице фреймов, высота которых определена кол-вом пикселов или в процентном соотношении к высоте таблицы фреймов. <frameset cols="value,value"> - Определяет столбцы в таблице фреймов, ширина которых определена кол-вом пикселов или в процентном соотношении к ширине таблицы фреймов. <frame> - Определяет единичный фрейм или область в таблице фреймов. <frame src="URL"> - Определяет какой из HTML документов будет показан во фрейме. <frame name="name"> - Указывает Имя фрейма или области, что позволяет перенаправлять информацию в этот фрейм или область из других фреймов. <frame noresize> - Препятствует изменению размеров фрейма пользователем. Ифрейм и его атрибуты <iframe width="#"> - Определяет ширину ифрейма <iframe height="#"> - Определяет высоту ифрейма;

10. Тэги оформления форм в языке HTML. Моделирование деловых объектов формами. Передача параметров в шлюзовые (CGI) программы. Трансформация формы представления объектов при передаче в CGI-программу.

<form></form> - Создает формы; <select multiple name="NAME" size="?"></select> - Создает скролируемое меню. Size устанавливает кол-во пунктов меню, которое будет показано на экране, остальные будут доступны при использовании прокрутки. ; <option> - Указывает каждый отдельный элемент меню ;<select name="NAME"></select> - Создает ниспадающее меню ; <option> - Указывает каждый отдельный элемент меню ; <textarea - Создает окно для ввода текста. ; <input type="checkbox" name="NAME"> - Создает checkbox.; <input type="radio" name="NAME" value="x"> - Создает radio кнопку. <input type="submit" value="NAME"> - Создает кнопку "Отправить" <input type="image" border="0" name="NAME" src="name.gif"> - Создает кнопку "Отправить" - для этого используется изображение <input type="reset"> - Создает кнопку "Очистить"

11. Технологии CSS и SSI. Язык программирования JavaScript. Назначение и общие принципы использования.

Технология SSI (Server Side Includes — Дополнение на стороне сервера) позволяет модифицировать передаваемые веб-сервером посетителю HTML-страницы, «на лету» добавляя в них контент интернет-агентства. SSI позволяет сделать страницы веб-сайта динамичными, не используя тот или иной язык программирования и не задействуя CGI. SSI представляет собой набор специальных инструкций, добавляемых прямо в код статической HTML-страницы. Инструкции исполняются веб-сервером в момент загрузки файла, содержащего страницу: веб-сервер вносит в результат, передаваемый браузеру посетителя, соответствующие изменения. Таким образом, технология SSI совершенно незаметна для пользователя и целиком реализуется на стороне сервера. (<!--#include virtual ="/ssi/menu_txt.html" -->). Зачастую у web-дизайнера возникает необходимость применить в процессе создания html-документа сложное форматирование — от абзаца к абзацу менять шрифт, расположение текста, его цвет, формировать различные таблицы данных. Можно решить эту проблему с помощью стандартных средств HTML: описывать каждый абзац отдельным набором команд, но в этом случае итоговый документ будет иметь большой размер, да и само создание кода становится весьма трудоемкой работой. Можно пойти другим путем: подключить к странице внешний файл, выполненный в стандарте CSS — Cascading Style Sheets (каскадные таблицы стилей), в котором с помощью специального макроязыка один раз жестко задать форматирование страницы. Другими словами, файл CSS выполняет роль некоего шаблона, применяемого для форматирования текста, таблиц и иных элементов в документе HTML. Есть возможность подключать один и тот же физический файл CSS к различным web-страницам сайта. CSS можно использовать практически на любом сервере без каких-либо ограничений. JavaScript — объектно-ориентированный скриптовый язык программирования. JavaScript обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам. Основные архитектурные черты: динамическая типизация, слабая типизация, автоматическое управление памятью, прототипное программирование, функции как объекты первого класса. В языке отсутствуют такие полезные вещи, как: 1) модульная система: JavaScript не предоставляет возможности управлять зависимостями и изоляцией областей видимости; 2) стандартная библиотека: в частности, отсутствует интерфейс программирования приложений по работе с файловой системой, управлению потоками ввода/вывода, базовых типов для бинарных данных; 3) стандартные интерфейсы к веб-серверам и базам данных.

12. Язык XML. Назначение и принципы построения. Структура и обработка XML-документов.

XML (расширяемый язык разметки;) —язык разметки, фактически представляющий собой свод общих синтаксических правил. XML — текстовый формат, предназначенный для хранения структурированных данных (взамен существующих файлов баз данных), для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки (например, XHTML). Синтаксис XML документа: XML — это описанная в текстовом формате иерархическая структура, предназначенная для хранения любых данных. Визуально структура может быть представлена как дерево элементов. Элементы XML описываются тегами. Первая строка XML-документа называется объявление XML— это строка, указывающая версию XML. <?xml version="1.0" encoding="UTF-8"?>. Важнейшее обязательное синтаксическое требование заключается в том, что документ имеет только один корневой элемент (также иногда называемый элемент документа). Это означает, что текст или другие данные всего документа должны быть расположены между единственным начальным корневым тегом и соответствующим ему конечным тегом. Остальная часть этого XML-документа состоит из вложенных элементов, некоторые из которых имеют атрибуты и содержимое. Элемент обычно состоит из открывающего и закрывающего тегов, обрамляющих текст и другие элементы. Открывающий тег состоит из имени элемента в угловых скобках, например, <step>, а закрывающий тег состоит из того же имени в угловых скобках, но перед именем ещё добавляется косая черта, например, </step>. Кроме содержания у элемента могут быть атрибуты — пары имя-значение, добавляемые в открывающий тег после названия элемента. Значения атрибутов всегда заключаются в кавычки (одинарные или двойные), одно и то же имя атрибута не может встречаться дважды в одном элементе. Не рекомендуется использовать разные типы кавычек для значений атрибутов одного тега. <ingredient amount="3" unit="стакан">Мука</ingredient>. Достоинства: 1) XML — язык разметки, позволяющий стандартизировать вид файлов-данных, используемых компьютерными программами, в виде текста, понятного человеку; 2) XML поддерживает Юникод; 3) в формате XML могут быть описаны такие структуры данных, как записи, списки и деревья; 4) XML — это самодокументируемый формат, который описывает структуру и имена полей так же как и значения полей; 5) XML имеет строго определённый синтаксис и требования к анализу, что позволяет ему оставаться простым, эффективным и непротиворечивым; 6) XML — формат, основанный на международных стандартах; 7) Иерархическая структура XML подходит для описания практически любых типов документов, кроме аудио и видео мультимедийных потоков, растровых изображений, сетевых структур данных и двоичных данных; 8) XML представляет собой простой текст, свободный от лицензирования и каких-либо ограничений; 9)XML не зависит от платформы; Недостатки: 1)Синтаксис XML избыточен; 2) Размер XML-документа существенно больше бинарного представления тех же данных. Размер XML-документа существенно больше, чем документа в альтернативных текстовых форматах передачи данных.Избыточность XML может повлиять на эффективность приложения. Возрастает стоимость хранения, обработки и передачи данных. 3)Неоднозначность моделирования. Нет общепринятой методологии для моделирования данных в XML, в то время как для реляционной модели и объектно-ориентированной такие средства разработаны и базируются на реляционной алгебре, системном подходе и системном анализе. В природе есть множество объектов и явлений, для описания которых разные структуры данных являются естественными, и отображение объекта в неестественную для него модель является болезненным для его сути. В результате большой гибкости языка и отсутствия строгих ограничений, одна и та же структура может быть представлена множеством способов 4) Поддержка многих языков в именовании тегов дает возможность назвать, например вес русским словом, в таком случае компьютер никак не сможет установить соответствия этого поля с полем weight в англоязычной версии программы и с полями в версиях модели объекта на множестве других языков. 5) XML не содержит встроенной в язык поддержки типов данных. В нём нет строгой типизации, то есть понятий «целых чисел», «строк», «дат», «булевых значений» и т. д. 6)Иерархическая модель данных, предлагаемая XML, ограничена по сравнению с реляционной моделью и объектно-ориентированными графами и сетевой моделью данных. 7)Выражение неиерархических данных (например графов) требует дополнительных усилий

13. Понятие протокола. Семиуровневая модель взаимодействия открытых систем. Иерархия уровней протоколов в модели ISO/OSI.

Протокол — набор правил, благодаря которым возможна передача данных между компьютерами. Эти правила работают в рамках модели ISO/OSI и не могут отступать от нее ни на шаг, поскольку это может повлечь за собой не совместимость оборудования и программного обеспечения. OSI – Open System Intelconection - абстрактная сетевая модель для коммуникаций и разработки сетевых протоколов. Предлагает взгляд на компьютерную сеть с точки зрения измерений. Каждое измерение обслуживает свою часть процесса взаимодействия. Благодаря такой структуре совместная работа сетевого оборудования и программного обеспечения становится гораздо проще и прозрачнее.Каждый уровень модели ISO/OSI обладает своими особенностями, и реализовать все особенности в рамках одного протокола невозможно. Мало того, это даже не­выгодно, поскольку значительную часть логики можно разрабатывать на уровне аппаратного обеспечения, что приводит к ускорению работы с данными. Исходя из этих соображений, было разработано множество узкоиаиравленных протоколов, каждый из которых с максимальной отдачей и быстродействием выполняет свою задачу. Уровни: 1) Физический – опред физ характеристики связ со средой передачи данных; 2) Канальный – реализ процесс передачи инф по каналу, кот реализован между узлами цепи и обеспеч управл потоком данных в виде кадров. 3) Сетевой – уровень межсетевого взаимодействия осущ маршрутизацию пакетов, не зависит от реального расположения узлов. 4) Транспортный – обеспеч гарантир доставку сообщения от отдельного узла к др. Проверяет наличие ошибок и правильность последовательности передачи данных. 5) Сеансовый – управляет нач и оконч сеансов обмена данными, формир запросы на передачу данных и выполняет синхронизацию процессов приема и передачи данных; 6) Представления – обеспеч возможность обмена данными между приложениями с разными структурами данных; 7) Прикладной – верхний уровень модели, обеспечивающий взаимодействие пользовательских приложений с сетью: позволяет приложениям использовать сетевые службы: удалённый доступ к файлам и базам данных, пересылка электронной почты; отвечает за передачу служебной информации; предоставляет приложениям информацию об ошибках; формирует запросы к уровню представления.

14. Адресация в Internet. Структура IP-адреса. Символические IP-адреса. Почтовые адреса.

IP адрес – это 32 битный адрес узла, состоит из 3 частей: классификация сети, адрес сети (NET.ID), адрес узла (NONC.ID). Сейчас Ipv4 – 32 бита, в будущем Ipv6 – 128. Различают 5 видов сети: A) используется в сетях общего назначения.

В) В корпорациях, больших компаниях

С) Локальные сети

D)

E)

DNS - компьютерная распределённая система для получения информации о доменах. Чаще всего используется для получения IP-адреса по имени хоста (компьютера или устройства), получения информации о маршрутизации почты, обслуживающих узлах для протоколов в домене (SRV-запись). http:// alice(3)/pnzgu(2)/ru(1)

Домен не привязан к конкретной машине.

15. Логика обработки запросов при обмене данными в сетях на базе протоколов TCP/IP. Серверы-посредники (прокси-серверы).

  1. Разрешение символического адреса: опрашивается файл host на локальной машине; посылается DNS запрос , возвр IP адрес. 2) Опред-ся нахождение нужного подузла в своей сети. Для этого производится сравнение: IP клиента & маска = IP узла& маска; 3) Если узел в своей подсети: рассылается широковещательный запрос ARP , кот содержит физич или MAC адрес узла. Компаратор клиента фиксир APR приложение и строит табл соответствие физ м MAC адреса 4). Если узел в подсети не найден, то клиент заменяет IP адрес в подсети узла на IP адрес маршрутизатора. Маршрутиризатор сравнивает рез по пункту 3). 5) Если IP адрес разрешен, физ адрес узла установлен, то передается запрос на физ адрес узла, либо маршрутизатора.

Для того, чтобы установит соединение5 по протоколу TCP между процессами, запущенных на разных узлах сети должны вып-ся след условия: 1) процессы должны идентифицировать друг руга в сети 2) прогр сервер должна находится в режиме ожидания подключения к ней клиента. Программа сервер после запуска сообщает драйверу TCP свои идентификаторы, кот она собир исп для обмена с клиентом. После этого прогр переходит в режим ожидания до запроса. Клиент зная IP и порт посылает драйверу TCP запрос на соединение. Драйвер TCP на машине клиента устанавл соединение, выбирает незанятый порт из списка своб и присваивает его клиенту. Эта инф-ия посылается серверу в 1 сообщ при устан соедин, таких сообщений посылается 3. После этого между клиентом и сервером устанавливается связь с пом кот прогр клиента может передать данные, записав с помощью спецификаторов в прогр канал, а сервер прочитав из канала.

16. Иерархическая схема протоколов, используемых в ИНТЕРНЕТ/ИНТРАНЕТ. Многоуровневая структура ПО хостов. Понятие стека протоколов.

Протокол — набор правил, благодаря которым возможна передача данных между компьютерами. Различают протоколы: 1) Протоколы лок сети; 2) Протоколы глоб сети; 3) Протоколы межсетевого взаимодействия; 4) Протоколы маршрутизации. Стек протоколов – стр-ра из вложенных друг в друга пакетов протоколов разл уровней, совокупность модулей ПО для поддержки этого стека. TCP/IP – это стек протоколов для интернета.

17. Обзор важнейших протоколов, используемых в ИНТРАНЕТ сетях (Ethernet, IP, TCP, UDP, ARP, ICMP, PPP, Telnet, FTP, HTTP, SMTP, POP3).

IP – осн протокол стека, обеспеч продвижение по сети; TCP – протокол гарантированной доставку файлов; UPD- протокол негарантированной доставку файлов; ARP — протокол определения адреса — использующийся в компьютерных сетях протокол низкого уровня, предназначенный для определения адреса канального уровня по известному адресу сетевого уровня. Наибольшее распространение этот протокол получил благодаря повсеместности сетей IP, построенных поверх Ethernet, поскольку практически в 100 % случаев при таком сочетании используется ARP. Ethernet — пакетная технология передачи данных преимущественно локальных компьютерных сетей. ICMPпротокол межсетевых управляющих сообщений — сетевой протокол, входящий в стек протоколов TCP/IP. В основном ICMP используется для передачи сообщений об ошибках и других исключительных ситуациях, возникших при передаче данных, например, запрашиваемая услуга недоступна, или хост, или маршрутизатор не отвечают. PPP— двухточечный протокол канального уровня сетевой модели OSI. Обычно используется для установления прямой связи между двумя узлами сети, причем он может обеспечить аутентификацию соединения, шифрование и сжатие данных. Используется на многих типах физических сетей: нуль-модемный кабель, телефонная линия, сотовая связь и т. д. TELNET — сетевой протокол для реализации текстового интерфейса по сети. FTP — протокол передачи файлов — протокол, предназначенный для передачи файлов в компьютерных сетях. FTP позволяет подключаться к серверам FTP, просматривать содержимое каталогов и загружать файлы с сервера или на сервер; кроме того, возможен режим передачи файлов между серверами. HTTP - протокол передачи гипертекста — протокол прикладного уровня передачи данных. Основой HTTP является технология «клиент-сервер», то есть предполагается существование потребителей, которые инициируют соединение и посылают запрос, и поставщиков, которые ожидают соединения для получения запроса, производят необходимые действия и возвращают обратно сообщение с результатом. SMTP — простой протокол передачи почты — это сетевой протокол, предназначенный для передачи электронной почты в сетях TCP/IP. POP3 – почтовый протокол.

18. Понятие серверной платформы. Структура и принципы построения платформы UNIX.

Серверная платформа включает аппаратные средства, сервер ОС, набор сервисов для работы с сетевыми ресурсами и СУБД. UNIX— семейство переносимых, многозадачных и многопользовательских операционных систем. Первая система UNIX была разработана в 1969 году в подразделении Bell Labs компании AT&T. Некоторые отличительные признаки UNIX-систем включают в себя: использование простых текстовых файлов для настройки и управления системой; широкое применение утилит, запускаемых в командной строке; взаимодействие с пользователем посредством виртуального устройства — терминала; представление физических и виртуальных устройств и некоторых средств межпроцессового взаимодействия как файлов; использование конвейеров из нескольких программ, каждая из которых выполняет одну задачу. В настоящее время UNIX-системы используются в основном на серверах, а также как встроенные системы для различного оборудования. Структура.

Функции ядра: 1) функция инициализации системы; 2) управление процессами и нитями; 3) управление памятью; 4) управление файлами; 5) коммуникационные средства. Принципы: инкапсуляция ядра, ортогональность ядра ОС, возможность работы в 2 режимах: привилег и пользоват, поддержка 2 концепций: процесса и файла;

19 Инкапсуляция ядра ОС UNIX. Аппаратная поддержка инкапсуляции.

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

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

Общедоступные регистры

Системные регистры

Данные sp, ax,bx

CRO-3, IDT, TTS, CPT

Команды пользователя

Привеллигированные команды

Изменить данные с структуре ядра, можно только на уровне ядра. Для этого сущ общедоступные и сист ресурсы. К сист регистрам относ номера дескрипторов прерывания и регистр сегмента задания.

20. Концепция процесса (применительно к ОС UNIX). Инициализация системы с ОС UNIX.

Контекст: 1) пользоват контекст. Содержимое пользоват адресного пространства, 2) регистровый контекст – содержимое аппаратных регистров, 3) Контекст системного уровня - стр-ра данных ядра, связанных с процессом. Процессы (пользовательские и сист уровня). Статистич контекст, который хранит идентификатор, динамич контекст – набор стеков с дин данными. Инициализация системы с ОС UNIX.

Инициализация ядра: 1) Определение параметров выч подсистемы, опред тип и быстродействие ЦП, объем ОП, ядро делает предположение об архитектуре вцелом. 2) Опред состав и архитек аппаратного обеспечения. Список внеш устроййств, диапазон портов ввода/вывода. Вектора аппаратных прерываний, номер канала прямого доступа. 3) запускается процесс init? Он выполняет 3 ф-ии: инициализация системы, является родительским для всей системы, управляет режимами работы ОС.

21. Порождение процессов в ОС UNIX и отношения между ними. Процессы демоны.

ОС Unix – это программа выполн в собств вирт адресном пространстве.

В Unix-системах, fork() — системный вызов, создающий новый процесс (потомок), который является почти точной копией процесса-родителя, выполняющего этот вызов. После fork() процесс-потомок чаще всего выполняет системный вызов exec(), загружающий в пространство процесса новую программу. Дочерний поцесс наследует все св-ва родительского процесса, включая дескрипторы файла. Родительский процесс может проверить состояние дочернего процесса. При завершении дочернего процесса по вызову, объект ядра связ с процессом – task_struck. Объект ядра не уничтожается. Родит процесс проверяет состояние дочернего через вызов wait и только после этого объект удаляется. Виды процессов: 1) системные и 2) процессы демоны (службы), процессы работающие вне интерактивного режима. 3) Прикладные процессы (все остальные в рамках режима пользователя). Способы порождения демонов: 1)через скрипты, 2) через спец формы задач, 3) через команду at <имя прогр> <время>, 4) запуск процесса в терминале.

22. Межпроцессовые коммуникации в ОС UNIX (сигналы, семафоры, программные каналы, очереди сообщений, разделяемая память).

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

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

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

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

Средства взаимодействия процессов в среде UNIX носят название IPC (Inter-Process Communication). С появление ОС UNIX SystemV эти средства были узаконены и вошли в стандарт ОС UNIX.

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

Все средства взаимодействия процессов разделяют на две группы:

  1. Средства обмена данными

  2. Средства синхронизации процессов

Средства обмена данными

Одно из основных средств обмена данными в семействе ОС UNIX является разделяемая память.

Разделяемая память – сегмент памяти доступный нескольким процессам одновременно.

Для работы с разделяемой памятью используются четыре системных вызова:

  • shmget создает новый сегмент разделяемой памяти или находит существующий сегмент с тем же ключом;

  • shmat подключает сегмент с указанным дескриптором к виртуальной памяти обращающегося процесса;

  • shmdt отключает от виртуальной памяти ранее подключенный к ней сегмент с указанным виртуальным адресом начала;

  • shmctl служит для управления параметрами сегмента разделяемой памяти.

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

Синтаксис системного вызова shmget выглядит следующим образом:

shmid = shmget(key, size, flag);

где key – идентификатор сегмента,

size – размер сегмента

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

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

Подключение сегмента к виртуальной памяти выполняется путем обращения к системному вызову shmat:

virtaddr = shmat(id, addr, flags);

Где id - это ранее полученный дескриптор сегмента,

addr - виртуальный адрес, который должен соответствовать началу сегмента в виртуальной памяти процесса.

Для отключения сегмента от виртуальной памяти используется системный вызов shmdt:

shmdt(addr);

где addr - это виртуальный адрес начала сегмента в виртуальной памяти, полученный ранее от системного вызова shmat.

Системный вызов shmctl:

shmctl(id, cmd, shsstatbuf);

id – десикрптор сегмента разделяемой памяти;

cmd – команда управления сегментом разделяемой памяти.

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

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

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

Сигналы

Сигналы представляют процессам систему прерываний на логическом уровне.

Они используются в 3-х случаях:

  1. Для обработки исключительных ситуаций

  2. Для обработки внешний и внутренних прерываний

  3. Для управления системой прерываний (маскирование, демаскирование).

Коды сигналов хранятся в системной библиотеке signal. Примеры сигналов: SIGINT, SIGKILL

Предусматривается 3-и варианта использования сигнала:

  1. Реакция по умолчанию (в программе не предусматривается обработчик сигнала, тогда обработка делается ОС или библиотечной функцией).

  2. Маскирование (сигнал игнорируется программой)

  3. Перехват. В программе предусмотрен собственный обработчик для сигнала, в котором описывается необходимое действие.

Установка обработчика сигналов производится с помощью системного вызова signal().

Правила работы сигналов в OC UNIX:

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

1. Если сигнал игнорируется, то он не оказывает никакого воздействия на процесс. В частности, не прерываются по EINTR прерываемые операции.

2. Если сигнал блокируется, то его обработчик будет вызван один раз (независимо от того, сколько раз был послан сигнал) после снятия блокировки.

3. Если процесс назначил сигналу собственный обработчик и сигнал должен быть доставлен, то будет вызван этот обработчик.

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

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

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

Средства синхронизации процессов

СЕМАФОРЫ

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

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

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

Семафор в ОС UNIX состоит из следующих элементов:

  • значение семафора;

  • идентификатор процесса, который хронологически последним работал с семафором;

  • число процессов, ожидающих увеличения значения семафора;

  • число процессов, ожидающих нулевого значения семафора.

Для работы с семафорами поддерживаются три системных вызова:

  • semget для создания и получения доступа к семафору;

  • semop для манипулирования значениями семафоров (это именно тот системный вызов, который позволяет процессам синхронизоваться на основе использования семафоров);

  • semctl для выполнения разнообразных управляющих операций над набором семафоров.

int semget(key_t key, int nsems, int semflg);

key_t key – имя создаваемого массива семафоров.

nsems – количество семафоров в массиве.

semflg – флаги, определяющие права доступа к семафорам.

Системный вызов к семафору позволяет проверить его состояние, уменьшить или увеличить.

Механизм синхронизация процессов с помощью семафоров следующий.

При организации доступа к общему ресурсу с помощью семафора создается критическая секция.

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

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

Т.е. процесс не войдет в критическую секцию, до тех пор пока другой процесс или процессы не выйдут из своих аналогичных критических секций.

Основные правила для семафоров:

  • Когда счетчик текущего значения ресурсов > 0 семафор переходит в свободное состояние.

  • Если счетчик = 0, семафор занят.

  • Счетчик текущего числа ресурсов в семафоре не может быть <0

  • Счетчик текущего числа ресурсов не может быть больше максимального числа ресурсов.

ОЧЕРЕДИ СООБЩЕНИЙ

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

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

Для того чтобы сообщение было добавлено в очередь должны быть выполнены следующие условия:

  • обращающийся процесс должен иметь соответствующие права по записи в данную очередь сообщений;

  • длина сообщения не должна превосходить размер верхний предел на длину сообщений в очереди

  • общая длина сообщений (включая вновь посылаемое) не должна превосходить установленный предел.

Для приема сообщений используется системный вызов msgrcv, который:

  • Проверяет права процесса на доступ к очереди.

  • Ядро выбирает первое сообщение из указанной очереди сообщений и копирует его в заданную пользовательскую структуру данных.

  • Корректируется информация, содержащаяся в заголовке очереди (число сообщений, суммарный размер и т.д.).

Для обеспечения возможности обмена сообщениями между процессами этот механизм поддерживается следующими системными вызовами:

  • msgget для образования новой очереди сообщений или получения дескриптора существующей очереди;

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

  • msgrcv для приема сообщения (вернее, для выборки сообщения из очереди сообщений);

  • msgctl для выполнения ряда управляющих действий.

Для посылки сообщения используется системный вызов msgsnd:

msgsnd(msgqid, msg, count, flag);

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

Для приема сообщения используется системный вызов msgrcv:

count = msgrcv(id, msg, maxcount, type, flag);

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

ПРОГРАММНЫЕ КАНАЛЫ

Каналы (pipes) являются традиционным средством взаимодействия и синхронизации процессов в ОС UNIX. Программный канал позволяет взаимодействовать любому числу процессов, обеспечивая дисциплину FIFO.

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

Программные каналы – прототипы клиент серверной обработки.

Различаются два вида программных каналов:

  1. именованные;

  2. неименованные.

Неименованные каналы появились раньше (так сложилось исторически) но они являются частным случаем именованных каналов.

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

Неименованным программным каналом могут пользоваться только создавший его процесс и его потомки (необязательно прямые).

Для создания именованного программного канала (или получения к нему доступа) используется обычный файловый системный вызов open.

Для создания же неименованного программного канала существует специальный системный вызов pipe.

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

pipe(fdptr);

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

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

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

23. Концепция файла (применительно к ОС UNIX). Типы файлов (перечислить). Файлы данных и каталоги.

Как было отмечено раннее в основе ОС UNIX лежат два основных принципа построения:

  1. Концепция процесса

  2. Концепция файла

Концепция файла в ОС UNIX включает следующие положения:

  1. Файлы ОС представляются индексными дескрипторами (inode), которые описывают всю структуру данных на диске.

  2. Каталоги – это файлы, содержащие список записей, которые описывают соответствие дескриптором и именем файла.

Индексный дескриптор – структура, которая содержит описание файла, а именно:

  • тип файла;

  • права доступа;

  • владельца файла;

  • ячейки времени изменения файла;

  • размер;

  • указатели на блок данных файла.

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

Каталоги являются элементами иеpаpхического дерева. Любой каталог может содержать файлы и подкаталоги.

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

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

Ссылки. Концепция файловых систем Unix включает в себя понятие ссылки.

Жесткие ссылки.

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

!!!Т.е. для каждого дескриптора счетчик первоначально = 1.

Такие ссылки называются жесткими и могут использоваться только внутpи одной файловой системы (нельзя создать ссылку для файла из дpугой файловой системы). Более того, жесткая ссылка может указывать только на файл (жесткая ссылка на каталог может пpивести к зацикливанию в файловой системе).

Жесткая ссылка может быть создана с помощью команды link.

Символические ссылки

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

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

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

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

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

Символическая ссылка создается с помощью системного вызова symblink.

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

Символическая ссылка (~) создается с помощью команды ln

1n -a /bin/ср МуСору

24. Типы файлов в ОС UNIX (перечислить). Специальные файлы. Понятие драйвера устройства.

В ОС Unix доступ к устройствам осуществляется через специальные файлы.

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

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

Каждому устройству, поддерживаемому системой, соответствует, по меньшей мере, один специальный файл.

Специальные файлы создаются при выполнении системного вызова mknod.

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

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

cp myfile /tmp/kuz

перепишет файл с именем myfile в подкаталог kuz рабочего каталога. В то же время, команда

cp myfile /dev/console

выдаст содержимое файла myfile на системную консоль вашей установки.

Драйвер – это программа, осуществляющая взаимодействие с устройством на нижнем уровне. Поэтому драйвер напрямую привязан к аппаратной части компьютера.

Драйвер устройства, это специальная программа, являющаяся частью ядра ОС. Он всегда выполняет как минимум 2-е основные функции: запись/чтение. Дополнительными функциями могут быть – открыть/закрыть.

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

Все файлы устройств располагаются в каталоге /dev

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

Различают два типа специальных файлов (устройств):

  1. Символьные.

  2. Блочные (блок ориентированные).

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

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

Символьные устройства обслуживаются байт ориентированными драйверами.

Обмены с символьными специальными файлами производятся напрямую, без использования системной буферизации.

Блочные устройства имеют внутреннюю адресацию.

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

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

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

При обмене данными с блочным устройством система буферизует данные во внутреннем системном кеше (буфере). Через определенные интервалы времени система "выталкивает" содержимое буфера, т.е. блоки, ля которых содержится метка "измененный".

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

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

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

25. Понятие файловой системы в ОС UNIX, операции монтирования файловых систем.

Файловая система – средства организации и управления файлами и доступом к ним.

Файловая система включает:

  • описание структур данных;

  • управляющие данные, записанные на диске;

  • набор подпрограмм, обслуживающих системные вызовы для работы с файлами.

  • количество узлов, длина узла

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

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

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

В блоке начальной загрузки располагается блок данных, описывающий раздел, который (блок) включает следующие характеристики:

Число логических блоков.

Длина логического блока в байтах и секторах.

Физические характеристики устройства (число цилиндров, число дорожек в цилиндре, число секторов на цилиндре).

Для др. файловых систем, например FAT – число копий FAT, длина FAT сектора, число кластеров и т.п.

В мире UNIX существует несколько разных видов файловых систем со своей структурой внешней памяти. Наиболее известны традиционная файловая система UNIX System V (s5) и файловая система семейства UNIX BSD (ufs).

Иерархия каталогов и файлов файловой системы unix

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

Реально на каждом логическом диске (разделе физического дискового пакета) располагается отдельная иерархия каталогов и файлов. Для получения общего дерева в динамике используется "монтирование" отдельных иерархий к фиксированной корневой файловой системе.

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

Каждый каталог и файл файловой системы имеет уникальное полное имя (в ОС UNIX это имя принято называть full pathname - имя, задающее полный путь, поскольку оно действительно задает полный путь от корня файловой системы через цепочку каталогов к соответствующему каталогу или файлу).

Каталог, являющийся корнем файловой системы (корневой каталог), в любой файловой системе имеет предопределенное имя "/" (слэш).

Полное имя файла, например, /bin/sh означает, что в корневом каталоге должно содержаться имя каталога bin, а в каталоге bin должно содержаться имя файла sh.

Коротким или относительным именем файла (relative pathname) называется имя, задающее путь к файлу от текущего рабочего каталога. Команда установить текущий каталог – cd.

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

Примерная структура файловой системы ОС UNIX показана на рисунке.

Основные команда UNIX для работы с файловой системой

cp имя1 имя2 - копирование файла имя1 в файл имя2

rm имя1 - уничтожение файла имя1

mv имя1 имя2 - переименование файла имя1 в файл имя2

mkdir имя - создание нового каталога имя

rmdir имя - уничтожение каталога имя

ls имя - выдача содержимого каталога имя

cat имя - выдача на экран содержимого файла имя

chown имя режим - изменение режима доступа к файлу

14.Монтирование файловой системы

Файлы любой файловой системы становятся доступными только после "монтирования" этой файловой системы. Файлы "не смонтированной" файловой системы не являются видимыми операционной системой.

Операция монтирования – устанавливает соответствие между файловой системой, устройством и каталогом корневой файловой системы.

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

Для монтирования файловой системы используется системный вызов mount.

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

Для отсоединения файловой системы от общей иерархии используется системный вызов umount.

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

!!!Корневая файловая система всегда является смонтированной, и к ней не применим системный вызов umount.

Операция монтирования может производится автоматически с использованием таблицы монтированных устройств. (etc/fstab etc/mstab).

/dev/hda2 / reiserfs defaults 1 2

/dev/cdrom /media/cdrom auto ro,noauto,user,exec 0 0

/dev/fd0 /media/floppy auto noauto,user,sync 0 0

proc /proc proc defaults 0 0

Или непосредственно, с использованием команды mount

mount /dev/hda2 /home

Если запущена сетевая файловая система NSF, то она так же может быть монтирована

mount 193.233.88.39:/home/it /home/http/it

Для защиты файловой системы от записи, команда mount запускается с опцией -r, после чего монтирование производится в режиме read-only. После этого ядро пресекает любые попытки записи, включая модификацию времени доступа к файлам в индексном дескрипторе. Монтирование с защитой от записи используется при работе с такими устройствами, как CD-ROM.

!!! Для выполнения операций монтирования и демонтирования требуется наличие прав доступа пользователя root.

Для того чтобы пользователь мог монтировать необходимую файловую систему самостоятельно надо добавить в файл /etc/fstab следующей строки:

/dev/fd0 /floppy msdos user, noauto