Язык Java -теория и практика

     курсы английского языка +с сертификатом 1781 http:// игра +с компьютером +в шахматы    

Java -практические советы

Что такое Java ? Это остров Ява в Малайском архипелаге, территория Индонезии. Это сорт кофе, который любят пить создатели Java (произносится "Джава", с ударением на первом слоге). А если серьезно, то ответить на этот вопрос трудно, потому что границы Java, и без того размытые, все время расширяются. Сначала Java (официальный день рождения технологии Java — 23 мая 1995 г.) предназначалась для программирования бытовых электронных устройств, таких как телефоны. Потом Java стала применяться для программирования браузеров — появились апплеты. Затем оказалось, что на Java можно создавать полноценные приложения. Их графические элементы стали оформлять в виде компонентов — появились JavaBeans, с которыми Java вошла в мир распределенных систем и промежуточного программного обеспечения, тесно связавшись с технологией CORBA. Остался один шаг до программирования серверов — этот шаг был сделан — появились сервлеты и EJB (Enterprise JavaBeans). Серверы должны взаимодействовать с базами данных — появились драйверы JDBC (Java DataBase Connection). Взаимодействие оказалось удачным, и многие системы управления базами данных и даже операционные системы включили, Java в свое ядро, например Oracle, Linux, MacOS X, AIX. Что еще не охвачено? Назовите, и через полгода услышите, что Java уже вовсю применяется и там. Из-за этой размытости самого понятия его описывают таким же размытым словом — технология.
Такое быстрое и широкое распространение технологии Java не в последнюю очередь связано с тем, что она использует новый, специально созданный язык программирования, который так и называется — язык Java. Этот язык создан на базе языков Smalltalk, Pascal, C++ и др., вобрав их лучшие, по мнению создателей, черты и отбросив худшие. На этот счет есть разные мнения, но бесспорно, что язык получился удобным для изучения, написанные на нем программы легко читаются и отлаживаются: первую программу можно написать уже через час после начала изучения языка. Язык Java становится языком обучения объектно-ориентированному программированию, так же, как язык Pascal был языком обучения структурному программированию. Недаром на Java уже написано огромное количество программ, библиотек классов, а собственный апплет не написал только уж совсем ленивый.

Введение
Встроенные типы данных, операции над ними
Объектно-ориентированное программирование в Java
Пакеты и интерфейсы
Классы-оболочки

Работа со строками
Классы-коллекции
Классы-утилиты
Принципы построения графического интерфейса
Графические примитивы
Основные компоненты

Размещение компонентов
Обработка событий


Создание меню
Апплеты
Изображения и звук

Обработка исключительных ситуаций
Подпроцессы
Потоки ввода/вывода
Сетевые средства Java
Развитие Java

Cамоучитель по Java

Как вы знаете, программа, написанная на одном из языков высокого уровня, к которым относится и язык Java, так называемый исходный модуль ("исходник" или "сырец" на жаргоне, от английского "source"), не может быть сразу же выполнена. Ее сначала надо откомпилировать, т. е. перевести в последовательность машинных команд — объектный модуль.
Но и он, как правило, не может быть сразу же выполнен: объектный модуль надо еще скомпоновать с библиотеками использованных в модуле функций и разрешить перекрестные ссылки между секциями объектного модуля, получив в результате загрузочный модуль — полностью готовую к выполнению программу.
Исходный модуль, написанный на Java, не может избежать этих процедур, но здесь проявляется главная особенность технологии Java — программа компилируется сразу в машинные команды, но не команды какого-то конкретного процессора, а в команды так называемой виртуальной машины Java (JVM, Java Virtual Machine).

Java в Internet
Логический тип
Принципы объектно-ориентированного программирования
Права доступа к членам класса
Числовые классы

Как найти подстроку
Класс Vector
Взаимодействие с системой
Иерархия классов AWT

Преобразование координат
Класс Cursor
Менеджер BorderLayout
Событие ItemEvent

Всплывающее меню
Параметры тега applet
Изменение составляющих цвета
Часть заголовка метода throws
Синхронизация подпроцессов

Печать в Java
Работа по протоколу TCP
Архиватор jar

Программирование на Java.Подробное руководство

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

Введение в Java
Первое приложение Java
Первый аплет Java
Рисование в окне аплета
События

Компоненты в окне аплета
Работа с системой Layout Manager
Работа с панелями
Окна и диалоговые панели
Многопоточность

Работа с файлами
Создание сетевых приложений
Растровые изображения и анимация
Звук в аплетах Java

Подробное руководство по программированию на Java

