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



   лудоспейс        

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

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

Простая формулировка философии системы UNIX
Еще о строках, столбцах и подпрограмме initscr( )
Управление семафорами
НЕОДНОЗНАЧНОСТИ И КОНФЛИКТЫ

Протоколы TCP-IP

Чтобы понимать сетевой обмен и круг вопросов, рассматриваемых в книге, важно представлять, что сетевые исследования и разработки прошли через три стадии развития До 1960 года, основным вопросом был "Как передавать биты по среде коммуникации эффективно и надежно?". Результаты включают разработку теории информации, теоремы Котельникова и других идей, которые в совокупности называют обработкой сигналов. От начала и до середины 60-х внимание было сконцентрировано на пакетной коммутации и основным вопросом стал: "Как передавать пакеты по среде коммуникации эффективно и надежно?" . Результатами этого этапа стали разработка технологий пакетной коммутации, локальных вычислительных сетей и статистический анализ времени передачи пакетов по сети в зависимости от загрузки. Приблизительно с середины 70-х и до нынешнего времени самым главным направлением стали сетевые архитектуры и вопрос "Как обеспечить средства взаимодействия взаимосвязанных сетей?". Результатами последнего этапа стала разработка технологий межсетевого обмена, многоуровневых моделей протоколов, дейтаграммных и потоковых транспортных средств и парадигмы взаимодействия клиент-сервер.

Введение
Необходимость Интернета
Два подхода к сетевому взаимодействию
Взаимодействие на прикладном уровне
Универсальные идентификаторы
Проблема разрешения адресов
Протокол обратного разрешения адресов(RARP)
Виртуальная сеть
Маршрутизация в Интернете
Межсетевой протокол управляющих сообщений
Необходимость нескольких протоколов
Определение окончательного места назначения

Ipsysctl tutorial 1.0.4

Этот документ предназначен для всех, кто стремится расширить свои познания как операционной системы Linux в целом, так и TCP/IP в частности. Для понимания этого документа вы должны обладать хорошими знаниями о TCP/IP, вы должны знать -- что такое заголовок пакета и из каких частей он состоит. Вам так же понадобится понимание принципов маршрутизации и основы построения сетей на базе TCP/IP.
Этот документ не предназначен для новичков в Linux, но едва ли это будет серьезным ограничением, если вы испытываете определенные потребности в изучении приводимого здесь материала. Одно лишь замечание -- перед внесением изменений в настройки убедитесь на 100% в том, что достаточно четко представляете себе, что именно вы делаете, поскольку некоторые изменения могут привести к весьма неожиданным результатам.
Этот документ рекомендуется всем, кто интересуется компьютерами и компьютерными сетями. Здесь вы найдете основые сведения о различных переменных, доступных через интерфейс ipsysctl, это поможет вам продвинуться вперед в понимании того, для чего предназначена каждая из них.

Предисловие
Я приступил к работе над этим документом в надежде на то, что он поможет вам понять настройки IP (от англ. Internet Protocol -- Межсетевой Протокол, прим. перев), предоставляемые ядром Linux 2.4. Этим руководством я надеюсь дать необходимые знания, которые помогут вам изменять настройки ядра "на лету". Часть настроек может быть использована для увеличения производительности, а так же для повышения уровня безопасности. В этом документе не будут обсуждаться все возможности, которые заключает в себе механизм управления системой -- sysctl, здесь мы сосредоточим все свое внимание на управлении сетевой подсистемой.

Виртуальные файловые системы
Файловая система /proc -- это виртуальная файловая система, которой не существует в действительности, иначе как в "голове" ядра. Файловая системв /proc -- это особенность ядра Linux. Она может присутствовать и в других операционных системах, но с иной функциональностью и другим предназначением.

Виртуальные файловые системы
Файловая система /proc
Краткое описание файловой системы /proc
Краткое описание файловой системы /proc - 2

Как произвести запись в переменные
Информация в переменные ipsysctl может заноситься двумя способами, которые обусловливают два совершенно различных метода. Первый из них -- с помощью команды sysctl, которая имеется в большинстве современных дистрибутивов. Второй способ -- посредством файловой системы /proc, которая должна иметься в любом дистрибутиве Linux, в котором ядро собрано с поддержкой этой файловой системы.

С помощью sysctl
С помощью файловой системы /proc

Переменные IPv4
В этой главе будут рассмотрены все переменные IPv4, которые доступны через интерфейс sysctl или /proc. Здесь вы найдете описание каждой переменной, за что она отвечает, значение по-умолчанию и, если это возможно, набор допустимых значений. Мы не будем углубляться в дискуссию -- почему та или иная переменная должна быть изменена, если на это не будет особых причин. Структура этой главы отражает структуру каталога ipv4

Переменные IP
Ip_default_ttl
Ip_dynaddr
Ip_forward
Ip_local_port_range
Ip_no_pmtu_disc
Ip_nonlocal_bind
Ipfrag_high_thresh
Ipfrag_low_thresh
Ipfrag_time

Тики
"Тики" -- это отрезки времени, используемые ядром Linux. Это понятие базируется на константе HZ, определение которой вы найдете в /usr/include/asm/param.h. Величина этой константы различна для разных аппаратных платформ. Так например, для архитектуры i386 один "тик" равен 1/100 секунды, а для платформа Alpha -- 1/1024 секунды. Полный список соответствий аппаратных платформ и количество "тиков", укладывающихся в 1 секунду, приведен ниже.

Приложение B. Ссылки
Приложение C. Хронология
Приложение D. GNU Free Documentation License
PREAMBLE
APPLICABILITY AND DEFINITIONS
VERBATIM COPYING
COPYING IN QUANTITY
MODIFICATIONS
MODIFICATIONS - 2
COMBINING DOCUMENTS

Введение в IP сети

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

Продолжение


Программирование стратегических игр с DirectX 9.0
Манн Генрих - Голова
Максимов Захар - Остров Его Величества
Предтечи кибернетики в древней Индии
Операционная система UNIX. Руководство программиста
Практическая вибродиагностика и мониторинг состояния оборудования
Математический анализ в Maple
Научно-технические задачи в Maple
Мамлеев Юрий - Блуждающее Время
Март Михаил - Бездомный Мрак
Мартин Стив - Завершенность
Энциклопедия машиностроения - Материалы
Пособие по практике программирования
Энциклопедия компьютерных вирусов
Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT
Система MathCAD Plus 6.0 Pro
Основы работы с системой MathCAD 7.0
Современные технологии создания программного обеспечения
Микроконтроллеры
Иллюстрированный самоучитель по Matlab