ОС семейства Unix: linux, FreeBSD, NetBSD

Автор: Пользователь скрыл имя, 13 Марта 2012 в 03:34, реферат

Описание работы

История ОС UNIX началась в 1969 году в одном из подразделений AT&T Bell Laboratories, когда на "малоиспользуемой" машине DEC PDP-7 Кен Томпсон (Ken Thompson), Деннис Ричи (Dennis Ritchie) и другие (прежде занимавшиеся созданием ОС Multics) начали работу над операционной системой, названной ими первоначально Unics (UNiplexed Information and Computing System). В течение первых 10 лет развитие UNIX происходило, в основном, в Bell Labs. Соответствующие начальные версии назывались "Version n" (Vn) и предназначались для ЭВМ DEC PDP-11 (16-битовая) и VAX (32-битовая).

Содержание

Введение…………………………………………………………………………………………………..3

1.Общая структура и характеристики ОС Linux………………………………………..5

1.1Основы сетевого взаимодействия в ОС Linux……………………………6

1.2 Основные команды LINUX……………………………………………………..…7
1.3. Сетевые команды в ОС Linux……………………………………………………9

2.Что такое BSD?..........................................................................................14

3.Сравнение BSD и Linux…………………………………………………………………….……15

4.Версии BSD……………………………………………………………………………………….…..16

4.1.FreeBSD……………………………………………………………………………….……16

4.2.NetBSD………………………………………………………………………………………19

Работа содержит 1 файл

Рефератпо СТ.docx

— 64.35 Кб (Скачать)

$wget <url>

Вы так  же можете указать опции. Например, такая команда загрузит Slackware вэб  сайт:

$wget -recursive http://www.slackware.com

wget создаст  каталог www.slackware.com и запишет в  него файлы, как они расположены  на сайте. 

wget так  же может загружать файлы с  FTP сайтов; просто укажите FTP URL вместо HTTP URL-а. 

У wget есть гораздо больше опций, что делает её пригодной для использования  в скриптах (зеркалирование вэб сайтов, и т.д.). man страничка будет вашей  следующей остановкой.

 

 Команда traceroute

 

Команда traceroute отображает последовательность хостов, через которые проходит IP-пакет, чтобы достичь своего места назначения. В основном, данная команда используется для проверки корректности сетевых  маршрутов. Команда traceroute имеет следующий  синтаксис:

traceroute [опции]  пункт_назначения

опции - разнообразные параметры команды traceroute;

пункт_назначения - целевой объект (например, хост), куда необходимо посылать IP-пакеты.

 Вывод  команды traceroute представляет собой  перечень хостов, начинающийся с  первого хоста и заканчивающийся  пунктом назначения. В выводе  команды traceroute отображается статистика  по количеству пройденных хостов  и времени прохождения IP-пакетов.

 

Команда netstat

 

 Команда  netstat собирает различную информацию  о состоянии сетевого программного  обеспечения, включая статистику  сетевых интерфейсов, данные о  маршрутизации и таблицы соединений. Данную команду используют в  следующих ситуациях:

анализ  конфигурационных данных интерфейсов;

мониторинг  состояния сетевых соединений;

выявление прослушивания сетевых сервисов;

изучение  таблицы маршрутизации;

просмотр  статистических данных сетевых протоколов.

 

Команда  tcpdump

Команда tcpdump относится к классу программ сетевых анализаторов   и используется для

 детального  анализа сетевых пакетов, проходящих  через сетевые интерфейсы, и является

 промышленным  стандартом. Команда tcpdump имеет следующий  синтаксис:

tcpdump [опции] [условие]  ,

опции - разнообразные параметры команды tcpdump;

условие - специальное выражение, которому должны удовлетворять пакеты.

 

[root@rhe!5 ~]# tcpdump 'tcp port 22'

tcpdump: verbose output suppressed, use -v or -vv for full protocol

decode

listening on eth0, link-type ENlOMB (Ethernet), capture size 96 bytes

13:38:36.535475 IP 192 .168.137 .4. ssh > 192 .168 .137 .1. high-criteria: p 282252:282400(148) ack 1249 win 12236

 

 

 

 Общение с другими людьми

 

  • Команда talk

 

talk(1) позволяет  пользователям переговариваться  между собой при помощи текстовых  сообщений. Экран разделяется  горизонтально на две половины. Чтобы запросить общение с  другой персоной, воспользуйтесь  такой командой:

$talk <персона> [имя tty]

Если  вы укажете только имя пользователя, запрос чата рассматривается как  локальный, так что только локальные  пользователи могут принять участие. Имя tty надо указывать, если вы хотите ''позвонить'' пользователю на специфический терминал, например, если у него несколько  открытых терминалов. Необходимая для talk информация может быть получена при помощи команды w(1).

talk так  же может быть использован  для вызова пользователей удалённо. Для имени пользователя просто  укажите его e-mail адрес, и talk попробует соединиться с этим  удалённым пользователем на указанном  удалённом хосте. 