Почему вам нужно изучать новый язык программирования Java?
Если ответить на этот вопрос кратко, то потому, что он специально ориентирован на самые передовые технологии, связанные с сетью Internet. Растущая популярность Internet и, в особенности, серверов Web, создает для программистов новые возможности для реализации своих способностей.
Огромное преимущество Java заключается в том, что на этом языке можно создавать приложения, способные работать на различных платформах. К сети Internet подключены компьютеры самых разных типов - Pentium PC, Macintosh, рабочие станции Sun и так далее. Даже в рамках компьютеров, созданных на базе процессоров Intel, существует несколько платформ, например, Microsoft Windows версии 3.1, Windows 95, Windows NT, OS/2, Solaris, различные разновидности операционной системы UNIX с графической оболочкой X­Windows. Между тем, создавая сервер Web в сети Internet, вы бы наверняка хотели, чтобы им могло пользоваться как можно большее число людей. В этом случае вас выручат приложения Java, предназначенные для работы на различных платформах и не зависящие от конкретного типа процессора и операционной системы.
Программы, составленные на языке программирования Java, можно разделить по своему назначению на две большие группы.
К первой группе относятся приложения Java, предназначенные для автономной работы под управлением специальной интерпретирующей машины Java. Реализации этой машины созданы для всех основных компьютерных платформ.
Вторая группа - это так называемые аплеты (applets). Аплеты представляют собой разновидность приложений Java, которые интерпретируются виртуальной машиной Java, встроенной практически во все современные браузеры.
Приложения, относящиеся к первой группе (мы будем называть их просто приложениями Java), - это обычные автономные программы. Так как они не содержат машинного кода и работают под управлением специального интерпретатора, их производительность заметно ниже, чем у обычных программ, составленных, например, на языке программирования C++. Однако не следует забывать, что программы Java без перетрансляции способны работать на любой платформе, что само по себе имеет большое значение в плане разработок для Internet.
Аплеты Java встраиваются в документы HTML, хранящиеся на сервере Web. С помощью аплетов вы можете сделать страницы сервера Web динамичными и интерактивными. Аплеты позволяют выполнять сложную локальную обработку данных, полученных от сервера Web или введенных пользователем с клавиатуры. Из соображений безопасности аплеты (в отличие от обычных приложений Java) не имеют никакого доступа к файловой системе локального компьютера. Все данные для обработки они могут получить только от сервера Web. Более сложную обработку данных можно выполнять, организовав взаимодействие между аплетами и расширениями сервера Web - приложениями CGI и ISAPI.
Для повышения производительности приложений Java в современных браузерах используется компиляция "на лету"- Just-In-Time compilation (JIT). При первой загрузке аплета его код транслируется в обычную исполнимую программу, которая сохраняется на диске и запускается. В результате общая скорость выполнения аплета Java увеличивается в несколько раз.

Введение в Java
Первое приложение
Первый аплет
Рисование в окне аплета

События
Компоненты
Работа с системой Layout Manager
Работа с панелями
Окна и диалоговые панели
Многопоточность

Программирование на языке Java

Вообще опасно объявлять каждую новую технологию программирования революционной. Если вы поторопитесь подать свой голос за признание технологии, подобной той, которая реализована в языке Java, революционной — вас могут закидать тухлыми яйцами или занести в разряд пустозвонов, падких на модные новинки. Что же в таком случае делает тот или иной продукт революционным ? Он не может быть только лишь компактней, быстрее и дешевле. Такой продукт должен изменить весь стиль работы, радикально упростив решение сложных проблем.
Создание языка Java — это действительно один из самых значительных шагов вперед в области разработки сред программирования за последние 20 лет. Язык HTML (Hypertext Markup Language — язык разметки гипертекста) был необходим для статического размещения страниц во “Всемирной паутине” WWW (World Wide Web). Язык Java потребовался для качественного скачка в создании интерактивных продуктов для сети Internet.
Три ключевых элемента объединились в технологии языка Java и сделали ее в корне отличной от всего, существующего на сегодняшний день.

Революция по имени Java
Конструкторы
Меню

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

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

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

Программирование мобильных телефонов на 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
Заключение

Растровые изображения

Коренное для верстальщика отличие web-страницы от бумажной в том, что web-страница не имеет строго определенных размеров. Страница в окне браузера может прокручиваться вниз и вправо, что позволяет делать ее сколь угодно длинной или широкой. Кроме того, количество материала, помещающегося в окне, напрямую зависит от разрешения экрана, установленного у просматривающего. Такая "неопределенность" главного параметра страницы — ее формата — крайне непривычна для верстальщика и дизайнера бумажных изданий. Это и неудивительно, поскольку web-страница обладает своими, только ей присущими средствами выразительности, и ее дизайн вследствие этого очень отличается от книжного.
Несмотря на неопределенность формата web-страницы, все-таки существуют размеры, на которые следует ориентироваться. Ширина страницы не должна превышать ширину экрана компьютера пользователя. Если вы работаете с издательскими системами, наверняка установленный на вашем компьютере монитор имеет большую диагональ (17 или 21 дюйм), но далеко не все пользователи так "удачливы". Еще достаточно велик парк 14-дюймовых мониторов, на которых невозможно или неудобно устанавливать разрешение больше 800х600 пикселов. Это разрешение сейчас наиболее часто встречается, и ориентироваться лучше всего на него. Чтобы не заставлять вас переводить пикселы в сантиметры или дюймы, разработчики CorelXARA укомплектовали программу двумя шаблонами страниц 800х600 и 640х480 пикселов. Используя их, следует учитывать, что большинство пользователей предпочитают открывать окно браузера не на весь экран. Это дает возможность быстро переключаться между несколькими одновременно открытыми его копиями. В результате наиболее распространенный размер web-страницы — примерно 650х450 и 500х300 пикселов, на него и нужно ориентироваться.

CorelXARA для WWW
Трассировка точечного изображения

Издательская система Publisher

