Руководство пользователя FreeBSD Handbook

       

Руководство пользователя FreeBSD Handbook

FreeBSD базируется на ОС BSD версии 4.4BSD-Lite, разработанной исследовательской группой компьютерных систем (Computer Systems Research Group, сокращенно CSRG) Калифорнийского университета в Беркли и несет в себе традиции разработки систем BSD. Группа FreeBSD Project добилась максимальной производительности и надежности системы в ситуациях реальной жизни, потратив на это достаточно много времени, в то время как многие коммерческие гиганты еще бьются над решением этих задач на поле операционных систем для PC.
Диапазон приложений для FreeBSD, ограничивается только вашим воображением. От разработки программного обеспечения до автоматизации производства, от систем складского учета до дистанционной коррекции азимута антенны спутника, если это можно сделать с помощью коммерческого UNIX, то с тем же успехом это может быть сделано и с помощью FreeBSD. Важным преимуществом FreeBSD является огромное количество высококачественных приложенией, разработанных исследовательскими центрами и университетами во всем мире, которые по большей части бесплатны, и ежедневно появляющиеся в большом количестве коммерческие приложения.

Продолжение

Восстановление удаленных файлов под BSD

UFS (расшифровывается как UNIX File System) — это основная файловая система для BSD-систем, устанавливаемая по умолчанию. Многие коммерческие UNIX'ы также используют либо саму UFS, либо нечто очень на нее похожее. В противоположность ext2fs, исхоженной вдоль и поперек, UFS крайне поверхностно описана в доступной литературе и единственным источником информации становятся исходные тексты, в которых не так-то просто разобраться! Существует множество утилит, восстанавливающих уничтоженные данные (или во всяком случае пытающихся это делать), но на проверку все они оказываются неработоспособными, что в общем-то и неудивительно, поскольку автоматическое восстановление удаленных файлов под UFS невозможно в принципе. Тем не менее, это достаточно легко сделать вручную, если, конечно, знать как.

Продолжение

Шприц для bsd или функции на игле

Классический алгоритм внедрения shell-кода выглядит так: сохраняем несколько байт перехватываемой функции и ставим jump на свой thunk, который делает что задумано, выполняет сохраненные байты и передает управление оригинальной функции, которая может вызываться как по jump, так и по call (подробнее этот вопрос рассмотрен в статье "crackme, прячущий код на API-функциях", опубликованной в Хакере).
Самое сложное — выбрать место для размещения thunk'а. Это должна быть память доступная всем процессам, а такой памяти в нашем распоряжении нет! Мы знаем, что "подопытная" библиотека отображается на адресное пространство каждого процесса, но это пространство уже занято! Наскрести пару десятков байт, отведенных под выравнивание, вполне реально, только нам этого не хватает! Приходится хитрить.

Продолжить

Интерфейс.Новые направления в проектировании компьютерных систем

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

Предисловие
Определение интерфейса
Когнетика и локус внимания
Квантификация
Унификация

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

Интерфейсы ПК

Толковый словарь по вычислительным системам определяет понятие интерфейс (interface) как границу раздела двух систем, устройств или программ; элементы соединения и вспомогательные схемы управления, используемые для соединения устройств. Эта книга посвящена интерфейсам, позволяющим подключать к персональным (и не только) компьютерам разнообразные периферийные устройства (ПУ) и их контроллеры.
По способу передачи информации интерфейсы подразделяются на параллельные и последовательные. В параллельном интерфейсе все биты передаваемого слова (обычно байта) выставляются и передаются по соответствующим параллель- но идущим проводам одновременно. В PC традиционно используется параллельный интерфейс Centronics, реализуемый LPT-портами. В последовательном интерфейсе биты передаются друг за другом, обычно по одной линии. СОМ-порты PC обеспечивают последовательный интерфейс в соответствии со стандартом RS-232C.

Интерфейс Centronics и LPT-порт
Разъем устройства SCSI с "горячей" заменой

Интерфейс

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

Определение интерфейса
Экранные состояния объектов

Раздел - Конкуренция

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

Борьба
Виды
Конкурентноспособность
Предприятия
Рынки
Теория

Модели и структуры данных