talk довольно  ограничен в возможностях. Он  работает только с двумя пользователями  и наполовину дуплексен. 

 

  • Команда  ytalk

 

ytalk(1) это  замена talk. В Slackware она поставляется, как ytalk команда. Синтаксис аналогичен, но имеет несколько отличий: 

$ytalk <username>[#ttyname]

 

Имя пользователя и терминал указываются так же, как и в talk, только указать вы их должны вместе, разделив символом хэш (#).

ytalk предлагает  несколько преимуществ: 

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

 

 

Команды для управления ip адресами следующие: ifconfig, ethtool и ip.

 

  Команда  ifconfig – команда для конфигурирования  сетевого интерфейса. Без параметров  показывает характеристики и  статус работающих интерфейсов. C ключом «-а» показываются все  интерфейсы. С помощью этой команды  можно включить или выключить  интерфейс, а также настроить  любые параметры. Примеры:

 

        ifconfig eth0 192.168.1.1/24 up – включает интерфейс  eth0 с адресом 192.168.1.1/24

 

        ifconfig eth0 down – выключает интерфейс  eth0

 

   Недостатки: не показывает в явном  виде режим работы (HALF|DUPLEX и скорость 10|100|1000 Мб на которой работает  интерфейс). Также неудобно оценить  скорость работы текущую. Для  определения скорости, самый простой  способ, выполнить следующую команду:

 

          ifconfig eth0; sleep 8; ifconfig eth0

 

   Затем сравнить значения Rx bytes или  Tx bytes в выводах команд, в зависимости  от того, какая скорость интересует  – входящая или исходящая.  Разница между ними и будет  скорость в битах в секунду.  Кто сомневается, может посчитать  и проверить. Команда ifconfig выдает  результаты в байтах. Можно поставить  задержку 10 секунд, посчитать сколько  байт в секунду, а потом перевести  в биты. Если указать 8 секунд, получим сразу нужный результат.

   Режим работы можно узнать  командой ethtool eth0. Эта команда кроме  вывода информации вплоть до  имени драйвера и версии firmware предназначена для более тонкой  настройки сетевого интерфейса. В этой статье рассматривать  не будем.

    Команда ip также позволяет настраивать  сетевой интерфейс. С её помощью  удобно назначать и удалять  ip адреса. Пример использования этой  команды:

 

        ip a a 192.168.1.1/24 dev eth0 brd +    - добавление  адреса на интерфейс

 

        ip a d 192.168.1.1/24 dev eth0              - удаление адреса с интерфейса

 

«brd +»-Этот параметр добавляет broadcast адрес.

 

   Но при использовании этой  команды, есть одно ограничение.  Адреса, назначенные командой ip, не  будут видны, если выполнить  команду ifconfig eth0.  Обратное неверно.  Все адреса, назначенные через  ifconfig, будут видны, если просматривать  командой:     ip a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

    1. Что такое BSD?

 

BSD означает "Berkeley Software Distribution". Так называлось программное обеспечение, распространявшееся в исходных кодах Калифорнийским Университетом в Беркли, которое сначала представляло из себя дополнения к операционной системе UNIX компании AT&T. На основе версии 4.4BSD-Lite были созданы несколько операционных систем с открытыми исходными кодами. В их состав включены разработки других проектов, среди которых особо следует выделить Проект GNU. Вот что такое собственно операционная система BSD:

  • Ядро BSD, отвечающее за планировку процессов, управление памятью, симметричную многопроцессорность (SMP), работу с устройствами и так далее.
  • В отличие от Linux, существует несколько ядер BSD, отличающихся возможностями.
  • Библиотека C, основной системный интерфейс программирования.
  • Библиотека C в BSD основывается на коде из Беркли, а не из Проекта GNU.
  • Оболочки, файловые утилиты, компиляторы, редакторы связей и другие утилиты пользователя.
  • Некоторые из них базируются на коде GNU, а некоторые -- нет.
  • Система X Window, отвечающая за графический интерфейс.
  • Система X Window, которая используется в большинстве версий BSD, разрабатывается проектом XFree86. Это тот же самый код, что и в Linux. BSD, как правило, не делает упор на какую-то специфическую "оболочку", например GNOME или KDE, хотя они конечно доступны.
  • Множество разных других прикладных и системных программ.

 

Операционные  системы BSD не являются клонами друг друга. Они лишь потомки общего предка, ОС UNIX от AT&T Research, которая также  дала начало современной ОС UNIX System V. Это факт может удивить, если вспомнить, что AT&T никогда не открывала исходные коды своих разработок.

Действительно, UNIX никогда не был программным  обеспечением с открытыми исходниками, и в законном смысле BSD определённо  НЕ UNIX. Но с другой стороны, в AT&T активно  использовали чужие разработки, например программное обеспечение, разрабатываемое  Группой по Исследованиям в области  Информатики (CSRG) Калифорнийского Университета в Беркли. С 1976 CSRG выпускала свой код на магнитных лентах под названием Berkely Software Distribution, сокращённо BSD.

Изначально дистрибутивы BSD представляли собой наборы пользовательских программ, и так было до тех пор, пока CSRG не заключила контракт с Агентством по Перспективным Проектам при Министерстве Обороны США (DARPA). Целью контракта  было обновление коммуникационных протоколов, на которых держалась компьютерная сеть агентства -- ARPANET. Новое семейство  протоколов получило имя Internet Protocols или TCP/IP, по названиям двух основных протоколов. Их первая широко известная реализация была выпущена в составе 4.2BSD в 1982 году.

В течение восьмидесятых годов  образовалось несколько компаний по производству рабочих станций. Многие из них предпочли купить лицензию на UNIX, нежели разрабатывать своё ПО с нуля. Следует отметить компанию Sun, которая поступила именно таким  образом и на основе 4.2BSD выпустила  свою операционную систему SunOS. Когда AT&T тоже решила заняться коммерческой продажей своей ОС UNIX, появилась на свет несколько  аскетичная реализация под названием System III, за которой в скором времени  последовала System V. Интересно, что эти  версии не содержали в себе собственной  поддержки работы в сети и использовали код BSD, в том числе реализацию TCP/IP и набор утилит, среди которых  следует выделить оболочку csh и текстовый  редактор vi. Все эти "добавки" совместно  получили название Berkely Extensions.

Дистрибутив BSD содержал код, принадлежавший AT&T, и, следовательно, требовал лицензии. К 1990 году финансирование CSRG прекратилось, и группа была распущена. Кое-кто  из бывших членов группы решил опубликовать код BSD отдельно от закрытого кода AT&T. В концов концов это удалось, и  так появилась на свет версия Networking Tape 2 или Net/2. Net/2 не была законченной, цельной операционной системой: около 20% кода ядра отсутствовало. Один из членов CSRG, William F. Jolitz, дописал недостающий код и опубликовал результат в начале 1992 года под именем 386BSD. В то же самое время другая группа бывших членов CSRG организовала коммерческую компанию Berkeley Software Design Inc. и выпустила бета-версию операционной системы BSD/386, которая базировалась на том же самом коде. Потом это название было изменено на BSD/OS.

386BSD так никогда и не стала  полноценной операционной системой. Зато в 1993 году из неё выделились  два проекта: NetBSD и FreeBSD. Изначально  разработчики разделились на  два лагеря из-за расхождений  во мнениях относительно того, сколько же ещё можно ждать  улучшений в 386BSD. В начале года  образовалась NetBSD, а первая версия FreeBSD была готова только к его  концу. Время шло, и технические  различия возрастали. В добавок,  проекты поставили перед собой  разные цели, как будет показано  ниже. В 1996 году от NetBSD отмежевался  ещё один проект -- OpenBSD.

    1. Сравнение BSD и Linux

 

В чём  заключается главная разница, к  примеру, между Debian Linux и FreeBSD? Для среднего пользователя она на удивление мала: оба продукта представляют собой UNIX-подобные операционные системы. Оба продукта разрабатываются на некоммерческой основе (это не относится к некоторым  другим дистрибутивам Linux). В этом разделе  мы рассмотрим BSD в сравнении с Linux. Всё сказанное в основном будет  касаться FreeBSD, которой принадлежит  около 80% всех инсталляций BSD в мире, хотя различия с NetBSD и OpenBSD в рамках предмета данной статьи незначительны.

Нельзя сказать, что какой-то конкретный человек или корпорация владеет BSD. Разработка и распространение  ведутся группой высококвалифицированных  и преданных проекту специалистов со всего мира. Некоторые компоненты BSD представляют собой отдельные Open Source проекты со своими коллективами разработчиков.

Ядра BSD используют Open Source модель разработки. Каждый проект поддерживает публично доступное дерево исходников с помощью Concurrent Versions System (CVS). Это дерево содержит абсолютно весь исходный код проекта, а также документацию и вспомогательные  файлы. CVS позволяет пользователям  получить копию дерева любой версии системы.

В проектах FreeBSD и NetBSD существует такое  понятие как Core team -- группа людей, занимающихся управлением деятельностью других разработчиков. Их роль, права и обязанности  не всегда чётко определены. Необязательно (хотя в порядке вещей) быть коммиттером  для того, чтобы входить в состав Core Team. Правила, которым следует Core Team, различаются между проектами, но в общем случае члены Core Team определяют общее направление развития системы  в большей степени, чем все  остальные разработчики.

Такое положение  вещей отличается от принятого в Linux:

  • Не существует человека, который бы контролировал содержимое системы. На практике значение этого отличия оказывается переоценённым, так как Главный Архитектор может всегда потребовать откат изменений. Ко всему прочему, в проекте Linux на современном этапе изменения в код вносятся тоже не одним, а несколькими людьми.
  • С другой стороны, существует центральное хранилище (repository), откуда можно получить полный код всей системы, причём как современных, так и предыдущих версий.

Информация о работе ОС семейства Unix: linux, FreeBSD, NetBSD