Итак, верстка. Что такое — верстать?
Верстка включает в себя искусство правильно разместить на странице (полосе) тексты, изображения, логотипы, другие знаки, а также (особенно это касается текста) привести текст средствами верстальной программы в такой вид, чтобы он полностью соответствовал принципам верстки.
Принципы эти заложены, слава Богу, еще до изобретения компьютерного изготовления книжек, соответственно в верстке участвовали и до сих пор участвуют опытные специалисты прошлого, то есть тех времен, которые отмечены принципами высокой печати и, конечно же, ручным (только кое в чем автоматизированным) набором текстов Соответственно гранки — это и сейчас гранки, хотя и сильно отличающиеся от тех, что были прежде. Обработка свинцовых пластов или барабанов с текстом нас не касается, да я точно и не знаю, назывались ли они матрицами или штампами, какова была точно та технология, но теперь для нас, готовящих на домашнем компьютере целиком всю; I. книгу, вплоть до вывода типографских пленок, это и не столь важно. Программа верстки должна выдерживать самое главное — все принципы верстки, которые, если от них не отступать, позволяют сделать все не только красиво, но и правильно. Добавлю только то, о чем упустил сказать раньше. Для верстальной программы практически безразлично, насколько текст, находящийся в буфере, отформатирован. Все настройки форматирования текста мы назначаем опять же в самом приложении. Задачи форматирования — это переносы, выравнивание текста, шрифт и его размер. Все это мы увидим в опциях командных меню. Но она невозможна и без кое-каких других настроек.
Идем дальше. Жидкая строка получается в книге очень часто — чаще чем плотная. Это происходит от того обстоятельства, что программа, восприняв словарный язык русский, разбивая строки переносами, игнорирует иностранные слова. Именно длина этих непонятых программой слов и порождает жидкие строки: на всякий случай программа выбрасывает какое-нибудь длинное русское слово в следующую строку (хотя перенос ему вполне можно было назначить) или оставляет его на предыдущей. Тут вступает в силу опция назначения переноса. То есть мы можем назначить длинному русскому слову ручной перенос, и слово попадет частично на прошлую строку, таким образом ликвидировав ее «жидкость». Плотные же строки практически не могут родиться при работе верстальной программы без прилагаемых со стороны пользователя усилий, то есть по умолчанию. Плотная строка образуется, как правило, когда мы ее доводим до этого состояния своими действиями — например, стараясь убрать небольшой «хвостик» текста из последней строки абзаца. Или загоняя тире, выскочившее в начало строки (этого делать категорически нельзя!), в предыдущую строку...

Windows XP детище Microsoft
Введение в Microsoft Publisher 2002 XP
Докер Расширенного Поиска
Microsoft Publisher: основы верстки

Выбираем градиентную легкую заливку
Диалог Cell Diagonals
Практическая работа в Microsoft Publisher
Создали Текстовый Блок для передовицы
Средства Microsoft Office 2002 XP

Основы работы в ОС Linux

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

Семейство ОС типа UNIX
Файлы и их имена
Установка программы Midnight Commander
Драйверы устройств

Несколько слов о форматах текстовых файлов
Необходимые сведения о протоколах Интернета
Что такое ядро и когда его надо менять
Чудо техники
Основы термоядерной отладки с linice

Установка Linux Red Hat 7.1

Добро пожаловать в мир Linux, который обрел известность как одна из немногих альтернатив операционным системам Microsoft для недорогих настольных персональных компьютеров, а в последнее время еще и как пример того, чего может добиться группа целеустремленных людей даже при отсутствии каких-либо материальных стимулов.
Linux - эффективная и быстрая бесплатная операционная система, которая реализует все возможности Unix (требующей дорогих серверов и рабочих станций) на вполне доступном по цене оборудовании, обычном для домашнего использования. Появление Linux привело к небольшой революции в компьютерном мире, после которой бесплатное программное обеспечение начало применяться для решения множества задач - от построения узлов Web, до реализации инфраструктуры корпоративных информационных систем и обучающих программ. Этот сайт является введением в установку и эксплуатацию Linux Red Hat 7.1 - распространенной версии Linux, ориентированной на использование в качестве сервера, а также рабочей станции и операционной системы обычного настольного компьютера. Для полного описания любой операционной системы с таким широким набором средств одного сайта недостаточно. Тем не менее, этот ресурс предоставляет основательные знания по Linux (в частности, Red Hat). А продолжить свое образование вы сможете уже в процессе практической работы.

Введение
Что такое LINUX?
Bыбор дистрибутива
Подготовка к установке Linux Red Нат 7.1
Установка Linux Red Нат 7.1
Особые варианты установки

Обзор X WIndows
Установка и конфигурирование X Windоws
Работа С Gnome И Х Windows
Работа с программами в Gnome и X Windows
Дополнительное конфигурирование Gnome
КDЕ
Дополнительная конфигурация X Windows
Введение в систему команд Linux

Работа с файлами
Конфигурирование системы средствами Linuxconf и панели управления
Введение в оболочки
Общее администрирование системы
Использование периферийных устройств
Средства мультимедиа в Linux

Рекомпиляция ядра Linux
Работа в сетях Linux. Основы TCP/IP
Соединение Linux с Internet
Использование World wide wев
Просмотр Е-mail
Работа с факсом в Linux
Использование Linux в Soho
Инсталляция LINUX RED HAT 7.1 для SOHO

Конфигурирование LINUX RED HAT 7.1 для сети ETHERNET
Работа LINUX REDHAT7.1 в сетях WINDOWS И NOVELL
LINUX RED HAT 7.1 И DOS/WINDOWS
Безопасность и LINUX RED HAT 7.1 как эффективный маршрутизатор
Построение собственного WEB-сервера.
LINUX RED HAT 7.1 как почтовый сервер: мощь SENDMAIL

LINUX во всем мире (не англоязычные дистрибутивы).
Информационные источники LINUX
Обзор команд LINUX
GNU - общественная лицензия общего вида
LINUX на платформе, отличной от INTEL

Самоучитель по Linux Red Hat 7.1