Структуры данных и алгоритмы служат теми материалами, из которых строятся программы. Более того, сам компьютер состоит из структур данных и алгоритмов. Встроенные структуры данных представлены теми регистрами и словами памяти, где хранятся двоичные величины. Заложенные в конструкцию аппаратуры алгоритмы - это воплощенные в электронных логических цепях жесткие правила, по которым занесенные в память данные интерпретируются как команды, подлежащие исполнению. Поэтому в основе работы всякого компьютера лежит умение оперировать только с одним видом данных - с отдельными битами, или двоичными цифрами. Работает же с этими данными компьютер только в соответствии с неизменным набором алгоритмов, которые определяются системой команд центрального процессора.
Задачи, которые решаются с помощью компьютера, редко выражаются на языке битов. Как правило, данные имеют форму чисел, литер, текстов, символов и более сложных структур типа последовательностей, списков и деревьев. Еще разнообразнее алгоритмы, применяемые для решения различных задач; фактически алгоритмов не меньше чем вычислительных задач.
Для точного описания абстрактных структур данных и алгоритмов программ используются такие системы формальных обозначений, называемые языками программирования, в которых смысл всякого предложения определется точно и однозначно. Среди средств, представляемых почти всеми языками программирования, имеется возможность ссылаться на элемент данных, пользуясь присвоенным ему именем, или, иначе, идентификатором. Одни именованные величины являются константами, которые сохраняют постоянное значение в той части программы, где они определены, другие - переменными, которым с помощью оператора в программе может быть присвоено любое новое значение. Но до тех пор, пока программа не начала выполняться, их значение не определено.

Понятие структур данных и алгоритмов
Информация и ее представление в памяти
Природа информации
Хранение информации
Системы счисления

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

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

Целые типы
Представление в памяти.
Таблица 2.1
Машинное представление беззнаковых типов.
Формат машинного представления беззнаковых чисел
Машинное представление чисел со знаком.

Формат машинного представления чисел со знаком
Формат машинного представления данных типа comp
Вещественные типы
Представление вещественных чисел в памяти.
Формат представления вещественных чисел

Таблица 2.2
Таблица 2.3
Алгоритм формирования машинного...
Машинное представление данных типа real
Машинное представление данных типа single

Машинное представление данных типа double
Машинное представление данных типа extended
Десятичные типы
Десятичный тип с фиксированной точкой.
Машинное представление...

Тип шаблона.
Машинное представление...
Операции над числовыми типами
Битовые типы
Представление битовых типов.

Операции над битовыми типами.
Логический тип
Символьный тип
Логическая структура.
Машинное представление.

Операции.
Таблица 2.4
Указатели
Физическая структура указателя
Вычисление полного адреса в микропроцессоре i8086.
Представление указателей в языках программирования

Операции над указателями.
Статические структуры данных
Машинное представление. Адресация элементов структур.
Представление вектора в памяти

Представление вектора m1 в памяти
Таблица 3.1
Логическая структура
Физическая структура
Физическая структура...

Таблица 3.2
Операции
Адресация элементов с помощью векторов айлиффа
Представление массивов с помощью векторов айлиффа
Специальные массивы
Симметричные массивы.

Разреженные массивы.
Массивы с математическим описанием...
Разреженные массивы со случайным расположением элементов.
Представление разреженным матриц...
Последовательное представление разреженных матриц.
Представление разреженных матриц методом связанных структур.

Формат вершины для представления разреженных матриц
Многосвязная структура для представления матрицы a
Физическая структура.
Числовые множества
Таблица 3.3

Символьные множества
Множество из элементов перечислимого типа
Распределение памяти...

Множество от интервального типа
Представление переменной типа set of s
Операции над множествами
Логическое и машинное представление записей
Представление в памяти...
Представление в памяти...
Операции над записями

Записи с вариантами
Выделение памяти для записи с вариантами
Таблицы
Операции логического уровня...
Последовательный или линейный поиск

Бинарный поиск
Таблица 3.4
Операции логического уровня...
Сортировка простой выборкой.
Обменная сортировка простой выборкой.
Таблица 3.5
Пузырьковая сортировка.

Таблица 3.6
Сортировка шелла.
Таблица 3.7
Сортировка простыми вставками.
Пузырьковая сортировка вставками.
Таблица 3.8
Сортировка упорядоченным двоичным деревом.

Турнирная сортировка.
Пирамида турнирной сортировки
Пирамида после последовательных выборок
Сортировка частично упорядоченным деревом.

