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

       

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

В 1983 году Кен Томпсон и Деннис Ритчи были удостоены Премии Тьюринга Ассоциации Пользователей Вычислительных Машин (ACM) за разработку операционной системы UNIX. В аннотации, в частности, говорилось:
Успех системы UNIX основывается на удачном выборе нескольких ключевых идей и их элегантной реализации. Благодаря системе UNIX появилось поколение разработчиков программного обеспечения с новой идеологией программирования, основой которой является многократное использование имеющихся программ.
Должны ли программисты, использующие ОС UNIX, интересоваться тем, что делали Томпсон и Ритчи? Имеет ли это сегодня какой-либо смысл? Это необходимо, поскольку понимание идеологии, заложенной в проект системы, а также знание атмосферы, в которой проходила ее реализация, способствует наиболее быстрому ее освоению.

Простая формулировка философии системы UNIX
Еще о строках, столбцах и подпрограмме initscr( )
Управление семафорами
Неоднозначности и конфликты

Организация 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 году.

Какую систему лучше установить?
Включение и выключение компьютера
Cпособы установки
Отличия установки Solaris на компьютеры SPARC

Файлы устройств Solaris
Оптимизация размеров разделов
Замечание о совместимости утилит
Руководство по Solaris

Запуск и останов: различия между Solaris и другими UNIX
Семейство командных процессоров

Раздел - Трейдинг

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

Время
Дисциплина
Индикаторы
Информация
Мастера торговли

Метод Монте Карло
Обучение
Ошибки
План
Правила

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

Советы
Социальный
Стратегия
Теория
Управление

Беттинг без проблем
Электронный
Интернет трейдинг

Электричество

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

Электричество - Друг и Враг
Понятия и определения, условные обозначения
Ознакомление с мультиметром
Электрические помощники в доме,на даче и в хозяйстве
Резисторы

Ознакомление с осциллографом
Как "оживить" электрических помощников
Токи короткого замыкания
Системы с изолированной и заземленной нейтралью источника
Учет и экономия электроэнегии

Коммутатор нагрузки

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

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

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

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

Введение в язык Си++

C++ - универсальный язык программирования, задуманный так, чтобы сделать программирование более приятным для серьезного программиста. За исключением второстепенных деталей C++ является надмножеством языка программирования C. Помимо возможностей, которые дает C, C++ предоставляет гибкие и эффективные средства определения новых типов. Используя определения новых типов, точно отвечающих концепциям приложения, программист может разделять разрабатываемую программу на легко поддающиеся контролю части. Такой метод построения программ часто называют абстракцией данных. Информация о типах содержится в некоторых объектах типов, определенных пользователем. Такие объекты просты и надежны в использовании в тех ситуациях, когда их тип нельзя установить на стадии компиляции. Программирование с применением таких объектов часто называют объектно-ориентированным. При правильном использовании этот метод дает более короткие, проще понимаемые и легче контролируемые программы.
Ключевым понятием C++ является класс. Класс - это тип, определяемый пользователем. Классы обеспечивают скрытие данных, гарантированную инициализацию данных, неявное преобразование типов для типов, определенных пользователем, динамическое задание типа, контролируемое пользователем управление памятью и механизмы перегрузки операций. C++ предоставляет гораздо лучшие, чем в C, средства выражения модульности программы и проверки типов. В языке есть также усовершенствования, не связанные непосредственно с классами, включающие в себя символические константы, inline- подстановку функций, параметры функции по умолчанию, перегруженные имена функций, операции управления свободной памятью и ссылочный тип. В C++ сохранены возможности языка C по работе с основными объектами аппаратного обеспечения (биты, байты, слова, адреса и т.п.). Это позволяет весьма эффективно реализовывать типы, определяемые пользователем. C++ и его стандартные библиотеки спроектированы так, чтобы обеспечивать переносимость. Имеющаяся на текущий момент реализация языка будет идти в большинстве систем, поддерживающих C. Из C++ программ можно использовать C библиотеки, и с C++ можно использовать большую часть инструментальных средств, поддерживающих программирование на C.

Размышления о программировании на C++
Вложенные Классы
Видимость имен членов
Побитовые логические операции
Свободная память
Создание вашей первой программы

Уменьшение количества операторов
Оператор else
Следите за ошибками переполнения

Самоучитель по Pogramming Sistem Security

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