Linux - на самом деле явление необычное, свидетельствующее о том, что качественное программное обеспечение может появляться и без финансового благословения коммерческих предприятий. История Linux показывает, что некоммерческое программное обеспечение может развиваться, расти и составлять привлекательную альтернативу широко известным коммерческим пакетам.
Техническое совершенство Linux свидетельствует о том, что это серьезный соперник операционных систем, поставляемых Microsoft, Novell или IBM. Учитывая способность этой системы управлять и более сложными приложениями, можно рассматривать ее как серьезного соперника -таких популярных систем линии Unix, как Solaris, HP-UX и SCO-Unix.

История Linux
Linux как операционная система
Многопользовательская операционная система
Linux как бесплатное программное обеспечение

Перемещение нескольких файлов
Необходим ли Motif?
Сетевой адаптер
Установка с диска CD-ROM
Разбивка диска

Самоучитель по RedHatLinux

Для тех, кто вполне удовлетворен системой Windows или Mac OS и не упражнялся с командной строкой DOS, следует с ней ознакомиться, прежде чем погрузиться в мир Linux, где командная строка занимает весьма значительное место.
Что касается опытных пользователей Windows, то они вполне готовы к превращению в столь же опытных пользователей Linux. Книга может служить не только введением в Linux, но и пособием для тех, кто намерен основательно заняться изучением этой системы. В ней найдется немало полезных сведений для владельцев SOHO (Small Office/Home Office - небольшой или домашний офис) и менеджеров небольших сетей. Читатель научится использовать Linux для решения различных задач в условиях собственного офиса, заставляя его работать в качестве файл-сервера. cервера Web для intranet или маршрутизатора.

История Linux
Установка Linux Red Hat 7.1

Установка и конфигурирование X Windows
История проекта KDE
Работа с файлами
Управление пользователями
Рекомпиляция ядра Linux

Просмотр E-mail
Работа Linux Red Hat 7.1 в сетях Windows и Novell
Построение собственного Web-сервера
Linux во всем мире (неанглоязычные дистрибутивы)

Ядро Linux в комментариях

Книга Ядро Linux в комментариях представляет наиболее детализированные и емкие комментарии кода ядра Linux, которые окажутся полезными для многих программистов и студентов. Автор подробно исследует код ядра, предоставляя обширные комментарии для наиболее важных функций, системных вызовов и структур данных.
Основным источником вдохновения, побудившим написать эту и другие книги серии «... в комментариях» послужила популярная книга «Lions' Commentary on Unix», написанная Джоном Лайонсом (John Lions). Эта книга, прочитанная и размноженная бесчисленным множеством студентов, посвящена подробному анализу внутренней работы ранней версии операционной системы Unix от AT&T.
Книга Ядро Linux в комментариях также обеспечивает анализ всех особенностей внутренней структуры и функционирования одной из самых мощных и популярных операционных систем.

Краткая история создания Linux и Unix
Системные вызовы
Процессы и потоки

Память
Межпроцессное взаимодействие по принципу System V
Симметричная мультипроцессорная обработка

Модули ядра Linux

ADSM - это сетевая система резервного копирования, продаваемая фирмой IBM и используемая многими организациями. Существует большой набор клиентских программ ADSM для различных систем (UNIX-системы, Windows, Novell, Mac, Windows NT). К сожалению, в настоящее время специальной Linux-версии не существует.
Вам придется использовать клиентскую программу для SCO и установить iBCS2-эмулятор для запуска ADSM. В этом документе описывается ADSM v2r1.

Редактирование и переименование системных файлов DOS 6.x.
Зацикленная корневая файловая система
Как приобрести mail2news
Очередь почты в Linux
Модули ядра Linux
Установка операционных систем

Настройка процесса загрузки Х терминала NCD
Некоторые подробности об утилитах AX.25
Где взять Leafnode?
Корневой NFS
Корневые файловые системы NFS клиентов на сервере
Работа с почтой в Linux в автономном режиме

Восстановление разделов

Unix - статьи

Демонами в мире Unix традиционно называются процессы, которые не взаимодействуют с пользователем напрямую. У процесса-демона нет управляющего терминала и нет, соответственно, пользовательского интерфейса. Для управления демонами приходится использовать другие программы. Само название «демоны» возникло благодаря тому, что многие процессы этого типа большую часть времени проводят в ожидании какого-то события. Когда это событие наступает, демон активизируется (выпрыгивает, как чертик из табакерки), выполняет свою работу и снова засыпает в ожидании события. Следует отметить, что многие демоны, такие как, например, Web-сервер или сервер баз данных, могут отбирать на себя практически все процессорное время и другие ресурсы системы. Такие демоны гораздо больше работают, чем спят.

Демоны
Linux API – Введение в межпроцессное взаимодействие
Linux API – работаем с файловой системой
Процессы и потоки

Сигналы
Сокеты
Объекты SVID IPC
Потоки
Средства синхронизации потоков

Unix Man (Справочное руководство)

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

A.OUT(5)
BACKUP(1)
HYPOT(3M)
CURSES(3X)

DAEMON.MN(7)
ECHO(1)
GETPWENT(3C)
GAMMA(3M)
H2PH(1)

ID(1)
BESSEL(3M)
KBMODE(ADM)
L3TOL(3C)
M4(1)
NAP(3)

Введение в Unix

Ядро - управление основными ресурсами (процессор, оперативная память) и периферийными устройствами обмена и хранения данных (магнитные диски, магнитные ленты, принтеры, терминалы, линии связи и т.д.).
Файловая система (ФС) организует структуры данных на устройствах хранения.
Shell - командный интерпретатор: слушает ваш терминал и транслирует вашу команду в запрос к ядру и ФС.

Главные части UNIX
Оператор while
Соединение команд каналами

Основы операционной системы UNIX