Частично упорядоченное дерево
Частично упорядоченное дерево, включение элемента
Частично упорядоченное дерево, исключение элемента
Поразрядная цифровая сортировка.

Таблица 3.9
Быстрая сортировка хоара.
Таблица 3.10
Сортировки слиянием.
Сортировка попарным слиянием.
Таблица 3.11
Характерные особенности полустатических структур

Логическая структура стека
Включение и исключение элементов из стека.
Машинное представление стека и реализация операций
Стеки в вычислительных системах
Логическая структура очереди

Машинное представление...
Очереди с приоритетами
Очереди в вычислительных системах
Логическая структура дека
Состояния дека в процессе изменения.
Деки в вычислительных системах
Логическая структура строки

Операции над строками
Представление строк в памяти.
Векторное представление строк.
Представление строк векторами постоянной длины
Представление строк вектором переменной...

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

Символьно - связное представление строк.
Однонаправленный линейный список.
Представление строки...
Двунаправленный линейный список.
Представление строки...
Блочно - связное представление строк.

Многосимвольные звенья фиксированной длины.
Представление строки...
Многосимвольные звенья переменной длины.
Представление строки...
Многосимвольные звенья с управляемой длиной.

Представление строки звеньями управляемой длины
Связное представление данных в памяти
Связные линейные списки
Машинное представление связных линейных списков
Структура односвязного списка

Структура двухсвязного списка
Структура кольцевого двухсвязного списка
Реализация операций над связными линейными списками
Перебор элементов списка.
Вставка элемента в список.
Вставка элемента в середину 1-связного списка

Вставка элемента в середину 2-связного списка
Вставка элемента в начало 1-связного списка
Удаление элемента из списка.
Удаление элемента из 1-связного списка
Удаление элемента из 2-связного списка

Перестановка элементов списка.
Перестановка соседних элементов 1-связного списка
Копирование части списка.
Перестановка соседних элементов 2-связного списка
Слияние двух списков.

Применение линейных списков
Мультисписки
Пример мультисписка
Основные понятия

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

Структура элемента разветвленного списка
Пример представления...
Операции обработки списков
Язык программирования lisp
Управление динамически выделяемой памятью

Логическая структура, определения
Граф неориентированный (а) и ориентированный (б).
Графа и его матрица смежности
Матрицы путей

Матрицы инцидентности
Машинное представление оpгpафов
Матричное представление орграфов.
Связное представление орграфов.
Машинное представление графа элементами двух типов
Машинное представление графа однотипными элементами

Часть дорожной карты...
Основные определения
Дерево
Лес
Дерево
Логическое представление и изображение деревьев.

Метод вложенных скобок
Представление дерева...
Бинарные деревья.
Изображения бинарных деревьев
Представление любого дерева...

Исходное дерево
промежуточный результат перестройки дерева
Представление дерева в виде бинарного
Упорядоченный лес
Промежуточный результат перестройки леса

Представление леса в виде 2-го дерева
Машинное представление деревьев в памяти эвм.
Логическое представление дерева
Машинное связное представление...
Диаграммы дерева: а)...

Последовательное представление...
Последовательное представление...
Последовательное представление...
Основные операции над деревьями.
Поиск записи в дереве( find ).

Добавление нового узла ( dop ).
Обход дерева.
Схема дерева
Нисходящий обход (preorder, r_preorder).
Таблица 6.1
Рекурсивный нисходящий обход.
Cмешанный обход (inorder, r_inorder).

Таблица 6.2
Восходящий обход ( postorder, r_postorder ).
Рекурсивный смешанный обход
Процедуры обхода дерева, использующие стек.
Прошивка бинарных деревьев.
Иллюстрация
Машинное связное представление...

Таблица 6.3
Машинное связное представление...
Таблица 6.4.
Приложения деревьев.
деревья хаффмена (деревья минимального кодирования)

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

Процедура вычислений:
формирование таблиц символов.
Алготитм table.
Описание программы:
Иллюстрация
Определения.

Операция вставки вершины в сбалансированное дерево.
Принцип работы алгоритма.
последовательное включение...
Алгоритм insert_&_balanse включения...
Описание работы:

Текст процедуры insert_&_balanse.
Текст процедуры добавления элемента.
Операция удаления из сбалансированного дерева.
Пример удаления различных узлов из сбалансированного дерева.
а..h удаление узлов из сбалансированого дерева.
Алгоритм процедуры delete.

Описание работы алгоритма:
Алгоритм процедуры del.
Алгоритм процедуры balance_l.
Алгоритм процедуры balance_r.
Поиск элемента.

Алгоритм search.
Текст процедуры search.
Описание программы работы со сбалансированными деревьями.
Л и т е р а т у р а

Visual Basic Script

Автоматизация - это одна из возможностей, предоставляемых технологией Microsoft COM (Component Object Model). Не вдаваясь в подробности реализации этой технологии, заметим, что она используется приложениями (называемыми COM-серверами) для предоставления доступа к их объектам, а также к свойствам и методам этих объектов другим приложениям (называемым COM-клиентами), каковыми могут быть и средства разработки. Например, текстовый процессор, будучи COM-сервером, может предоставлять другим приложениям доступ к документу, абзацу, закладке с помощью соответствующих объектов. Для именования (и опознания) COM-серверов обычно используются специальные строковые обозначения - программные идентификаторы (Programmatic Identifier, ProgID). Они нужны для того, чтобы операционная система могла с помощью этих идентификаторов определить, в каком именно каталоге (или на каком компьютере локальной сети, если используется тот или иной способ удаленного доступа к серверу) расположен исполняемый файл сервера автоматизации, и запустить его на выполнение. О том, какие именно программные идентификаторы применяются для того или иного приложения Microsoft Office, будет сказано в разделах, посвященных этим приложениям.

Файлы Windows Scripting Host
Microsoft Word и Microsoft Excel
Как получить информацию об операционной системе при помощи WMI

Windows Script Host (WSH). Чтение и редактирование файлов
Windows Script Host (WSH). Файловая система
Windows Script Host (WSH) - файлы и папки
Windows Script Host (WSH) - MS Office

Windows Script Host (WSH) - обработка исключений
Windows Script Host (WSH) - теория, реестр
Windows Script Host (WSH) - управление программами
Windows Script Host (WSH) - запуск программ

Защита и Интернет

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

Предварительный сбор данных
Сканирование
Инвентаризация
Уязвимость Windows 95/98/ME

Уязвимость Windows NT
Уязвимость Windows 2000
Уязвимость Novell NetWare
Уязвимость UNIX

Уязвимость удаленных соединений, РВХ, Voicemail и виртуальных частных сетей
Сетевые устройства
Брандмауэры
Атаки DoS
Изъяны средств удаленного управления
Расширенные методы

Уязвимость в Web
Атаки на пользователей Internet

Математический редактор MathCAD

Mathcad является математическим редактором, позволяющим проводить разнообразные научные и инженерные расчеты, начиная от элементарной арифметики и заканчивая сложными реализациями численных методов. Пользователи Mathcad — это студенты, ученые, инженеры, разнообразные технические специалисты. Благодаря простоте применения, наглядности математических действий, обширной библиотеке встроенных функций и численных методов, возможности символьных вычислений, а также превосходному аппарату представления результатов (графики самых разных типов, мощных средств подготовки печатных документов и Web-страниц), Mathcad стал наиболее популярным математическим приложением.
Mathcad 11, в отличие от большинства других современных математических приложений, построен в соответствии с принципом WYSIWYG ("What You See Is What You Get" — "что Вы видите, то и получите"). Поэтому он очень прост в использовании, в частности, из-за отсутствия необходимости сначала писать программу, реализующую те или иные математические расчеты, а потом запускать ее на исполнение. Вместо этого достаточно просто вводить математические выражения с помощью встроенного редактора формул, причем в виде, максимально приближенном к общепринятому, и тут же получать результат Кроме того, можно изготовить на принтере печатную копию документа или создать страницу в Интернете именно в том виде, который этот документ имеет на экране компьютера при работе с Mathcad Создатели Mathcad сделали все возможное, чтобы пользователь, не обладающий специальными знаниями в программировании (а таких большинство среди ученых и инженеров), мог в полной мере приобщиться к достижениям современной вычислительной науки и компьютерных технологий. Для эффективной работы с редактором Mathcad достаточно базовых навыков пользователя. С другой стороны, профессиональные программисты (к которым относит себя и автор этих строк) могут извлечь из Mathcad намного больше, создавая различные программные решения, существенно расширяющие возможности, непосредственно заложенные в Mathcad.