Введение
Что такое драйвер
Общая архитектура Windows NT
Подключение фильтра к устройству

Сетевая архитектура Windows NT
Общие вопросы обеспечения безопасности в операционной среде Windows NT/2000

Гидравлика. Конспект лекций

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

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

Модель бизнес-процессов – eTOM – Oracle

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

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

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

Это - общие для всех Телеком-предприятий задачи, которые воплощены в повседневные бизнес-процессы управления. Отметим, что многие бизнес-процессы характерны и существуют для многих-многих других отраслей бизнеса. Но Телеком в лице TeleManagement Forum (TMF), объединяющего около 400 компаний по всему миру, в том числе, и операторов связи, в данном случае оказался одним из первых, возведя в ранг международного стандарта модель еТОМ.

Телеком – модель бизнес-процессов – eTOM – Oracle
Как «засекретить» строки в таблице
Oracle_trace - лучшее встроенное средство диагностики?
Сколько стоит update?
В версии Oracle10 «виртуальные частные базы данных» данных стали избирательнее
Электронный бумажник Oracle
Бумажник Oracle Wallet: использование для связи по защищенным каналам
XML DB - новое измерение в организации данных в Oracle
Как зарегистрировать схему XML в XML DB и как этим воспользоваться
XMLTYPE – тип XML

Тестирование софта - статьи

Очень часто при разработке программного обеспечения приходится сталкиваться с одной из двух проблем. Либо качество разработанного продукта много ниже самых минимальных разумных требований, либо затраты на тестирование превосходят все разумные пределы. К сожалению, бывает и так, что обе проблемы существуют одновременно. И денег на тестирование истрачено много, а качества достичь так и не удалось.
Увы, для большинства фирм низкое качество выпускаемого ПО — верный путь если не к полному исчезновению фирмы, то, по крайней мере, к потере клиентов и существенным финансовым потерям.
Кому нужно не оттестированное ПО, которое может подвести в любой самый неподходящий момент!
Одной из причин такой ситуации является объективная сложность процесса тестирования ПО. Ведь под словом Тестирование может скрываться множество самых различных действий, направленных на решение множества разнообразных задач. Тут и запуск и исполнение программы с целью проверки отсутствия ошибок, и оценка производительности, и контроль наличия и полноты документации и даже качества принятых проектных решений.

Автоматизация процесса тестирования IBM Rational
Инструментальные средства поддержки процесса тестирования
Максимизация числа различных подслов

Функциональное тестирование Web-приложений на основе технологии UniTesK
Что такое PDL

Использование формальных методов для обеспечения соблюдения программных стандартов
Парное тестирование — возьмём от ХР лучшее
Краткий обзор технологии UniTesK
Верификация компиляторов - систематический подход

Обзор технологии AVM
Mодели аппаратного обеспечения

Информатика

Наиболее распространенным видом современной вычислительной техники стали персональные компьютеры IBM PC. По этим причинам в учебнике изучаются основные возможности наиболее современных программных средств персональных компьютеров IBM PC - операционной системы Windows, редактора текстов Word, электронных таблиц Excel, базы данных Access, а также телекоммуникационной системы Internet Explourer.
Представление информатики как научной дисциплины связано с рассмотрением проблем организации вычислений и обработки информации
с помощью ЭВМ и внутри ЭВМ, а также принципов организации и работы машинных интеллектуальных систем (систем искусственного интеллекта) на ЭВМ. Для изучения принципов работы систем искусственного интеллекта в учебнике используется язык Пролог - язык моделирования интеллектуальных процессов на ЭВМ.

Персональные компьютеры
Технология дистанционного обучения

Windows 2000 - работа системного реестра