Этот краткий (предположительно, 16 часов, из которых 6 - практические занятия) вводный курс предназначен для ознакомления с архитектурой, особенностями и основными средствами ОС UNIX. При успешном освоении, курс позволит свободно и продуктивно работать в ОС UNIX в качестве пользователя и продолжить изучение администрирования или программирования этой операционной системы.
Изложение ведется, в основном, без привязки к особенностям какой-либо версии UNIX, но при необходимости конкретизации, она делается для систем SVR4, в частности, ОС Solaris 8.
В последней версии (1.2, 11 марта 2004 года) обновлена хронология основных событий в истории ОС UNIX.

Современные версии ОС UNIX
Получение информации о процессах

Операционная система UNIX. Руководство пользователя

Система UNIX имеет 4 основных компонента:
ядро - это программа, которая образует ядро операционной системы; она координирует внутренние функции компьютера ( такие как размещение системных ресурсов). Ядро работает невидимо для вас; shell - это программа, которая осуществляет связь между вами и ядром, интерпретируя и выполняя ваши команды. Так как она читает ваш ввод и посылает вам сообщения, то описывается как интерактивная; commands - это имена программ, которые компьютер должен выполнить. Пакеты программ называются инструментальными средствами. Система UNIX обеспечивает инструментальными средствами для таких заданий как создание и изменение текста, написание программ, развитие инструментария программного обеспечения, обмен информацией с другими посредством компьютера; file system - файловая система - это набор всех файлов, возможных для вашего компьютера. Она помогает вам легко сохранять и отыскивать информацию.

Основные функции и компоненты системы UNIX
Основные сведения для пользователей Unix
Что такое FACE?
Вызов редактора

Начальные установки
Shell - интерпретатор командного языка
Awk - язык сканирования и обработки текста

Руководство по администрированию UNIX System V

Руководство по администрированию систем AT&T UNIX System V Release 4.0 Version 1.0, разработана для оказания помощи в администрировании системы, основанной на системе 386 и выполняемой в среде UNIX System V Release 4.0. Предполагается, что вы уже знакомы с другими системами UNIX. Задачи администрирования системы показаны с помощью команд sheel и меню sysadm, представленных в пакете прикладных программ "Operations, Administration and Maintenance" (OA&M). Пакет OA&M не является частью основной системы; вам следует инсталировать его, чтобы обеспечить доступ к интерфейсу.
Данное руководство необходимо использовать после того, как программные средства будут установлены в соответствии с указаниями Руководства по инсталяции систем AT&T UNIX System V Release 4.0 Version 1.0. Инструкции по инсталяции и инициализации расширенных прикладных программ включены в документацию, сопровождающую расширенный продукт.

Что такое администрирование системы в процессоре 386?
Управление средством доступа к сервису (SAF)
Сетевой сервис
Управление классами родственных принтеров
Добавление и изменение информации пользователя

Обзор работы с запоминающими устройствами
Резервирование и восстановление файлов
Управление жестким диском

Администрирование ОС Solaris

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

Оценка необходимого размера оперативной памяти
Настройка серверов и клиентов NIS
Протокол PPP

Введение в системное администрирование UNIX. Solaris 2.5

Если вам в руки попалась свежеустановленная машина, то на ней еще не зарегистрировано никаких пользователей за исключением суперпользователя "root" - системного администратора. Пароля у него нет. Входите в него.
В суперпользователя можно превратиться. Для этого выполните команду su # Super User
Каждый пользователь в системе Unix предварительно должен быть зарегистрирован. Пользователю полагается иметь: имя, пароль, номер пользователя, номер группы, к которой он принадлежит, домашний каталог, командный интерпретатор. У пароля могут быть дополнительные параметры - как часто его можно менять, время действия, и прочие секретные штучки.

Конфигурирование automount-демона
Утилита системного администратора ADMINTOOL
Мобильная опер. система
Rm - удалить файл или директорию

Организация UNIX-систем и ОС Solaris

Первая версия многозадачной многопользовательской системы UNIX была разработана в 1969 году сотрудниками подразделения Bell Labs фирмы AT&T Деннисом Ритчи (Dennis Ritchie) и Кеном Томпсоном (Ken Thompson). Она была написана на ассемблере для компьютера PDP-7. К лету 1972 года систему переписали на язык высокого уровня С, что позволяло перенести ее на любую аппаратную платформу. Создатели UNIX впервые предложили операционную систему, полностью написанную на языке высокого уровня.
Первым компьютером, которым управляла новая версия системы, стал компьютер PDP-11 компании Digital Equipment Corporation (DEC). Несколько десятилетий спустя DEC была переименована в Digital, затем поглощена компанией Compaq, которая, в свою очередь, слилась с Hewlett-Packard.
В начале 70-х годов XX века выпускники Университета в Беркли (University of California-Berkeley), вдохновленные новыми идеями UNIX, начали работу над собственной версией UNIX.
В 1977 году вышла первая версия Berkeley Software Distribution - известная университетская версия UNIX. Так как эта система была основана на коде AT&T, для ее использования была необходима лицензия AT&T. Разработчики BSD, подстегиваемые ростом цен на лицензии, полностью переписали исходный код системы к 1991 году.

Включение и выключение компьютера
Файлы устройств Solaris
Руководство по Solaris

Cамоучитель по Web-разработке на Macromedia Studio MX

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

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

Планирование внешнего вида страниц
Планирование узла
Цифровое видео и Flash MX
Создание штриховой графики для Web
Работа с текстом
Создание динамических Web-узлов
Анимация в Web

Создание Web-страниц с помощью Flash
Создание анимации для Web-узла JCT
Создание элементов навигации
Этапы
Создание динамических страниц в Dreamweaver MX