Начинаем работу
Редактирование документов
Вычисления
Типы данных
Символьные вычисления

Программирование
Интегрирование и дифференцирование
Алгебраические уравнения и оптимизация
Матричные вычисления
Специальные функции
Обыкновенные дифференциальные уравнения

Краевые задачи
Дифференциальные уравнения в частных производных
Математическая статистика
Обработка данных
Ввод-вывод данных
Оформление документов

Введение в POSIX'ивизм

Казалось бы, о Unix, Linux и BSD сотоварищи за последние годы написано множество книг, статей, сетевых материалов - нужно ли еще одно сочинение на заданную тему? Думается, что нужно, и по нескольким причинам.
Первая причина - в том, что феномен Open Sources (то есть разработка программ с открытыми исходными текстами) вообще и любые его частные проявления (а Linux и BSD-системы таковыми являются) столь многогранны, что каждый автор, обращающийся к этой тематике, привносит в нее что-то новое (надеюсь, что ваш покорный слуга в своих писаниях не был исключением).
Вторая причина - Linux, BSD и прочие родственные им системы живут и развиваются, и написанное о них даже год назад могло если не устареть (по причинам, которые станут ясными впоследствии, POSIX-системы мало подвержены старению), то в некоторой степени потерять актуальность. И в любом случае будет требовать уточнений, дополнений, корректив, отражающих реалии текущего момента.
Третья причина - в том, что Linux-бум конца ушедшего тысячелетия в определенной мере оставил в тени других представителей семейства открытых POSIX-систем. В результате понятие Open Sources прочно контаминировалось с ОС Linux, а последняя - с такими вещами, изначально к Linux'у никакого отношения не имевшими, как оконная система X, интегрированная рабочая среда KDE или офисный пакет OpenOffice.

Необходимое вступление
Открытость, свобода и халява
О Unix'ах, Linux'ах и BSD
Вопросы истории POSIX'ивизма
Почему Linux не Windows
Как научиться плавать: установка системы
Все для блага человека: пользовательские акаунты
Процесс пошел
Файл как он есть

Физика файловых систем
Файловая иерархия
Терминалы, режимы, интерфейсы
Истина - в командах
Общесистемное конфигурирование
Принципы сборки и установки пакетов
О шеллах
Текстовые редакторы
Икс - он и в Африке X
KDE: интеграция десктопа

Спецификация Java Server Pages 1.2

Данная Спецификация защищена авторскими правами, и информация, приведённая здесь, может быть защищена одним или более патентами США, иностранными патентами или задействованными приложениями.
За исключением случаев, указанных в данной лицензии, никакая часть данной Спецификации не может воспроизводиться в любой форме и любым способом без наличия предварительного письменной авторизации Sun Microsystems, Inc. ("Sun") и её лицензоров, если имеются.
Любая часть данной Спецификации и описанной здесь информации управляется терминами и условиями данной лицензии и Export Control Guidelines, как установлено ранее в Terms of Use на сайте Sun.
Просматривая, загружая и копируя данную Спецификацию, Вы соглашаетесь с тем, что Вы прочли, поняли и согласны со всеми терминами и условиями, установленными здесь и далее.
Настоящим документом Sun предоставляет Вам лицензию на бесплатное, неисключительное пользование без права передачи (без права на сублицензию), с сохранением прав интеллектуальной собственности Sun, что является непременным условием использования данной Спецификации для внутренних целей дизайна и разработки Ваших Java-аплетов и приложений, предназначенных для работы на платформе Java, или для создания чисто рабочих реализаций данной Спецификации

Процессы Сообщества Java
Неявное Отображение Входов из Контейнера
Словарь

Самоучитель по Protection to Information