Реестр становится необходимым уже на начальных этапах загрузки Windows NT/2000. Проблемы при загрузке могут быть вызваны, в том числе, и повреждением реестра. Например, многие пользователи Windows NT/2000 могли испытать шок, получив в процессе загрузки сообщение следующего вида:
Windows 2000 Could not start because the following file is missing or corrupt:
\WINNT\SYSTEM32\CONFIG\SYSTEM
You can attempt to repair this file by Starting Windows NT Setup using the original Setup floppy disk or CD-ROM. Select 'r' at the first screen to repair.
Появление такого сообщения свидетельствует об отсутствии или повреждении важной части реестра Windows NT/2000 — файла куста (hive) разделов реестра SYSTEM (речь о принципах хранения реестра пойдет далее в этой главе). Приведенный пример убедительно демонстрирует, что единственная ошибка в системном реестре может не только повлиять на всю конфигурацию, но и сделать невозможным запуск операционной системы. Помимо этого, добиться корректной работы некоторых приложений можно также лишь через редактирование реестра. Таким образом, важность навыка редактирования реестра нельзя недооценивать.
Непосредственное редактирование реестра, даже в тех случаях, когда оно необходимо, при неумелом выполнении может привести к большим неприятностям. Поэтому, если вы чувствуете себя неуверенно или просто не можете позволить себе затратить значительное время для проведения восстановительных работ, не ставьте смелых экспериментов над реестром своей операционной системы (будь то Windows NT 4.0 или Windows 2000). Вполне возможно, что единственная ошибка приведет к необходимости переустановки операционной системы.
Для выполнения задач по конфигурированию системы, по мере возможности, рекомендуется использовать административные утилиты, так как их применение всегда предпочтительнее непосредственного редактирования реестра. Этот метод намного безопаснее, поскольку административные средства не позволяют сохранять в реестре некорректные значения. Если в процессе редактирования реестра с помощью одного из редакторов реестра будет допущена ошибка, редактор сохранит некорректное значение, а вы не получите даже предупреждения, так как редакторы реестра не распознают и не исправляют такие ошибки.
Все современные операционные системы из семейства Windows — Windows 95/98, Windows NT 4.0 и Windows 2000 — имеют в своем составе утилиты, предназначенные для просмотра и редактирования реестра, так называемые редакторы реестра. В Windows NT/2000 существует два таких редактора. Традиционная программа редактирования реестра Windows NT носит название Regedt32.exe. Эта программа наследуется от предыдущих версий Windows NT и позволяет редактировать реестр Windows NT/2000 методами, которые не поддерживаются в Windows 95/98. Более новая программа, Regedit.exe, была первоначально написана для Windows 95. Она обладает многими из возможностей Regedt32.exe и снабжена интерфейсом Windows Explorer. Версия Regedit, которая имеется в составе Windows NT/2000, почти полностью идентична аналогичному приложению, имеющемуся в составе Windows 95/98.

Обзорная информация по реестру Windows NT/2000
"Синий экран" и Windows 2000
Изменение порядка служб доступа
Серверы DHCP, DNS и WINS
Управление качеством обслуживания

Коммуникационные службы
Введение в маршрутизацию
Microsoft Internet Explorer
Администрирование служб веб и FTP
Основные концепции службы Active Directory

Спецификация USB.Rev1.0

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

USB - программатор AVR,I2C (v.2.0)
USB - программатор PIC,I2C (v.2.0)
Taxonomy of Application Space Таксономия областей применения
Передача Сигналов Источника Данных (Data Source Signaling)
Требования Механизма Команды USBD
Настройка USB сим сканера
Изменение Конфигурации Устройства
Обработка ошибок
Поле Данных
Синхронизация Часов
Управление Шиной и Устройством
USB - статьи
Управление электропитанием: когда вы последний раз заходили в серверную
О лидерах рынка ИБП и новых концепциях
USB: вчера, сегодня и завтра

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

Простая и понятная нумерация версий Flash вдруг прервалась: очередная версия пакета получила условное наименование MX. Что обозначают сии буквы, можно только догадываться, поскольку даже в пресс-релизе компании Macromedia по этому поводу не сказано ни слова. По всей видимости, аббревиатура должна ассоциироваться у пользователей со словосочетанием Multiextended (дословно — «много расширенный»). А возможно, и с одним словом — Mixed (смешанный), поскольку разработчики Flash обращают внимание пользователей на то, что интерфейс (рабочая среда) пакета может быть настроен индивидуально для любой категории пользователей: дизайнеров, программистов, проектировщиков и т. д.

Общая схема создания Flash-фильмов
Поворот объекта
Анимирование маски

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

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

Структура вычислительной системы
Понятие процесса
Уровни планирования
Взаимодействующие процессы
Interleaving, race condition и взаимоисключения

Концепция семафоров
Условия возникновения тупиков
Физическая организация памяти компьютера
Понятие виртуальной памяти
Исключительные ситуации при работе с памятью

Имена файлов
Общая структура файловой системы
Физические принципы организации ввода-вывода
Для чего компьютеры объединяют в сети
Угрозы безопасности
Идентификация и аутентификация