Связь с ColdFusion MX
Оптимизация рисунков и пакет Studio MX
Оптимизация узла и программ
Избавляемся от ошибок и выпускаем Web-узел в свет

Web разработка с Macromedia Studio MX

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

Определение узла
Использование средств управления
Использование Sitespring для руководства
Планирование узла JCT
Определение каркасной модели
Планирование данных

Шрифты
Создание прототипа во FreeHand
Цветовая коррекция в Fireworks
Обзор цифрового видео
Типы графических файлов

Специальные эффекты в Studio

Видеоэффекты, доступные в программе Studio, можно разделить на две категории: «лечебные», которые помогают устранить проблемы с видеоматериалом, и художественные, которые модифицируют или каким-то образом украшают видео. «Лечебные» фильтры позволяют изменить яркость и цветность, в то время как художественные помогают сделать фильм черно-белым или, к примеру, создать эффект замедленной либо ускоренной съемки.
Список видеоэффектов Studio также включает фильтр «стробоскоп», прекрасно подходящий для того, чтобы воссоздать облик Тони Манеро из фильма «Лихорадка в субботнюю ночь». У кого-нибудь есть белый костюм?
С какой бы тщательностью вы ни снимали видеофильм, наверняка в исходном материале обнаружатся какие-нибудь ошибки. В частности, такие ошибки я допустил в видеофильме о зоопарке. Я проводил съемку при помощи цифровой видеокамеры, которую надо было постоянно настраивать в зависимости от освещения -в помещении или на открытом воздухе освещенность разная. Даже при съемках под открытым небом ее постоянно приходилось менять - солнце то и дело скрывалось за облаками и выглядывало вновь.
Как я понял позже, прогулка по зоопарку с ребенком, когда его приходится постоянно откуда-нибудь вылавливать, вовсе не способствует аккуратной съемке, в том числе установке нужного баланса белого. В результате часть кадров получилась с голубоватым отливом, а часть - совершенно темные. При работе с аналоговой камерой Studio дает возможность настроить цветность и яркость видео уже в процессе видеозахвата. Если же ваше видео сохранено в формате DV, единственным решением проблемы будет его обработка в Окне Фильма

Работа со звуком
DVD-авторинг
Запись на ленту
Комбинации клавиш

Уроки по 3D Studio MAX. Различные эффекты

Для того чтобы повторить мрачность, присущую подводным фотографиям, необходимо создать условия окружающей среды, которые бы имитировали поглащение света и ухудшение видимости, характерные для подводной массы. В 3DS MAX этого можно добиться с помощью компонента Fog редактора Environment Editor.

Подводные эффекты

3D Studio MAX для начинающего

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

Запустили. Что дальше?

SAWStudio — виртуальная студия нового поколения

Итак, мы начнем рассмотрение программы SAWStudio (версия 2.4), разработанной фирмой Innovative Quality Software. Этот продукт является продолжением линейки продуктов SAW (Software Audio Workshop). В книге ""Живая'' музыка на PC" мы представили читателям программу SAWPro с точки зрения ее удобства для записи "живого" исполнителя, операций сведения и мастеринга.
Программа SAWStudio — не очередной релиз серии SAW, она существенно отличается от предыдущих продуктов данной серии в лучшую сторону. В ней полностью и на новом уровне реализована концепция виртуальной студии, совмещены программно реализованные аналоги двух дорогостоящих аппаратных устройств: виртуального микшера (консоли) и мультитрекового (многодорожечного) цифрового магнитофона.
Помимо этих достижений, в программе SAWStudio получила дальнейшее развитие идея автоматизации, благодаря которой пользователи смогут записывать изменения параметров настройки виртуальной консоли и параметров виртуальных процессоров обработки звука (studio plug-ins). SAWStudio поддерживает plug-ins трех стандартов: DirectX, VST и Studio Native (внутренний стандарт). На сегодняшний день она выпускается в двух версиях: SAWStudio и SAWStudio Lite. Помимо перечисленных достоинств программы SAWStudio существует и много других, на которых мы остановимся позже.
Главное отличие этой программы от ей подобных заключается в том, что она представляет собой сплав новых достижений: во-первых, виртуальную технологию микширования, разработанную фирмой IQS, и во-вторых, высокоскоростной 24-битный "движок" (hard disk engine), обеспечивающий беспрецедентное быстродействие при работе с жестким диском. Такое новое и сильное технологическое решение позволяет превратить ваш PC в настоящую цифровую рабочую станцию (Digital Audio Workstation — DAW), предназначенную для цифровой многоканальной звукозаписи. Помимо этого, SAWStudio специально спроектирована для работы под управлением операционной системы (ОС) Windows 2000 (NT) и поддерживает двухпроцессорные конфигурации компьютеров, что также повышает ее эффективность.
Основной операционной системой (ОС) для построения DAW на PC следует считать Windows 2000, а также дальнейшие релизы операционных систем Microsoft, базирующиеся на ядре NT (например, Windows XP).
Но, к сожалению, рабочая станция DAW, использующая виртуальные технологии, тоже имеет свои недостатки. Ее проблемной зоной является производительность системы. Но этот недостаток можно исправить: использование двухпроцессорных конфигураций позволяет распределить задачи между процессорами и тем самым увеличить производительность — например, в том случае, если ресурсы одного из процессоров отдать под цифровую обработку звука. Для того чтобы правильно оценить преимущества двухпроцессорной конфигурации, рассмотрим пример из мира мультимедиа.

SAWStudio — виртуальная студия нового поколения
Свойства виртуального объекта
Nuendo — виртуальная лаборатория звука
Окно Set Project Folder
Панель VST Channel Settings