Люди, уходя из дома, обычно закрывают входную дверь на замок. Они также запирают свои автомобили, оставляя их припаркованными на улице иди на стоянке. И, как правило, не сообщают номер своей кредитной карты первому встречному коробейнику, который пристает к прохожим па удине. настырно предлагая купить у него товары сомнительного качества. Однако подавляющее большинство людей до конца не осознает, насколько сильно они рискуют, если не заботятся о защите информации, находящейся в их компьютерах.
Достоверно известно, что лишь отдельные пользователи предпринимают хоть какие-то меры, призванные сберечь их данные. Остальные всерьез задумываются об этом только тогда, когда теряют информацию, хранимую в компьютере. Более того, их компьютерные системы зачастую совершенно не защищены от краж и вандализма.
Каждый раз, используя свой компьютер, его владелец добавляет туда определенную порцию информации. Именно эта совокупная информация и является наиболее ценным компонентом всей компьютерной системы. А это значит, что если не предпринять специальных мер для ее зашиты, издержки, которые понесет пользователь, попытавшись восстановить утраченные данные, значительно превысят стоимость аппаратных средств, используемых для хранения этих данных. Еще более чреватой опасными последствиями является ситуация, при которой налоговая и банковская информация пользователя или его деловая переписка попадает в чужие руки. Трудно себе вообразить, что кто-то, находясь в здравом уме и твердой памяти, по доброй воле предоставляет свою личную информацию людям, с которыми не имеет или не желает иметь никаких дел.

Угрозы компьютерной безопасности
Безопасность компьютерной сети
Криптографические протоколы
Технические средства защиты

Математические задачи в пакете MathCAD 12

Mathcad — необычная программа. Она относится к классу приложений, называемых PSE (problem solution environment — программная среда для решения задач). Это подразумевает, что ее работа не определяется однозначно действиями пользователя (как, например, в текстовых редакторах и т. п.), а является (в большей степени) результатом работы встроенных алгоритмов, недоступных взору исследователя. Введя в редакторе Mathcad выражение, даже довольно простое, например, df (x)/dx=, и получив некоторый ответ, многие даже не задумываются о том, что для его вычисления проделывается довольно сложная работа, результат которой заранее не предопределен и зависит от целого ряда факторов, не представленных непосредственно на рабочей области документа (свойств функции f, параметров численного алгоритма дифференцирования, значения системных констант и т. д.). Поэтому, проводя даже очень простые расчеты, вам придется иногда сталкиваться с неочевидным поведением программы, которое нельзя понять без ясного представления об основах работы соответствующих алгоритмов, встроенных в Mathcad.
Приложение Mathcad компании MathSoft — самый популярный из компьютерных математических пакетов, остающийся, бесспорно, на протяжении многих последних лет лидером в своем классе математического и образовательного программного обеспечения (ПО). С его помощью можно решать самые разные математические задачи и оформлять результаты расчетов на высоком профессиональном уровне, и сейчас уже сложно представить современного ученого, не пользующегося Mathcad. При помощи этого пакета осуществляются не только простые и вспомогательные вычисления, но и довольно сложные расчеты и научные исследования, использующие комбинации самых разных численных алгоритмов и аналитических преобразований.

Введение
Основные сведения о Mathcad
Алгебраические вычисления
Дифференцирование

Интегрирование
Нелинейные алгебраические уравнения
Оптимизация
Линейная алгебра
Системы линейных уравнений

Обыкновенные дифференциальные уравнения: динамические системы
Обыкновенные дифференциальные уравнения: краевые задачи
Дифференциальные уравнения в частных производных
Статистика
Интерполяция и регрессия

Спектральный анализ
Пользователям предыдущих версий Mathcad
Команды меню и панели инструментов
Сообщения об ошибках
Ресурсы Mathcad

Использование PPP протокола

PPP (Point to Point Protocol -- протокол точка-точка) - это механизм для создания и запуска IP (Internet Protocol) и других сетевых протоколов на последовательных линиях связи - будь это прямая последовательная связь (по нуль-модемному кабелю), связь поверх telnet или модемная связь по телефонным линиям (и, конечно, по линиям ISDN).

Используя PPP, вы можете подключить ваш Linux PC к PPP серверу и получить доступ к ресурсам сети, к которой подключен сервер (почти) так, как будто вы подключены непосредственно к этой сети.

Также вы можете настроить ваш Linux PC как PPP сервер, чтобы другие компьютеры могли звонить на ваш компьютер и получать доступ к ресурсам вашего локального PC и/или вашей сети.

Так как PPP - это двухточечная система, то вы можете использовать PPP соединение между двумя Linux PC для связи двух сетей (или для связи локальной сети с Internet), создавая глобальную сеть (Wide Area Network -- -- WAN).

