1. Общий обзор архитектуры UNIX систем. 5
Краткий обзор UNIX подобных операционных систем. 5
Основные причины популярности UNIX. 5
Структура операционной системы. 5
Задачи выполняемые ядром операционной системы 6
Подсистема управления процессами. 7
Подсистема управления памятью. 7
Файловая подсистема. 8
Подсистема ввода-вывода. 8
2. Шеллы и основные команды HP-UX. 9
Общее знакомство с шелами 9
Bourne Shell. 10
C Shell . 42
Korn Shell и POSIX shell 57
Key Shell (keysh). 65
3. Администрирование системы X Window 69
Базовые концепции X Window 69
Компоненты системы X Window 69
Предварительное конфигурирование 70
Имена и классы клиентов 73
Имена и классы ресурсов 74
Типы ресурсов 74
Управление шрифтами 75
2. Программирование на HP-UX 82
Этап линкирования. 85
Работа с библиотеками 85
Создание архивной библиотеки. 89
Открытие Библиотек Распределеного доступа 91
Создание Общедоступной Библиотеки с ld 92
Модифицирование Общедоступной Библиотеки 93
Применение make 94
Отладчик ADB 103
Отладчик XDB 109
3. Примеры команд 110
VARIABLES 117
LOCATIONS 117
FORMATS 118
4. Системные вызовы и взаимодействие с UNIX. 119
Время в UNIX. 124
Сигналы. 131
Деления просесса 135
Пайпы и FIFO-файлы. 135
Нелокальный переход. 138
Разделяемая память 139
Семафоры 140
Очереди сообщений 142
5. Старт системы. 146
6. Run-levels. 150
Остановка системы 155
Конфигурирование ядра системы 158
7. Изменение системных параметров 161
Инсталирование периферии 164
Системная конфигурация 165
Управление процессами 173
Управление процессами и ядро системы 182
8. 1. Файловая система HFS. 185
Структура файловой системы HFS 186
Главный суперблок 186
Группы цилиндров 187
Размер 187
Блоки данных 189
Доступ к блокам данных 190
Модификация файлов в HP-UX 193
Менджер логических дисков LVM 194
Создание корневой VG и корневого LV 201
Резервное копирование и свосстановление конфигурации Volume Groups 202
Перемещение и переконфигурирование дисков 203
3. Особенности файловой системы VxFS 206
Монтирование и демонтирование файловых систем 208
Проверка файловых систем 209
10. Мониторинг использования дискового пространства 212
11. . Организация веб-сайта 214
Выбор операционной системы. 214
Выбор программного обеспечения сервера. 215
Анализ веб-серверов. 216
Инсталляция веб-сервера. 217
Стратегическое планирование. Определение объема работы. 221
Тактическое планирование сайта. Разработка структуры. 226
Дизайн интерфейса. 228
Программирование. 230
Публикация и Маркетинг. 233
12. Веб-страницы и веб-приложения. 235
Классификация веб-объектов. 235
Спецификация DTD. Понятие ортогональности и методы ее реализации. 236
Веб-страницы. Языки разметки. (HTML, XML) 237
Веб-страницы. Программирование (JavaScript, CSS, SSI, CGI, PHP) 261
Модульность и ортогональность с использованием существующих технологий. 288
Веб-приложения. 289
Общие требования к страницам сайта. 290
Совместимость с различными браузерами. 292
13. Конфигурация и управление веб-серверами. 295
Встроенные средства управления сервером. (apachectl, apxs) 295
Глобальные разделы конфигурации. 296
Вспомогательные скрипты – просмотр и ротация логов, статистика посещений. 299
Безопасность веб-сервера. 299
Организация доступа и разграничение прав пользователей. 303
. Подключение новых модулей и апгрейд программного обеспечения веб-сайта. 303
14. Администрирование веб-сервера. 304
Логгирование и поиск ошибок. 305
Обеспечение безопасности . 311
Создание резервных копий. Технологии: Backup, mirroring. 313
15. Система безопасности HP-UX 314
16. Политика и планирование системы безопасности 314
Установка Trusted Системы315
Управление паролями и системным доступом316
17. Управлением доступом к файлам и каталогам 317
Контроль безопасности сети (networks)319
В даный момент, не существует стандартной системы UNIX, вместо этого вы столкнетесь со множеством операционных систем, имеющих свои названия и особенности. Но за этими особенностями и названиями прослеживается общая архитектура, интерфейс и среда программирования. Все эти системы так или иначе являются родственными Из-за своей простоты, ясности, легкой способности к расширению и модификации UNIX стали переносить на множество платформ. Однако несмотря на множество реализаций базовой системы, среди всех них можно четко выделить две основные ветки: System V UNIX и BSD UNIX. Различия между ними не носят принципияльный характер и зачастую сказать к какой из веток принадлежит та или иная реализация операционной системы бывает сложно. К основным различиям между System V и BSD подобными системами можно отнести терминальную инициализацию, имена конфигурационных файлов и файлов инициализации системы, стандартный размер блоков файловой системы, управление терминалами, различное отображение информации о процессах и.т.п. Одним словом принципиальных различий с точки зрения пользователя между разными ветками операционной системы UNIX не существует. Рассматриваемая нами операционная система HP-UX 10.20 является одной из реализаций UNIX выпущенной фирмой Hewlett-Packard. По своей структуре это чистая System V подобная 32-х разрядная операционная система, включающая поддержку симметричных многопроцессорных систем (SMP), файловых систем большего объема (до 128Гб) и расширенного виртуального адресного пространства (до 3.75 Гб).
Каковы же причины популярности этой операционной системы ? В первую очередь это более чем трех десятилетний возраст. За этот период она полностью прошла проверку временем. Во вторых код системы практически полностью написан на языке высокого уровня С, что сделало ее простой для понимания, внесения изменений и переноса на другие аппаратные платформы. Некоторые из версий UNIX поставляются вместе с исходными текстами, однако даже несмотря на то что большинство UNIX поставляется в виде бинарных файлов, система все равно остается легко расширяемой и настраиваемой. Так же следует отметить тот факт что UNIX в изначально создавалась как многопользовательская и многозадачная система ориентированная в первую очередь на выполнение серверных функций. Следует отметить и тот факт что UNIX практически изначально создавалась как сетевая операционная система (даже графическая оболочка UNIX система X Window является полностью сетевой), что позволило ей занять лидирующие позиции на рынке серверов для Интернет приложений и дало мощные встроенные средства удаленного администрирования. Не маловажную роль в популярности UNIX сыграла ее единая иерархическая файловая система с унифицированным доступом не только к файлам данных но и к аппаратным ресурсам таким как диски, терминалы, принтеры, сеть, память и.т.п.
В задачу операционной системы UNIX входит непосредственное управление ресурсами компьютера, распределение их между пользователями, скрывая от последних внутреннюю архитектуру аппаратного обеспечения, путем предоставления унифицированного интерфейса доступа к аппаратным ресурсам. К аппаратным ресурсам компьютера относится в первую очередь вычислительные ресурсы процессора, память и дисковое пространство, а также ряд периферийных устройств, таких как накопители на магнитных лентах, принтеры, терминалы, сетевые адаптеры и.т.п. Самый общий взгляд позволяет увидеть двухуровневую модель системы в том виде как она представлена на рис. 1.1.
Рис 1.1
В центре находятся аппаратные ресурсы компьютера с которыми непосредственно взаимодействует ядро операционной системы изолируя прикладные программы пользователя от особенностей аппаратной архитектуры. Ядро имеет определенный минимальный набор услуг представляемых прикладным программам. В первую очередь это операции ввода-вывода (открытие, закрытие, чтение, запись и управление файлами), создание и управление процессами, организация синхронизации и обмена данными между процессами, управление памятью (реальной и виртуальной).
Второй важнейшей функцией выполняемой ядром является защита операционной системы от разрушения со стороны пользовательских программ и реализация механизмов защиты данных в многопользовательской среде. Все пользовательские приложения пользуются услугами ядра посредством системных вызовов.
На втором уровне находятся приложения, как пользовательские, обеспечивающие интерфейс с пользователем так и системные, управляющие работой системы. Несмотря на различные выполняемые задачи, схемы их взаимодействия с ядром одинаковы.
Остановимся более подробно на структуре ядра операционной системы. Функционально его можно представить состоящим из трех основных подсистем: подсистемы управления процессами и памятью, подсистемы ввода-вывода и файловой подсистемы. Все современные микропроцессоры поддерживают виртуальную память, защищенный и многозадачный режим работы. Последний подразумевает выделение кванта процессорного времени определенной задачи с последующим переключением на другую задачу
Каждая задача имеет идентификатор уровня защиты, некоторые команды из системы команд процессора могут выполняться на любом уровне защиты, но есть привелигированные команды выполнение которых возможно лишь задачей имеющей нулевой уровень привилегии. Ядро операционной системы работает на нулевом уровне защиты, только оно имеет непосредственный доступ к физической памяти, системным регистрам процессора и портам ввода вывода. Пользовательские программы общаются с ядром посредством системных вызовов, представляющих собой команду приводящую к переключению процесса в контекст ядра, передачей параметров ядру. Затем ядро проверяет корректность параметров, права пользовательского процесса на возможность выполнения данного системного вызова и лишь после этого переходит к непосредственному выполнению всех низкоуровневых действий необходимых для исполнения пользовательского запроса. Благодаря этому достигается защита критически важных данных ядра от случайного или преднамеренного разрушения со стороны пользователя.