Параллельное программирование

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

Реализация языка логического программирования ПРОЛОГ на ВС SPMD-архитектуры
Принцип работы БД с циркулирующей информацией
Параллельное решение задач НП при линейных ограничениях
Схема организации параллельного процесса
Параллельная обработка данных

База знаний предприятий
Структуры и алгоритмы обработки данных

CVS. Система управления параллельными версиями

CVS - это система контроля версий. Используя ее, вы можете вести историю ваших файлов с исходными текстами.
Например, иногда при определенном изменении в коде могут появиться ошибки, которые вы не сможете обнаружить в течение длительного времени. С помощью CVS вы легко можете обратиться к старым версиям, чтобы точно выяснить, что именно привело к ошибке. Иногда это сильно помогает.
Конечно, вы можете хранить каждую версию каждого файла, которые вы создаете. Это будет стоить вам невероятного объема дискового пространства. CVS хранит все версии файла в одном файле таким образом, что запоминаются лишь изменения между версиями.
CVS также поможет, если вы являетесь членом группы разработчиков одного проекта. Очень легко попортить чужие изменения, если только вы не крайне аккуратны. Некоторые редакторы, такие как GNU Emacs, стараются проследить, чтобы два человека не изменяли одновременно один и тот же файл. К сожалению, если кто-то использует другой редактор, эта предосторожность не сработает. CVS решает эту проблему, изолируя разработчиков друг от друга. Каждый работает в своем собственном каталоге, а затем CVS объединяет законченные работы.

Что такое CVS?
Использование клиента с парольной аутентификацией
Многократное слияние из ветки
Проверка журнальных записей

Абстрактные типы данных (АТД)

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

Различные реализации

Основы многопоточного и распределенного программирования