Самое основное различие между соединениями PPP и Ethernet состоит, конечно, в скорости - стандартное соединение Ethernet работает с максимальной теоретической скоростью 10 Мб/сек (Мб/сек - миллион бит в секунду), в то время как аналоговые модемы аботают на скоростях до 56 кб/сек (кб/сек - тысяча бит в секунду).

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

Клиенты и серверы
Используя LPD и команду lpr
Получение|загрузка the Linux Printing HOWTOs
Получение RPM

Программирование мобильных телефонов на Java

Рынок мобильных телефонов - это, пожалуй, самый быстроразвивающийся сегмент рынка. Несколько лет назад мобильный телефон был чем-то дорогим и недосягаемым. Оплата за связь была астрономической. Но времена меняются, связь подешевела, мобильные телефоны продаются на каждом углу и наличие телефона у человека можно уже сравнить с наличием обычных наручных часов.
Обилие разнообразных моделей телефонов создает на этом рынке большую конкуренцию. Множество производителей стараются включить в телефоны как можно больше различных функций. Присутствием в телефоне адресной книги, органайзера, будильника и даже счетчика калорий уже никого не удивишь, и в какой-то момент времени возник вопрос, а чем же еще можно оборудовать телефон? Самым идеальным решением этого вопроса могла стать возможность загрузки в телефон программ сторонних производителей. Не секрет, что основная масса телефонов работает на основе прошивки, поэтому загрузка программ в телефон не возможна. Чтобы такая возможность появилась, производителям надо было бы решить ряд сложных вопросов. Во-первых - это язык программирования, на котором будут писаться программы для телефонов и, соответственно,, поддержка этого языка самим телефоном. Второе - это аппаратная архитектура мобильных телефонов, которая сильно ограничена в своих системных ресурсах, а это процессор, память, графический интерфейс. Улучшение архитектуры неизменно ведет к увеличению стоимости телефона, поэтому идеальной в этом случае стала платформа Java 2 Micro Edition, созданная компанией Sun Microsystems.
Платформа Java 2 ME состоит из виртуальной Java машины, языка программирования Java и огромного количества библиотек, облегчающих работу программиста. Язык программирования Java работает на основе интерпретации, поэтому для работы программ написанных на этом языке необходима виртуальная Java машина, встроенная в устройство, на котором планируется запускать Java программы. Наличие виртуальной Java машины в мобильном телефоне означает, что производитель поддерживает технологию Java. В данный момент практически все производители имеют поддержку Java технологии, что позволяет писать любые программы на этом языке и загружать их в телефон.

Введение
Устройство мобильных телефонов
Платформа Java 2 Micro Edition
Средства разработки мобильных приложений

Телефонные эмуляторы
Механизм работы приложений Java 2 ME
Классы пользовательского интерфейса
Программирование графики

Техника создания игр
Мобильная мультимедиа-библиотека
Основы языка Java
Справочник по Java 2 Micro Edition
Заключение

Программирование графических процессоров с использованием Direct3D и HLSL

Настоящий курс лекций разработан доцентом кафедры информационных технологий факультета прикладной математики и кибернетики Тверского государственного университета, кандидатом физико-математических наук А.Б. Семеновым при финансовой поддержке Microsoft Corporation.
Целью разрабатываемого курса является изучение слушателями математических и алгоритмических основ современной двумерной и трехмерной графики, включая задачи и методы реалистической визуализации и анимации, а также основные методы и алгоритмы обработки изображений. Особое внимание в курсе уделяется основам программирования графических процессоров, поддерживающих шейдерную архитектуру и приобретению навыков при разработке программного обеспечения с помощью графической библиотеки Direct3D и языка программирования высокого уровня HLSL. Задачей проекта является разработка и исследование алгоритмов и методов компьютерной графики на базе ядра графического микропроцессора. Заложенные внутри графического процессора механизмы параллелизма позволяют использовать видеокарту как эффективный параллельный вычислитель.

Библиотека DirectX
Схема графического конвейера

Основы работы с базами данных

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

Некоторые термины и определения, используемые при работе с базами данных
Классификация баз данных
Работа с базами данных

Практическая работа с таблицами Excel

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

Как изменять масштаб
Как осуществлять простой отбор данных
Как записать макрос