Параллельное программирование возникло в 1962 г. с изобретением каналов — независи­мых аппаратных контроллеров, позволявших центральному процессору выполнять новую прикладную программу одновременно с операциями ввода-вывода других (приос­тановленных) программ. Параллельное программирование (слово параллельное в данном слу­чае означает "происходящее одновременно"') первоначально было уделом разработчиков операционных систем. В конце 60-х годов были созданы многопроцессорные машины. В ре­зультате не только были поставлены новые задачи разработчикам операционных систем, но и появились новые возможности у прикладных программистов.
Первой важной задачей параллельного программирования стало решение проблемы так называемой критической секции. Эта и сопутствующие ей задачи ("обедающих философов", "читателей и писателей" и т.д.) привели к появлению в 60-е годы огромного числа научных работ. Для решения данной проблемы и упрощения работы программиста были разработаны такие элементы синхронизации, как семафоры и мониторы. К середине 70-х годов стало яс­но, что для преодоления сложности, присущей параллельным программам, необходимо ис­пользовать формальные методы.

Обзор области параллельных вычислений
Семафоры
Нотация совместно используемых примитивов
Матричные вычисления

Теория и практика параллельных вычислений

Применение параллельных вычислительных систем (ПВС) является стратегическим направлением развития вычислительной техники. Это обстоятельство вызвано не только принципиальным ограничением максимально возможного быстродействия обычных последовательных ЭВМ, но и практически постоянным наличием вычислительных задач, для решения которых возможностей существующих средств вычислительной техники всегда оказывается недостаточно. Так, проблемы "большого вызова" возможностям современной науки и техники: моделирование климата, генная инженерия, проектирование интегральных схем, анализ загрязнения окружающей среды, создание лекарственных препаратов и др. - требуют для своего анализа ЭВМ с производительностью более 1000 миллиардов операций с плавающей запятой в секунду (1 TFlops).

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

Создание серверных приложений на языке PERL

Прежде чем приступить к последовательному ознакомлению с не знакомым для вас языком, должен оговориться и сказать, что все примеры да и сам язык описанию которого посвящена эта книга это Perl версии 5.003 для операционной системы FreeBSD версии 2.01. Существуют реализации этого языка для операционных систем OS/2 , MS-DOS и Windows NT но они немного отстают по возможностям от оригинала, рожденного в недрах Unix.

Постраничный вывод новостей с разбиением по датам
Вывод хеша в порядке вставки с использованием Tie::IxHash
От простого к сложному
Массивы и списочные данные
Apache
Библиотеки и модули

Введение в анализ, синтез и моделирование систем

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

История, предмет, цели системного анализа
Описания, базовые структуры и этапы анализа систем
Математическое и компьютерное моделирование
Анализ альтернативных архитектур управления транзакциями в облачной среде
Анализ вклада Кодда в Великий Спор

Ландшафт области управления данными. Аналитический обзор
Новые возможности основных коммерческих SQL-ориентированных СУБД
Российская SQL-ориентированная СУБД Линтер

Объектно-ориентированные базы данных
Новые технологии для обработки потоковых и сенсорных данных
Программная среда для динамического анализа бинарного кода
Системы анализа защищенности
Подход к созданию трудноанализируемых шифров
Два подхода к крупномасштабному анализу данных
МОГучие способности новые приемы анализа больших данных

Техника оптимизации программ

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

Pro et contra целесообразности оптимизации
Удаление текста
Оптимизация штатных Си-функций для работы с памятью
Предвыборка в процессорах P-III и P-4

Техника оптимизации под линуха

Качество оптимизирующих компиляторов обычно оценивают по результатом комплексных тестов (мультимедийных, "общесистемных" или математических). Что именно оптимизируется и как — остается неясным. Основной "интеллект" оптимизаторов сосредоточен в высокоуровневом препроцессоре — своеобразном "ликвидаторе" наиболее очевидных программистских ошибок. Чем качественнее исходный код, тем хуже он поддается оптимизации. Только ведь… над качественным кодом _работать_ надо! Много знать и ожесточенно думать, ломая карандаши или вгрызаясь в клавиатуру. Кому-то это в радость, а кто-то предпочитает писать кое-как. Все равно, мол, компилятор, соптимизирует!
Желание перебросить часть работы на транслятор — вполне естественно и нормально (для творчества больше времени останется), но нужно заранее знать, что именно он оптимизирует, а что только пытается. Но как это можно узнать? На фоне полнейшей терминологической неразберихи, когда одни и те же приемы оптимизации в каждом случае называются по-разному, прячась за ничего не говорящими штаммами типа "copy propagation" (размножение копий) или "redundancy elimination" (устранение избыточности), требуется очень качественная документация на компилятор, но она — увы — обычно ограничивается тупым перечислением оптимизирующих ключей с краткой пометкой за что каждый из них отвечает. Какие копии размножает компилятор и с какой целью? Какую избыточность он устраняет и зачем? Не является ли размножение внесением избыточности, которую самому же оптимизатору и приходится удалять?!

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

Пособие по настройке и оптимизации компьютера

Традиционно принято оценивать производительность компьютеров по используемому процессору. Считается, что именно этот, бесспорно, важный элемент, определяет основные функциональные возможности современного персонального компьютера, его класс, стоимость, престиж. Процессоры 8086, 8088, 286, 386, 486, Pentium, Pentium MMX, Pentium Pro, Pentium II, Pentium III и Pentium 4 , а также семейство Celeron — вот основные вехи, отделяющие одно поколение компьютеров от других. Большое влияние на развитие компьютеров оказывают процессоры фирм AMD, VIA (Cyrix), IBM и ряда других фирм. Однако искушенные пользователи знают, что нельзя забывать и об остальных элементах современных компьютеров, предназначенных для решения широкого спектра задач, включая мультимедийные. К таким элементам относятся: жесткий диск, чипсет и материнская плата, 2О/ЗВ-видеоадаптер и монитор, CD- и DVD-ROM, звуковая карта, для компьютера в локальной сети — быстродействующая сетевая карта, для компьютера, подключенного к Internet, — высокоскоростной модем. Подобный список элементов можно продолжить. Размер его зависит от поставленных задач, определяющих требования к функциональным возможностям компьютера и его техническим параметрам.
При этом важнейшим параметром является, конечно, производительность компьютера. Производительность компьютера и его функциональные возможности в значительной степени зависят от параметров элементов, входящих в систему компьютера, а также от их совместной, согласованной работы. Мало выбрать компьютер и уточнить его состав. Необходимо компьютер еще и оптимально настроить, добиваясь максимальной производительности его элементов и наиболее полной реализации их функциональных возможностей. Кроме того, как сложное устройство, современный компьютер нуждается в определенном обслуживании и корректном использовании. Игнорирование этих требований может привести к тому, что компьютер, в состав которого входят современные дорогостоящие элементы, может уступать возможностям своих оптимально настроенных предшественников, текущая цена которых много ниже.

Настройка BIOS Setup
Оптимизация работы жестких дисков
Сжатие жестких дисков
Кэширование жестких и компакт-дисков

Оптимизация работы видеоподсистемы
Оптимизация работы оперативной памяти
Обновление BIOS материнской платы
Тестирование, мониторинг и диагностика
Локальная сеть в ОС Windows 98/МТ/2000/ХР
Форсированные режимы
Требования к разгоняемым элементам

Разгон процессоров
Разгон видеоадаптеров и жестких дисков
Пошаговая схема разгона
Тестирование разогнанных систем
Материнские платы и чипсеты форсированных режимов

Методы и средства охлаждения
Примеры и результаты разгона

Cамоучитель по настройке и оптимизации компьютера

Производительность компьютера и его функциональные возможности в значительной степени зависят от параметров элементов, входящих в систему компьютера, а также от их совместной, согласованной работы. Мало выбрать компьютер и уточнить его состав. Необходимо компьютер еще и оптимально настроить, добиваясь максимальной производительности его элементов и наиболее полной реализации их функциональных возможностей. Кроме того, как сложное устройство, современный компьютер нуждается в определенном обслуживании и корректном использовании. Игнорирование этих требований может привести к тому, что компьютер, в состав которого входят современные дорогостоящие элементы, может уступать возможностям своих оптимально настроенных предшественников, текущая цена которых много ниже.
Процедуру настройки подсистем компьютера целесообразно повторять в зависимости от изменения характера решаемых задач, а также после проведения соответствующих операций по аппаратной и программной модернизации. С помощью соответствующей настройки и выполнения некоторых утилит можно, до некоторой степени, компенсировать изменение параметров ряда элементов в процессе их длительной эксплуатации (ухудшение параметров вследствие естественной деградации элементов). Для повышения производительности полезно периодически обновлять драйверы устройств и их BIOS. А такие операции, как сканирование и дефрагментация жестких дисков, следует проводить вообще регулярно. Игнорирование данных операций приводит в лучшем случае к уменьшению скорости, в худшем — к потере данных. Необходимо также периодически следить за новостями, связанными с исправлением ошибок и обновлением операционных систем и офисных программ. А сжатие жестких дисков — сжатие информации с помощью различных программных средств типа DriveSpace и Agent? Сжатие может не только существенно увеличить доступную емкость, но при некоторых обстоятельствах увеличить и скорость считывания информации, а следовательно, и скорость работы большинства программ.

Настройка BIOS Setup
Форсированные режимы
Методы и средства охлаждения
Примеры и результаты разгона