Программирование и комп-ры

OS Linux


Владивостокский       судостроительный         техникум



                                   РЕФЕРАТ

                                  OC LINUX



                              Выполнил ст. гр. Р-410

                                            Матаненков А.В.
                                                                Проверил:



                                    2002

Содержание:

I Особенности ОС Linux
II  Сравнение операционных систем.
IV Возможности Linux
V Файловые системы Linux
VI Иерархия каталогов Linux



[pic]



   I Особенности OS LINUX

                           Я считаю, что Microsoft создала объективно плохую
                            операционную систему, и мне интересно наблюдать,
                                        как это постепенно доходит до людей.
                                         Линус Торвальдс, создатель ОС Linux


      Мир операционных систем предоставляет пользователям достаточно большое
их  количество.  Мы  не  будем  подробно  останавливаться  на   истории   и
особенностях каждой операционной системы — для этого понадобится  чрезмерно
много места и времени
  Какие  же  операционные  системы  используются  в  настоящее  время?  Вот
некоторые из них:

  DOS (MS-DOS, DR-DOS и их клоны); Windows 3.1x;
  OS-2;
  Windows 9x;
  Windows NT (Windows 2000);
  Mac OS;
  Mac OS X;
  семейство UNIX;
  FfeeBSD, OpenBSD, NetBSD;
  Linux;
  BeOS;
      QNX.

      Конечно,  приведенный  список  далеко  не  полон,  но  мы  сознательно
ограничим  его  операционными  системами,  используемыми  наиболее   часто.
Рассмотрим этот список с точки зрения человека, которому  необходимо  иметь
на  компьютере  операционную  систему,  удовлетворяющую  нескольким,  порой
противоречивым, требованиям.
      Операционные системы можно классифицировать по многим параметрам.  Во-
первых, все они делятся на  два  вида  —  платные  и  бесплатные  (условно-
бесплатные). Во-вторых, правомерно разделить их на операционные  системы  с
открытым исходным кодом (с правом вносить изменения или без права  внесения
изменений) и с закрытым исходным  кодом.  В-третьих,  операционные  системы
бывают  одноплатформенные  (способные  функционировать  только   на   одной
платформе,  например  PC-совместимой)   и   многоплатформенные   (способные
функционировать  на   нескольких   платформах,   например   PC-совместимой,
Macintosh, Sun, PowerPC).  В-четвертых,  операционные  системы  могут  быть
однозадачными   и   многозадачными.   В-пятых,   однопользовательскими    и
многопользовательскими.    В-шестых,    серверными,     клиентскими     или
универсальными. В-седьмых, иметь текстовый, графический или  тот  и  другой
интерфейсы. В-восьмых, ориентацией на  работу  с  сетью  и  Интернетом.  В-
девятых, по потребляемым ресурсам  и  т.  д.  А  ведь  это  только  начало.
Критериев, по которым  выбирается  операционная  система,  намного  больше.
Имеют право на существование и такие критерии, как "Она мне  нравится"  или
"Друг себе поставил,  чем  я  хуже?"  А  ведь  выбор  операционной  системы
определяет, как вы будете жить и  работать  ближайшие  несколько  Лет  (или
десятилетий). Поэтому к выбору операционной системы  следует  относиться  с
большой тщательностью и достаточной долей скептицизма. Сжато охарактеризуем
наиболее популярные операционные системы.

 DOS

Производитель — Microsoft.  Была  создана  на  заре  эры  PC.  16-разрядная
однопользовательская, однозадачная система. Платная, закрытый исходный код.
Одноплатформенная (PC-совместимая). Текстовый интерфейс (командная строка).
Достаточно простой процесс установки. Файловая система — FAT  12,  FAT  16,
FAT  32.  Поддержка  локальной  сети  —  драйверы  и  программы   сторонних
производителей. Интернет — аналогично. Морально устарела еще  до  рождения.
Разрабатывалась поспешно,  без  учета  развития  аппаратных  и  программных
средств.   При   появлении   нового    аппаратного    обеспечения    срочно
дорабатывалась, более или менее устойчивая система появилась только к 1990-
му году (по прошествии 10  лет!).  Последняя  самостоятельная  версия  (как
отдельного продукта) — MS-DOS 6.22. Последние версии  включали  в  основном
косметические изменения. Но (благодаря дружбе IBM и Microsoft)  —  получила
широчайшее   распространение,   имела   малую   потребность   в   ресурсах,
поддерживала практически все выпускаемое для PC аппаратное  обеспечение,  и
для  своей  ниши  была  почти   оптимальным   решением   с   точки   зрения
цена/ресурсы/производительность. Для DOS было выпущено несметное количество
приложений, последние пять  лет  новые  программные  продукты  для  DOS  не
выпускаются. Существовали многочисленные клоны. Наиболее известные  —  IBM-
DOS, PC-DOS, DR-DOS.



Windows 3.1 х

Строго говоря — это даже не операционная  система,  а  графическая  оболочка
или, если хотите, надстройка над DOS. Почему версии  З.1х?  Потому  что,  по
большому  счету,  только  к   версии   3.1   была   достигнута   достаточная
стабильность,  неплохая  функциональность,   накоплена   критическая   масса
приложений и реализована многозадачность. Благодаря Windows  в  мир  PC  был
внесен  дух  однообразия  и  предсказуемости.  Интерфейс   приложений   стал
стандартизирован, системные  библиотеки  унифицированы,  внедрена  поддержка
локальной сети, появился достаточно большой набор драйверов для  аппаратного
обеспечения, поставляемых в дистрибутиве Windows. В комплект  Windows  вошли
несколько десятков приложений,  благодаря  чему  потребитель  получал  почти
готовую  систему  для  офисной  работы.  Доступ   в   Интернет   по-прежнему
осуществлялся  с  помощью   программ   сторонних   производителей.   Система
получилась не очень надежная, достаточно часто  происходили  зависания.  Для
Windows 3.1х было выпущено много  разнообразного  программного  обеспечения,
впрочем, после 1996 года новые программные продукты для Windows 3.1х  больше
практически не выпускались. Достаточно  простой  процесс  установки.  Слабая
поддержка  мультимедийных  устройств.  Платная.  Исходный  код   недоступен.
Последняя версия (16 битная)  Windows  for  Workgroups  3.11.  Требования  к
аппаратному обеспечению  —  процессор  386,  не  менее  2  (лучше  4)  Мбайт
оперативной памяти, не менее 16 Мбайт места на жестком диске.



OS/2

      Совместная разработка IBM и Microsoft. Впоследствии  IBM  и  Microsoft
разошлись, и OS/2 заканчивала и выпускала в свет только IBM, которая  всегда
позиционировала свою операционную систему для корпоративного  использования.
Из-за слабой маркетинговой политики  IBM,  сильной  конкуренции  со  стороны
Microsoft,  относительно  малого  количества   разработанных   под   систему
программных продуктов IBM отказалась от дальнейшего  продвижения  OS/2.  Для
своего времени (а это расцвет DOS и Windows 3.1x) была  очйнь  прогрессивна.
В   дальнейшем   (версии   2-   4)    получила    существенное    расширение
функциональности. 32-битная  многозадачная  операционная  система.  Отличная
поддержка  локальной  сети  и  Интернета.  Помимо  программ,   разработанных
специально для OS/2, система позволяет запускать как DOS-приложения,  так  и
приложения  Windows  3.1x.  Разрабатывается  приложение  Odin,   позволяющее
выполнять приложения Windows 9x. Файловая система — HPFS  (High  Performance
File System). Поддерживает также достаточно большой список файловых  систем,
в том числе FAT 12, FAT 16, FAT 32. Требования к аппаратному  обеспечению  —
процессор Pentium, не менее 32 Мбайт оперативной памяти, не менее 120  Мбайт
места на жестком диске.



Windows 9x

      32-битная  операционная  система  с  поддержкой  16-битных  приложений
(Windows З.1х). Первая версия появилась в 1995 году. Затем в  течение  почти
трех лет  выходили  исправления  многочисленных  ошибок.  Попытка  Microsoft
объединить лебедя, рака и щуку — в одной операционной  системе  без  проблем
запускать исполняемый код DOS, Windows 3.1х (16 бит) и Windows 9x (32  бит).
В  результате  получилась  не  очень  устойчивая  система,  которую  удалось
отладить только к 1998 году (Windows 98). Несмотря на  то,  что  Windows  9х
объявлена  операционной  системой,  она  по-прежнему  базируется  на  MS-DOS
версии 7.0 со  всеми  ее  рудиментами  и  наследственностью.  В  Windows  9х
добавлено программное обеспечение, необходимое для  работы  в  Интернете,  и
существенно расширен список драйверов для аппаратного обеспечения.
      Windows 98 и последняя версия, Windows ME (Millennium Edition), фирмой
Microsoft рассматриваются как переходный этап к Windows NT  (Windows  2000),
поэтому в Windows 9x частично включено программное обеспечение,  характерное
для  серверов.  Простой  процесс  установки  и  конфигурации   системы/   но
отсутствует возможность тонкой  ее  настройки  без  стороннего  программного
обеспечения. Хорошая поддержка мультимедийных устройств и  игр.  Огромнейший
список разработанного под систему программного обеспечения.  На  сегодняшний
день Windows 9x и MS Office  являются  стандартом  de-facto  для  настольных
офисных систем. Платная. Исходный код недоступен. Требования  к  аппаратному
обеспечению — процессор Pentium-166, не менее 32 Мбайт  оперативной  памяти,
не менее 250 Мбайт места на жестком диске (для Windows ME не менее 64  Мбайт
оперативной памяти, не менее 500 Мбайт места  на  жестком  диске).  Файловая
система — FAT 32 (FAT 16).


Windows NT (Windows 2000)

      Ощущая бесперспективность развития ветки  DOS-Windows  3.1x  Microsoft
разработала  новую  операционную  систему  Windows  NT  (New   Technology),
базирующуюся на стандарте POSIX  и  новой  файловой  системе  —  NTFS  (New
Technology File  System).  Разработчики  Windows  NT  серьезно  взялись  за
проектирование  операцицнной  системы  с  учетом  ее  дальнейшего  развития
(совсем недавно вышла последняя  в  этой  линейке  операционная  система  —
Windows XP). На сегодняшний день  Windows  NT  —  флагманская  операционная
система фирмы Microsoft. Существует две ее версии — Windows NT  Workstation
и Windows NT Server. Первая версия  предназначена  для  настольных  систем,
вторая — серверная платформа.  В  обеих  версиях  используется  графический
интерфейс, что для сервера — в общем-то излишество и  нерациональная  трата
ресурсов.  Многозадачная,  многопользовательская,  одноплатформенная  (PC),
весьма  устойчивая  операционная  система.   Имеет   встроенную   поддержку
многопроцессорных и кластерных  систем.  Хорошая  поддержка  мультимедийных
устройств и игр (однако не  все  существующие  игры  надежно  работают  под
Windows NT). Полного набора серверных приложений не имеет  (нет,  например,
Web-сервера). Исходный код недоступен. Платная. Windows NT Server рассчитан
на малые и средние рабочие группы, на большие нагрузки пока  не  рассчитан.
Помимо NTFS поддерживает файловые системы FAT и OS/2 (HPFS).  Требования  к
аппаратному обеспечению Windows NT  Workstation  —  процессор  Pentium,  не
менее 128 Мбайт оперативной памяти, не менее 500  Мбайт  места  на  жестком
диске;  Windows  NT  Server  —  процессор  Pentium,  не  менее  256   Мбайт
оперативной памяти, не менее 500 Мбайт места на жестком диске.


Mac OS

      Производитель —  Apple.  Операционная  система  для  Macintosh  и  его
пользователей,  многозадачная,  однопользовательская,  графическая.   Первая
версия была выпущена более 15 лет  назад.  С  выходом  Mac  OS  X  считается
окончательно устаревшей и постепенно сходит со сцены.  Великолепная  система
для пользователя по эргономичности, дружественности и простоте освоения.  За
свою историю накопила достаточно большое  количество  устаревших  концепций,
оставленных для совместимости. Последние версии Mac OS  были  рассчитаны  на
компьютеры Apple, базирующиеся на процессоре Motorola 68040 и PowerPC  с  не
менее 16 Мбайт оперативной памяти.

Mac OS X

      Производитель — Apple.  Новая  операционная  система  для  компьютеров
Macintosh,  базирующихся  на  процессоре  PowerPC.  UNIX-подобная,   POSIX-
совместимая, многозадачная операционная система с графическим  интерфейсом.
Способна выступать как в качестве сервера,  так  и  в  качестве  клиентской
операционной системы. Платная, закрытый исходный код. Фирма Apple заявила о
скором переносе Mac OS X на платформу Intel. Поддерживает сетевую  файловую
систему NFS (Network File System). Mac OS X  предназначена  для  работы  на
компьютерах Power Macintosh с процессором G3. Требования  —  не  менее  128
Мбайт оперативной памяти. Рекомендуемый объем жесткого диска — 5 Гбайт.

Семейство UNIX

Группа операционных систем, имеющих общего  предка  и  традиционно  носящих
название UNIX. Фирмы производители — AT&T, DEC, Sun, Hewlett-Packard,  IBM,
SCO и многие другие. Несмотря на то что первая версия  UNIX  была  выпущена
еще тридцать лет назад, UNIX до сих  пор  считается  наиболее  современной,
надежной и динамично развивающиеся операционной системой. Большой  вклад  в
успех UNIX внесли специалисты AT&T, студенты и  преподаватели  университета
Беркли.  На  сегодняшний  день  UNIX  той  или   иной   фирмы-производителя
установлен  практически  на  каждом  сервере  уровня  предприятия,  больших
кластерах и мультипроцессорных  системах,  а  также  на  многих  рабочих  и
графических       станциях.       Многоплатформенная,       мультизадачная,
многопользовательская  операционная  система.  Поддерживает  кластеризацию,
мультипроцессорные системы, распределенные  вычислительные  среды,  массивы
накопителей огромной емкости и многое другое. На  сегодняшний  день  трудно
найти компьютер, на котором не смогла бы работать одна из версий UNIX.  Как
правило, UNIX, выпускаемая фирмами, — платная, с закрытым  исходным  кодом.
Тем не менее, существует достаточно много (например, семейство BSD,  Linux)
бесплатных, с открытым исходным кодом UNIX-совместимых операционных систем.
Благодаря стандарту POSIX практически любое приложение можно  перенести  из
одного представителя семейства UNIX в  другой.  Благодаря  этому  для  UNIX
имеется огромное количество как бесплатных, так  и  коммерческих  программ.
Как правило,  для  каждой  разновидности  UNIX  разработана  своя  файловая
система, но все  разновидности  UNIX  могут  работать  с  распространенными
файловыми системами. В том числе существуют и т. н. журнолируемые  файловые
системы. В журналируемых файловых системах для решения проблемы повреждения
структуры  файловой  системы  или  хранения  данных  применяют  транзакции,
используемые  практически  в  любой  базе  данных.   Транзакция   считается
незавершенной до тех пор, пока все изменения не сохранены на диске. А чтобы
сбои, происходящие до завершения всех операций, входящих в  транзакцию,  не
приводили к необратимым последствиям, все действия и все изменяемые  данные
протоколируются. В том случае, если все-таки сбой произойдет, по  протоколу
можно  вернуть  систему  в  рабочее  состояние.  Требования  к   аппаратной
платформе — самые разнообразные. Как уже упоминалось выше  —  трудно  найти
компьютер, на котором не смогла бы работать одна из версий UNIX.

FreeBSD, OpenBSD, NetBSD

Операционные  POSIX-совместимые  системы  семейства  UNIX  на  основе  кода
университета Беркли. Принципиальные различия:
   FreeBSD — очень надежная, достаточно консервативная (в хорошем смысле
   этого слова). Аппаратная платформа — Intel;
  NetBSD — переносимость на большое количество аппаратных платформ;
      OpenBSD — попытка объединить достоинства FreeBSD и NetBSD в одном
   дистрибутиве.
Бесплатные,  открытый  исходный  код.  На   сегодняшний   день   наибольшее
распространение из-за своей особой надежности  получила  FreeBSD.  Двоичная
совместимость  со  многими  программами,  построенными  под  SCO,   BSD/OS,
Net/Free/OpenBSD, 386BSD и Linux.

Linux

POSIX-совместимая UNIX-подобная операционная система. На сегодняшний день —
самая распространенная бесплатная операционная система с открытым  исходным
кодом. При ее разработке из мира семейства UNIX старались взять все лучшее.
Благодаря участию десятков тысяч разработчиков программного  обеспечения  и
координации их действий через Интернет Linux и программное обеспечение  для
нее развивается очень динамично, ошибки и различные проблемы в  программном
обеспечении,  как  правило,  исправляются  в  считанные   часы   после   их
обнаружения.  Большую  помощь  в  развитии  и   распространении   Linux   и
сопутствующего,  ему  программного  обеспечения  оказали  фонд   Свободного
программного обеспечения (Free Software Foundation,  USA)  и  лицензия  GNU
(The GNU General Public License, Универсальная общественная  лицензия  GNU)
для программного обеспечения. На  сегодняшний  день  существует  одно  ядро
Linux, разработку которого координируют его  создатели  Линус  Торвальдс  и
Алан Кокс, и множество дистрибутивов (не менее 2-3 десятков),  отличающихся
как функциональным назначением, так и  составом  программного  обеспечения,
входящим в дистрибутив. Существуют дистрибутивы, занимающие десяток компакт-
дисков, и  дистрибутивы,  умещающиеся  на  одной-двух  дискетах.  Все,  что
справедливо для семейства  UNIX  —  справедливо  и  для  Linux.  Широчайшая
поддержка аппаратных платформ, малая требовательность к аппаратным ресурсам
(процессор  486,  8  Мбайт   оперативной   памяти,   винчестер120   Мбайт).
Масштабируемость,  поддержка  мультипроцессорных   систем,   кластеризация,
поддержка распределенных вычислений, десятки графических оболочек —  и  это
далеко не все. Поддерживаются  десятки  файловых  систем,  родная  файловая
система Ext2. И при  всей  мощи  —  достаточно  дружественная  операционная
система, способная работать как на мощнейшем сервере, так и  на  стареньком
"пентиуме" где-нибудь в офисе.

BeOS

      Производитель  —  Be  Inc.  UNIX-подобная   графическая   операционная
система. Однопользовательская. Сами  разработчики  позиционируют  BeOS  как
операционную систему для работы с мультимедиа. Графический интерфейс. Очень
молодая операционная система (по сравнению с ранее рассмотренными), поэтому
относительно небольшой список поддерживаемого оборудования  и  программного
обеспечения. BeOS поддерживает компьютеры с симметричной мультипроцессорной
архитектурой (SMP) (до 8-ми процессоров), файловая  система  BFS  (Be  File
System), 64-битная  и  журналируемая.  Вытесняющая  многозадачность,  почти
полная POSIX-совместимость.  На  сегодняшний  день  существуют  две  версии
операционной  системы  —  BeOS  5  РЕ  (Personal  Edition)   —   бесплатная
(дистрибутив можно взять в Интернете, www.be.com) и BeOS 5  Pro  —  платная
(поставляется  на  CD-ROM  в  коробке  и  с  документацией).  Исходный  код
недоступен (несколько программ, входящих в BeOS,  имеют  открытый  исходный
код). Поддерживает работу с несколькими файловыми системами — FAT  16,  FAT
32 (возможно чтение и запись),  NTFS  (только  чтение).  HFS.  ext2,  CDFS.
Аппаратные требования — Pentium-133, оперативная память — 32  Мбайт,  место
на винчестере — 512  Мбайт  (минимально  —  120  Мбайт).  Возможен  вариант
установки под Windows и Linux. Аппаратная платформа — PC, PowerPC.

QNX

Производитель QNX — QNX Software Systems.  UNIX-подобная  POSIX-совместимая
операционная   система   реального   времени.   32-битная,   многозадачная,
многопользовательская,  микроядерная.   Первоначальное   предназначение   —
промышленная операционная система,  предназначенная  для  работы  в  режиме
99,999  %  надежности  ("пять  девяток").   Используется   для   управления
технологическими процессами, начиная от атомных электростанций и заканчивая
производством мороженого. Исходный код закрыт. Проблемы с драйверами (малое
количество). Минимальные требования для промышленного дистрибутива —  386-й
процессор, 8 Мбайт ОЗУ.  Помимо  промышленных  дистрибутивов  QNX,  стоящих
немалые деньги, существует бесплатный вариант дистрибутива "QNX  Real  Time
Platform",  который  загружается  с  сайта   производителя   (www.qnx.com).
Минимальные требования для бесплатного дистрибутива  —  процессор  Pentium-
200, 32 Мбайт ОЗУ, 100 Мбайт на жестком диске.

 II  Сравнение операционных систем.

Что  такое   пользователь?   Понятие   «пользователь»   не   подведеш   под
«среднестатистическое» значение. Он многолик и  разнообразен.  Единственное
что есть у всех  пользователей  компьютера  –  они  сидят  за  компьютером.
Пользователи с точки зрения системного администратора – все те, кто  входит
в систему в качестве  пользователя,  «юзера».  С  точки  зрения  системного
программиста –все кто запускает  компьютер.  Для  разработчика  прикладного
программного обеспечения – пользователи его программы. Для авторов  книг  –
это люди знающие только то, что у него есть только шнур питания и  какая-то
доска с   кнопками. И  так  далее  .  Если  попытаться  обобщить,  основной
пользователь  –  это  человек,  который   не   разбирается   в   устройстве
компьютеров, не  знает  как  настроить  модем,  не  обязан  знать  тонкости
операционной  системы  и  т.д.  Пользователь  решает  на  компьютере   свои
профессиональные задачи, зачастую не имеющие с компьютером  ничего  общего.
На практике все это,  конечно,  не  совсем  так  мрачно.  Пользователь  для
успешной работы просто обязан знать что такое файл, как  настроить  рабочий
стол, установить программу, что такое вирусы и как с ними бороться  и  т.д.
Пользователей можно разделить на 3 группы – не знающий о компьютере ничего,
знающий кое-что и знающий многое. Соответственно, по уровням  пользователей
можно разделить операционные системы на 3 категории:

К первой категории можно отнести Mac OS и, в какой-то степени, Mac OS X,  а
также BeOS. Ко второй  категории  Windows  9x,  OS/2.  К  третьей,  как  ни
странно, —  DOS,  Windows  3.1.x,  Windows  NT/2000,  UNIX-семейство,  BSD-
семейство, Linux,  QNX.  Такое  разбиение  операционных  систем  не  всегда
соответствует официальному позиционированию  фирм-разработчиков  (например,
Microsoft рекламирует Windows 9x как систему для  домохозяек  —  включил  и
работай). Однако с точки зрения коллективного разума (по крайней мере,  так
считают авторы новостных  конференций,  посвященных  сравнительному  обзору
операционных систем) данное нами разбиение операционных  систем  достаточно
верно. Впрочем, жизнь, как всегда, не стоит  на  месте.  Сейчас  уже  можно
говорить, что  Linux  с  ее  графическими  менеджерами  окон  KDE  и  GNOME
постепенно переходит, если уже не перешла, ко второй категории (то есть для
пользователей, знающих об операционной системе кое-что), при этом не  теряя
ни мощности, ни настраиваемости всего и вся. Семейство  Windows  постепенно
сдвигается к группе  пользователей,  не  знающих  об  операционной  системе
ничего, при этом вызывая заметное  раздражение  знающих,  или,  как  у  них
говорят — Advanced Users,  своей  уверенностью,  что  пользователь  системе
приносит только вред, а посему ничего настраивать  он  не  должен,  а  если
очень хочет  —  пусть  платит  за  поддержку  или  специальное  программное
обеспечение. В идеале же  операционная  система  должна  удовлетворять,  по
меньшей мере, семи достаточно противоречивым требованиям.
1. Быть легкой в освоении и дружественной к пользователю (User Friendly).
1. Быть очень мощной и универсальной (способной работать на любом

  оборудовании).
2. В ней все должно настраиваться и достаточно просто.
3. Она должна быть очень надежна (в идеале — сверхнадежна).
4. Занимать как можно меньше места.
2. Разработчики моментально должны реагировать на проблемы, обнаруженные в
  процессе эксплуатации.
5. Под нее должен быть широкий выбор программного обеспечения.


      В нескольких словах рассмотрим эти семь пунктов.  Пункт  первый.  Тут,
собственно, и так  все  ясно.  От  того,  как  быстро  человек  освоится  с
операционной системой и насколько  удобно  ему  в  ней  работать,  напрямую
зависит производительность труда, да и  просто  хорошее  настроение.  Пункт
второй. Можно, конечно, возразить, что чем более универсальный  инструмент,
тем  слабее  он  для  какого-нибудь  специфического  применения,  и   чисто
теоретически это так. Но давайте  посмотрим  на  универсальность  с  другой
стороны. Теоретические принципы построения операционной среды, по  большому
счету,  одинаковы,   что   для   старенькой   386-й,   что   для   новейших
мультипроцессорных   систем.   Специфику   платформы    (тип    процессора,
мультипроцессорность, кластеризацию  и  т.  п.)  всегда  можно  учесть  при
разработке  специфического  ядра  операционной   системы   или   драйверов.
Некоторая  потеря  в  производительности  с  лихвой  окупается   тем,   что
пользователю, поработавшему на мощнейшем сервере и перешедшему  на  офисный
компьютер, графическую станцию  или  домашний  ПК,  не  придется  осваивать
другую операционную систему — его операционная система  может  работать  на
любом компьютере. А способность работать на любом компьютере  автоматически
подразумевает, что операционная система должна занимать  как  можно  меньше
места и потреблять мало  аппаратных  ресурсов.  Пункт  третий.  И  тут  все
понятно без пространных пояснений. Пользователь  должен  иметь  возможность
настроить операционную систему под свои нужды, не прибегая к стороннему (не
входящему в поставку операционной системы) программному обеспечению.  Пункт
четвертый. Правда, больное место? У любого пользователя Windows  со  стажем
наверняка происходило зависание компьютера,  причем  в  самое  неподходящее
время. И каждый пользователь хочет, чтобы зависания никогда не  происходили
на его компьютере. Пункт пятый. Это тоже понятно. Уже надоело  каждые  год-
полтора менять  жесткий  диск  только  из-за  того,  что  следующая  версия
операционной системы требует "совсем  немного,  только  каких-то  3  Гбайта
места на жестком диске". Пункт шестой. И это очевидно. Пользователь  должен
получить исправления к своей операционной системе при обнаружении просчетов
ее разработчиков. Причем,  как  можно  скорее,  если  операционная  система
удовлетворяет п. 4. И притом абсолютно  бесплатно,  поскольку  это  просчет
разработчика.  Пункт  седьмой.  Пусть  операционная  система  будет   самой
распрекрасной, но если для нее нет программ, она не будет востребована.



Теперь  оценим  операционные  системы  на  соответствие   вышеперечисленным
требованиям.
    DOS — не удовлетворяет ни одному пункту, кроме п. 7.
 Windows 3.1х- удовлетворяет п.1 с  оговорками,  частично  п.  3  и  п.  5,
  удовлетворяет п. 7.
    OS/2 — удовлетворяет п. 1, п. 2 (с учетом одноплатформенности),  п.  3,
  частично п. 4, п. 5 и п. 7.
     Windows  9х  —  удовлетворяет  п.  1,  частично   п.   3,   безусловно
  удовлетворяет п. 7.
     Windows  NT  (Windows  2000)  —  удовлетворяет  п.1,  п.2  (с   учетом
  одноплатформенности и непомерных требований к  аппаратному  обеспечению),
  п. 3 и п. 4 с оговорками, безусловно удовлетворяет п. 7.
     Мас  ОС  —  безусловно  удовлетворяет   п.   1,   п.   2   (с   учетом
  одноплатформенности), частично п. 3, п. 4, п. 5, п. 6,  удовлетворяет  п.
  7.
    Мас ОС X — безусловно удовлетворяет п. 1, п. 2 (с учетом
  одноплатформенности и завышенных требований к аппаратному обеспечению),
  п. 3, ' п. 4, п. 6, пока не удовлетворяет п. 7.
    UNIX-семейство — безусловно удовлетворяет всем пунктам, кроме  первого,
  да и то, в последнее время легкость освоения и  дружественность  у  UNIX-
  разработчиков стоят на первом месте.
    FreeBSD, OpenBSD, NetBSD — все сказанное о UNIX-семействе справедливо и
  для этих операционных систем.
    Linux — безусловно удовлетворяет всем пунктам, особенно п. 2, п.  3,  п.
  6, п. 7.
    BeOS — удовлетворяет всем пунктам кроме (пока) п. 7.
    QNX — удовлетворяет всем пунктам.

Попробуем  выбрать  операционную  систему,  исходя   из   вышеперечисленных
пунктов. DOS и Windows  3.1х  отпадают  сразу,  как  морально  и  физически
устаревшие продукты. OS/2 — очень неплохая  операционная  система,  имеющая
несколько недостатков: отсутствие перспектив  (IBM  отказалась  от  выпуска
следующих  версий),  не  очень  большой  выбор  программного   обеспечения,
одноплатформенность. Mac OS, Mac OS X — также неплохие опе-рационные  среды
как с точки зрения пользователя, так и с точки зрения администратора. Но  -
это операционные системы только для компьютеров  фирмы  Apple.  А  в  нашей
стране этих компьютеров не наберется и одного процента от общего количества
персональных ЭВМ. QNX — достаточно специфичная  система,  рассчитанная  для
применения в сверхнадежных системах реального времени.  Очень  хорошая,  но
для нашего пользователя она стала доступна относительно недавно, поэтому  в
отношении к ней есть элементы недоверия  и  незнания,  кроме  того,  у  нее
относительно  малый  список  программного  обеспечения  общего   назначения
(офисные приложения, работа с графикой,  игры,  наконец).  Что  остается  —
семейство Windows 9x— Windows NT (включая Windows XP),  семейство  UNIX,  а
также представители "свободного мира"  UNIX  —  FreeBSD,  OpenBSD,  NetBSD,
Linux и стоящая немного особняком BeOS.

Теперь попытаемся  максимально  корректно  сопоставить  Windows-семейство  и
семейство UNIX.  Сначала  проведем  четкий  водораздел  между  операционными
системами  Windows  9x/ME  и  Windows  NT/2000/XP.  Подсознательно  (в  силу
сходства  названий,  да  и  внешнего  вида)   пользователь,   а   иногда   и
администратор, отождествляет Windows  9x/ME  и  Windows  NT/2000,  хотя  это
далеко не одно и  то  же.  Если  внимательно  посмотреть  на  характеристики
Windows 9x/ME и немного  сопоставить  факты,  станет  понятно,  что  Windows
9х/МЕ — это затянувшийся на шесть лет переход от DOS/Windows 3.1х к  Windows
NT/2000,   принесший,   однако   Microsoft   огромный   доход.    С    чисто
технологической  стороны  UNIX-семейство  корректно  сравнивать   только   с
Windows NT/2000, поскольку  только  Windows  NT/2000,  как  система  истинно
многозадачная и многопользовательская, поддерживающая  мульти-процессорность
и кластеризацию, корректно сопоставима  с  UNIX-подобными  системами.  Таким
образом,  корректно  сравнивать  можно  только  семейство  UNIX  и   Windows
NT/2000. Относительно Windows  NT/2000  существует  основанное  на  схожести
интерфейса и названия с Windows 9х/МЕ  заблуждение,  что  настроить  Windows
NT/2000  дело  пяти  минут,  и  после  настройки  все  работает  годами  без
вмешательства администратора. Внешнее сходство этих систем с  Windows  9x/ME
создает обманчивую иллюзию понимания там, где им и не пахнет,  а  увеличение
нагрузки на сервер заставляет остро  чувствовать  программистскую  поговорку
"Памяти мало никогда не бывает".

      Во-первых,  что  очень  выгодно  отличает  Linux  от  Windows   —   ее
бесплатность. За Windows 9х/МЕ по сегодняшним ценам придется уплатить  около
150-200 долларов, а за Windows  NT/2000  и  того  больше.  Кроме  того,  для
работы нужен и Microsoft Office, за стандартный  вариант  которого  придется
уплатить около 600 долларов, и, если надо еще что-то — продолжать платить  и
платить. Политика Microsoft очень проста и действенна -  раз  в  полгода-год
выходит новая версия программного продукта, который все вольно или  невольно
вынуждены покупать, потому что партнеры присылают вам файлы в формате  Excel
97, а ваш Excel 95 отказывается их  понимать.  В  результате  за  всю  жизнь
компьютера (3-5 лет) только на программное  обеспечение  придется  потратить
порядка 2-5  тыс.  долларов.  С  другой  стороны,  Linux  обойдется  в  5-15
долларов,  за  которые   можно   купить   2-3   компакт-диска,   заполненных
бесплатным, с открытым исходным кодом, программным обеспечением.  Даже  если
скачивать дистрибутив Linux через Интернет — все равно не  потратить  больше
30 долларов (приблизительно столько стоит месяц неограниченного  подключения
к Интернету). И что характерно — с этого дистрибутива можно  сколько  угодно
раз инсталлировать Linux на абсолютно законных основаниях. Можно  возразить,
что за  потраченные  на  продукты  Microsoft  деньги  пользователи  получают
поддержку сервис-центра Microsoft. Увы, это не так  —  нормальной  поддержки
на территории СНГ до недавнего времени не было, а звонить сейчас  в  Москву,
например, из Беларуси или Владивостока и получать телефонную консультацию  в
течение пятнадцати- двадцати минут весьма накладно. Поддержку же  для  Linux
и ее программного обеспечения получить очень  просто,  нужно  только  знать,
куда обращаться. Поскольку Linux —  дитя  Интернета,  решение  проблем  надо
искать там. Помимо Интернета, где находятся тысячи  Web-сайтов,  посвященных
как Linux  в  целом,  так  и  конкретному  программному  продукту  для  нее,
существуют десятки групп новостей, а, помимо всего  прочего,  в  дистрибутив
входит более 15 тыс. страниц  документации,  описывающих  все  и  вся.  Есть
правда одно неудобство — поскольку Linux  разрабатывается  и  сопровождается
людьми со всех стран мира, то  и  документация  для  него,  в  основном,  на
английском языке.
      Во-вторых, Linux  способна  функционировать  на  множестве  аппаратных
платформ и с минимальными требованиями к аппаратуре. С Windows сложнее. Она
функционирует только на процессорах Intel или их клонах, а по требованиям к
аппаратуре превосходит  Linux.  И  если  Windows  9x/ME  достаточно  сносно
работает на Pentium-166 с 64  Мбайт  оперативной  памяти,  то  для  Windows
NT/2000 требуется хотя бы Pentium II 350 МГц  и  128,  а  лучше  256  Мбайт
оперативной памяти.
      По поводу дружественности,  легкости  в  освоении  и  инсталляции.  На
сегодняшний день установить Linux на абсолютно  чистый  диск  сможет  любой
пользователь, для этого нужно только взять соответствующий дистрибутив.
      С легкостью освоения, несомненно, похуже. Для грамотной работы в Linux
необходимо  иметь  представление  об  операционной  системе.  К   сожалению,
Windows приучила пользователя щелкать мышкой  и  не  думать.  Плюс  еще  наш
менталитет — "сами с усами", метод "тыка".  В  UNIX  это  не  проходит.  Там
подход  другой  —  прочитай,  разберись  и  можешь  быть  уверен,  что   это
функционирует в любой UNIX-подобной системе одним и тем же способом.

      По части настройки операционной системы.  Microsoft  внедрила  в  свою
операционную систему непродуманную идею — системный  реестр.  В  результате
получился монстрообразный (зачастую в 4-5 Мбайт) файл двоичного формата, от
целостности  которого  зависит   жизнеспособность   операционной   системы.
Очевидно разработчики совсем забыли старое изречение "Не клади все  яйца  в
одну корзину". Очень часто (по меньшей мере,  в  30-40  %  случаев)  ошибки
функционирования операционной системы связаны с повреждением файла реестра.
Еще одна проблема настраиваемоети системы — очень много настроек Windows не
описаны в документации, и необходимо перерыть  горы  литературы,  чтобы  по
крохам насобирать информацию о тонкой  настройке  системы.  Есть,  конечно,
программное обеспечение,  позволяющее  тонко  настроить  Windows,  но,  как
правило,  оно  не  бесплатно.  В  Linux  все  более  надежно  и   доступно.
Практически все о настройке  системы  или  программного  обеспечения  можно
узнать из документации. Конфигурационные файлы обычно для каждой  программы
отдельные, и практически все имеют понятный текстовый формат  с  подробными
комментариями.  А  настроить  в  Linux  можно  все,  причем   для   каждого
пользователя в системе отдельно.

Подведем итог — почему выбирают Linux.

Почему выбирают Linux

Приведем ряд аргументов.
       Самая лучшая операционная система — UNIX. Linux  —  это  современный
  UNIX, работающий практически на всех платформах.
     В  отличие  от  большинства  операционных  систем  дистрибутивы  Linux
  бесплатны, их можно скачивать из Интернета.
     В стандартный дистрибутив  Linux  входят  сотни  программ,  с  помощью
  которых можно решить 95 % задач, решаемых с помощью компьютера.
     Исходный код всех программ под Linux открыт,  при  желании  его  можно
  модифицировать так, как нужно.
     На базе Linux достаточно легко создать очень надежные (99,99 %) центры
  данных  с  поддержкой  кластерных   конфигураций   и   высокой   степенью
  масштабирования.
      Корпоративная  intranet-сеть  "из  коробки",  элементарная  установка
  интернет-сервисов  и  серверов,   практически   сразу   настроенных   для
  стандартного применения.
     Высокая степень безопасности и ограничения доступа к ресурсам и данным
  системы.
     Большое количество поддерживаемых Linux аппаратных платформ.
     Графический  интерфейс  с  десятками  оконных  менеджеров,  позволяющих
  создать  эксклюзивную  графическую  среду,  точно  настроенную  для  нужд
  пользователя и аппаратных ресурсов.
     Относительно малые требования к аппаратным ресурсам, достаточно  новый
  дистрибутив вполне можно установить на старших 486-х компьютерах.
      Огромнейшая  библиотека   документации,   ежедневно   улучшающаяся   и
  дополняющаяся.
     Великолепная поддержка программного обеспечения, ответы практически  на
  любой вопрос можно найти в  Интернете,  а  на  оставшиеся  вопросы  можно
  получить ответ у самих разработчиков, которые не скрываются за копирайтом
  большой фирмы.

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



IV Возможности Linux

Сеть
Linux  по  умолчанию  работает  со  своим   «родным»  протоколом    TCP/IP,
протоколом,  на  котором  функционирует  Интернет.  Также  Linux   способна
работать,  при  установке  соответствующего  оборудования,  с   протоколами
IPX/SPX фирмы Novell Netware,    протоколами   NetBIOS  (Microsoft  Windows
3.1x, Windows9x/Me, Windows NT/2000) и AppleTalk (Apple Mac OS). И это  еще
не все, что она понимает  и  поддерживает,  хотя  перечисленные  4  сетевых
протокола сегодня   используют  наверное  более  чем  в   95%  случаев.  Из
аппаратных  средств   Linux   способна   работать   практически   с   любым
оборудованием, предназначенным в том или  ином  виде  для  использования  в
сетевых  соединениях:  сетевые  карты  Ethernet,  Radio  Ethernet,  ArcNet,
аппаратура для спутникового Интернета, ISDN, ATM, обычные модемы  и  многое
другое.

Сетевые сервисы.
Что  интересует пользователя в Интернете? На первый, поверхностный,  взгляд
Web-сайты,  FTP,  электронная  почта  и  новости.  Но  для  нормального   и
комфортного   функционирования  Интернета  необходимо    множество   других
сервисов – это и DNS, и прокси-серверы, и серверы точного времени и  многое
другое. Все это для Linux есть,  и  не  в  единственном  экземпляре,  нужно
только выбрать,  какой тяжести инструмент необходим. Сказанное  касается  и
серверного программного обеспечения, и клиентского.

Файловые менеджеры
Для пользователей старой закалки, знакомых еще с DOS, непременным атрибутом
  работы за компьютером был файловый менеджер. Хотя адепты   Linux   упорно
твердят о ненужности файлового менеджера для  Linux,  тем  не  менее  спрос
рождает предложение. Есть несколько файловых менеджеров  и для Linux.  Есть
они как и для текстовой консоли так и для  Х Windows.  Самый  известный  из
них– Midnight Commander (почти полный эквивалент Norton Commander).

Текстовые редакторы
Тут выбор широчайший – от простейшего  строчного  текстового  редактора  до
пакетов, которые текстовыми редакторами и назвать трудно.

Графические оболочки
Неоднократное опровергаемое утверждение, что Linux – чисто текстовая среда,
почему-то очень живучее. Хотя по  разнообразию  графических  оболочек  (или
менеджеров окон)  он  оставляет  далеко  позади  семейство  windows,  да  и
большинство  UNIX-   собратьев.  В  отличие  от  Windows,  в  Linux  (UNIX)
графическая оболочка  (Х Window) разделена на два  приложения:  Х-сервер  и
менеджер окон. Сервер в какой-то мере специфичен   для  аппаратных  средств
(зависит от видеокарты,  шины  данных  и  пр.)  и  выполняет  роль  рабочей
лошадки, а менеджер окон обеспечивает  внешний  вид  приложений,  отрисовку
окон, меню и прочих  элементов  графического  интерфейса.  Благодаря  такой
независимости  пользователь  получает   богатейший  выбор    средств    для
персонализации  своего рабочего места.
Графические редакторы
В этой категории тоже достаточно много программ. От самых  простых до очень
сложных, ничем не уступающих  по возможностям  CorelDRAW и  Photoshop.  Как
обычно редакторы есть векторные и растровые.  Для примера  Gimp – мощнейший
редактор, перенесенный в частности, под   Windows,   StarDraw  –  программа
создания рисунков на  основе   векторной  графики,  StarImage  –  программа
создания рисунков   на  основе  битовых  образов,  KimageShop  и  множество
других.

Web- инструментарий
Традиционно лучшим  редактором   для  Web-  дизайнера   считается   простой
текстовый  редактор,  однако    достаточно   много    людей    работают   в
специализированных   HTML-  редакторах.  Для  Linux,  однако,  выбор   HTML
редакторов  не очень большой.  К примеру, программа подготовки  HTML файлов
StarWriter/Web, WebMarker (разработка Алексея Дець, Россия) или Quanta Plus
(разработка Дмитрия Поплавского и Александра Яковлева, Украина).

Базы данных
Под Linux разработано и перенесено большое количество серверов данных –  от
настольных до уровня предприятия. В их числе   IBM DB2,  Informix,  Oracle,
Sybase SQL Anywhere, Interbase,  PostgreeSQL, MySQL.

Средства разработки программ
Для Linux и для UNIX родным языком является С/С++ но это не  означает,  что
кроме них никаких компиляторов языков не  существует.  Трудно найти  какой-
либо язык, компилятора  или  интерпретатора   которого  не  существует  для
Linux: С/С++, Pascal, Perl, Java, Lisp, Rexx, Fortan  и  т.д.,  и  т.п.  Не
обойдены стороной  и интегрированные  среды разработки.
Мультимедиа – приложения.
Аудио
Звуковые  средства  должны воспроизводить, как минимум, WAV и  MIDI  файлы,
MPEG 3, а также обычные аудио  CD.Поддерживаются  почти  все   мало-мальски
распространенные устройства. В том числе и дешевые  ISA и PCI карты.

Видео
Для воспроизведения  видео СD специально   предназначены программы   mtv  и
Xthearter. Для воспроизведения видео, записанного в получающем все  большее
распространение   формате  MPEG4(DVX),  можно  воспользоваться   программой
Mplayer.



V Файловые системы Linux

Идеология файловой системы

  Одним из столпов операционной системы является файловая  система.  От  ее
архитектуры, возможностей, надежности во  многом  зависит  работоспособность
операционной системы. Помимо продуманной "родной"  файловой  системы  крайне
желательно,  чтобы  была  возможность  также  работать  с  другими  наиболее
распространенными файловыми системами (например,  FAT  16/FAT  32).  В  этой
главе мы подробно рассмотрим, что нам предлагает Linux.

История развития файловых систем Linux

      Первоначально Linux разрабатывался как расширение операционной системы
Minix, и было вполне логично  взять  от  предшественника  все,  что  можно,
поскольку  такое  решение   позволяло   достаточно   быстро   пройти   этап
проектирования (ведь все уже и так разработано, надо  было  только  создать
соответствующий программный код). На тот момент (начало 1990-х,  компьютеры
на базе 386-го процессора считались мощными, в порядке  вещей  был  жесткий
диск емкостью 120 Мбайт) файловая система Minix была достаточно эффективна.
Однако ее архитектурные ограничения (адреса блоков  16-битные,  что  ставит
предел максимального объема файловой системы в 64 Мбайт, каталоги  содержат
записи с ограниченным размером, имя файла не должно превышать 14  символов)
очень скоро вынудили разработчиков задуматься  об  альтернативной  файловой
системе. Была разработана "Extended File  System"  (Ext  FS  —  расширенная
файловая система), затем ее сменила в качестве стандартной "Second Extended
File System"  (Ext2FS  —  вторая  расширенная  файловая  система).  Сегодня
практически завершена разработка следующей версии файловой системы Ext3 — с
поддержкой журналирования. Существуют также и другие журналируемые файловые
системы: ReiserFS (стандарт  de-facto  журналируемых  файловых  систем  для
серверов на базе Linux) и JFS от фирмы IBM. По всей видимости, в  ближайший
год  будет  произведен  полный  перевод  Linux  на  журналируемую  файловую
систему. Пока же большинство системных администраторов используют  файловую
систему ReiserFS. Однако достаточно много аналитиков предсказывают  большую
вероятность использования системы JFS. Аргументы  в  ее  пользу  достаточно
весомы: имя  IBM,  отлаженность,  хорошая  масштабируемость  и  надежность.
Посмотрим, кто победит.

ФАЙЛ

      Ключевым понятием в операционной  системе  Linux  является  концепция
файла. Практически все моменты, связанные с данными, в том  или  ином  виде
представляются в виде  файла  или  операций  с  файлами.  Для  операционной
системы Linux по  большому  счету,  все  равно,  с  каким  устройством  или
процессом взаимодействовать —  система  работает  с  файлом.  В  результате
получается весьма унифицированный интерфейс.

ТИПЫ ФАЙЛОВ

      Поскольку понятие файла применяется  к  достаточно  разнородным  вещам
(файл как таковой,  физические  устройства,  каталоги  и  т.  п.),  поневоле
возникает разделение файлов на типы. В Linux существует шесть типов файлов.
      файл;
    каталог;
   файл устройства
     канал (FIFO, PIPE
     сокет (Socket).
      ссылка (link).



ФАЙЛ
Содержит информацию в некотором формате. Для операционной системы —  просто
набор байтов. Вся интерпретация содержимого файла осуществляется прикладной
программой.

КАТАЛОГ ФАЙЛ УСТРОЙСТВА
Каталоги являются элементами  иерархического  дерева.  Любой  каталог  может
содержать файлы  и  подкаталоги.  Каталог  —  это  файл,  содержащий  список
записей. Каждая запись содержит номер индексного дескриптора и имя файла .

ФАЙЛ УСТРОЙСТВА
В операционной системе Linux  доступ  к  устройствам  осуществляется  через
специальные  файлы.  Такой  файл  является  точкой   доступа   к   драйверу
устройства. Существует два типа файлов устройств: символьные и блочные.

Символьный файл  устройства  используется  для  небуферизированного  обмена
данными с устройством — байт за байтом.
Блочный файл устройства  используется  для  обмена  с  устройством  блоками
данных. Некоторые устройства имеют как символьный, так и блочный интерфейс.

КАНАЛ
Файлы этого типа используются  для  связи  между  процессами  для  передачи
данных.

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

СОКЕТ
Сокеты   предназначены   для   взаимодействия   между   процессами.   Часто
используются для доступа к сети TCP/IP.

Владельцы файлов
Файлы в Linux имеют 3х владельцев – собственно владельца, группу  и  прочих
пользователей. Существует только один владелец, любое  количество  групп  и
все остальные, которые не входят в  группу.  Привилегия  владения  одно  из
ключевых понятий в системе защиты операционной системы Linux.
Каждый тип владельца может (или не может)  иметь  право  на   чтение  и/или
запись и/или исполнение файла, владельцем файла которого  он  является.  На
основе этих трех групп владельцев можно построить политику прав доступа   к
файлам  и каталогам, Позволяющую  надежно  и  непротиворечиво   обезопасить
операционную систему. Права доступа к файлу изменяются  от  максимальных  у
владельца файла вплоть до минимальных (вплоть до полного отсутствия) у всех
остальных. Устанавливать и изменять права доступа  к  файлу   или  каталогу
могут только 2 пользователя  –  владелец  файла   и  администратор  системы
(пользователь  root).  Изменять  права  доступа   к  файлу  можно  утилитой
chmood.

Модификаторы прав доступа

Как у любого правила,  в  жесткой  системе  прав  доступа  существуют  свои
исключения. Это так называемые дополнительные атрибуты файла:
      Sticky bit (Save Text Attribute) — "липкий" бит;
      SUID (Set User ID) — установка идентификатора пользователя;
         SGID — установка идентификатора группы. Рассмотрим эти атрибуты
подробнее.
  Sticky bit для файлов. В современных операционных системах  потерял  свое
  значение.
  Sticky bit для каталогов. Если sticky bit  установлен  для  каталога,  то
  пользователь, несмотря на то, что ему разрешена запись  в  этот  каталог,
  может удалять только те файлы,  владельцем  которых  он  является  или  к
  которым ему явно заданы права записи.
  SUID для файлов. Если установлены права доступа SUID и файл  исполняемый,
  то файл  при  запуске  на  выполнение  получает  не  права  пользователя,
  запустившего его, а права владельца файла. Такие фокусы используются  для
  того, чтобы пользователь мог работать с  некоторыми  системными  файлами,
  владельцем  которых  является  некий  привилегированный  пользователь.  К
  примеру, для того, чтобы пользователь мог  самостоятельно  изменить  свой
  пароль при помощи утилиты passwd,  у  этой  утилиты  (владельцем  которой
  является пользователь root) должен быть установлен  бит  SUID,  поскольку
  она работает с файлами (/etc/passwd),  модификацию  которых  имеет  право
  производить только пользователь root.

   SGID для файлов. Если установлены права доступа SGID, то это  аналогично
  установке бита SUID, только вместо владельца  файла  используется  группа
  владельца.
  SGID  для  каталогов.  В  случае  установки  SGID  для  каталога   файлы,
  содержащиеся в этом каталоге, будут иметь установки группы такие же,  как
  у каталога.

Файловые системы
Файловая система – это методы  и  структуры  данных,  которые  используются
операционной системой  для хранения  файлов на диске или в его разделе.
Перед тем как раздел или  диск  могут  быть  использованы   для  размещения
файловой  системы,  она  должна   быть  иниционализирована,   а   требуемые
служебные  данные  перенесены  на  этот  раздел  или  диск.  Этот   процесс
называется  созданием   файловой   системы   (иногда   его   еще   называют
форматированием, что в принципе не верно).
Основными  понятиями  в  файловой  структуре   Linux   (и   в   большинстве
операционных систем UNIX-семейства) являются:
      Суперблок
      Индексный дескриптор (inode)
      Блок данных
      Блок каталога
      Косвенный блок
      Файл
Типы файловых систем.

Linux поддерживает большое количество типов файловых систем. Наиболее
важные из них приведены ниже.

  Minix — старейшая файловая система, ограниченная в своих возможностях  (у
  файлов отсутствуют некоторые временные  параметры,  длина  име  ни  файла
  ограничена 30-ю символами) и доступных объемах (максимум 64 Мбайт на одну
  файловую систему).
  Xia  —  модифицированная  версия  системы  minix,  в  которой   увеличена
  максимальная длина имени файла и размер файловой системы.
  Ext — предыдущая версия системы Ext2. В настоящее  время  практически  не
  используется.
  Ext2 — наиболее богатая функциональными  возможностями  файловая  система
  Linux. На данный момент является самой популярной системой. Разработана с
  учетом совместимости с последующими версиями.
  Ext3   —   модернизация   файловой   системы   Ext2.   Помимо   некоторых
  функциональных   расширений   является   журналируемой.   Пока   широкого
  распространения не получила. Конкурирующая журналируемая файловая система
  — ReiserFS.
  VFS — виртуальная файловая система. По сути  —  эмулятор-прослойка  между
  реальной  файловой  системой  (MS-DOS,  Ext2,  xia  и  т.  д.)  и   ядром
  операционной системы Linux.
  Proc — псевдо-файловая система, в которой  посредством  обычных  файловых
  операций предоставляется доступ к некоторым параметрам  и  функциям  ядра
  операционной системы.
  ReiserFS — журналируемая файловая система.  Наиболее  используемая  среди
  журналируемых файловых систем для Linux.
      В операционную систему Linux для обеспечения обмена файлами с  другими
операционными  системами  включена  поддержка  некоторых  файловых  систем.
Однако их функциональные возможности могут быть значительно  ограничены  по
сравнению с  возможностями,  обычно  предоставляемыми  файловыми  системами
UNIX.
  msdos — обеспечивается совместимость с системой MS-DOS.
  umsdos — расширяет возможности драйвера файловой системы MS-DOS для Linux
  таким образом, что в Linux появляется возможность работы с именами файлов
  нестандартной длины,  просмотра  прав  доступа  к  файлу,  ссылок,  имени
  пользователя, которому принадлежит файл, а также оперирования  с  файлами
  устройств. Это  позволяет  использовать  (эмулировать)  файловую  систему
  Linux на файловой системе MS-DOS.
  iso9660 — стандартная файловая система для CD-ROM.
   xenix — файловая система Xenix.
  sysv — файловая система System V (версия для х8б).
  hpfs — доступ "только для чтения" к разделам HPFS.
  Nfs – сетквая файловая система, обеспечивающая разделение одной  файловой
  системы между несколькими компьютерами  для предоставления  доступа к  ее
  файлам  со всех машин.



|              |Mini FS      |Xia FS       |Ext FS       |Ext2 FS      |
|Максимальный  |64 Mбайт     |2 Гбайт      |2 Гбайт      |4 Тбайт      |
|объем файловой|             |             |             |             |
|системы       |             |             |             |             |
|Максимальная  |64 Mбайт     |64 Мбайт     |2Гбайт       |2Гбайт       |
|длина файла   |             |             |             |             |
|Максимальная  |30 Символов  |248 символов |255 символов |255 символов |
|длина имени   |             |             |             |             |
|файла         |             |             |             |             |
|Поддержка 3х  |Нет          |Нет          |Нет          |Да           |
|ячеек времени |             |             |             |             |
|изменения     |             |             |             |             |
|файла         |             |             |             |             |
|Возможность   |Нет          |Нет          |Нет          |Да           |
|расширения    |             |             |             |             |
|Изменяемый    |Нет          |Нет          |Нет          |Да           |
|размер блока  |             |             |             |             |
|Защита        |Да           |Да           |Да           |Да           |
|информации    |             |             |             |             |



VI Иерархия каталогов Linux
Linux Rad Hat 7.1
                            Иерархия каталогов первого уровня
|Имя каталога |Содержимое каталога                                       |
|/            |Корневой (Root) каталог. Является родительским для всех   |
|             |остальных каталогов в  системе                            |
|/bin         |Содержит важные для функционирования системы файлы        |
|/boot        |Содержит файлы для загрузчика ядра                        |
|/dev         |Хранит файлы устройств                                    |
|/etc         |Содержит Host – специфичные файлы системной конфигурации  |
|/home        |Пользовательские домашние каталоги                        |
|/lib         |Важные разделяемые библиотеки и модули ядра               |
|/lost + found|Содержит файлы, восстановленные при ремонте утилитами     |
|             |восстановления файловых систем                            |
|/misc        |Каталог для автоматически монтируемых  устройств          |
|             |(дисковод, CD -ROM)                                       |
|/mnt         |Точка монтирования временных разделов                     |
|/opt         |Дополнительные пакеты приложений                          |
|/proc        |Точка монтирования псевдофайловой системы proc, которая   |
|             |является интерфейсом ядра операционной системы            |
|/root        |Домашний каталог пользователя root                        |
|/sbin        |Содержит важные системные  исполняемые файлы              |
|/tmp         |Хранит временные файлы                                    |
|/usr         |Вторичная иерархия                                        |
|/var         |Содержит переменные данные                                |

Корневой (Root) каталог
Точка монтирования всей файловой системы. Играет исключительно  важную  роль
в процессе  «жизнедеятельности» операционной системы. Для  загрузки  системы
необходимо, чтобы в  корневом разделе (корневой раздел в Linux – это  аналог
С: для  DOS/windows  –  только  на  него  возможно  установить  операционную
систему. И корневой раздел является точкой монтирования корневого  каталога)
находились утилиты и конфигурационные файлы , необходимые  для  монтирования
других файловых систем. Кроме того,  в  корневой  файловой  системы   должны
присутствовать утилиты, необходимые  для     создания,   восстановления  или
ремонта  файловых систем,  а  также   для  административного  восстановления
(backup) системы с ленты, CD-ROM, дискет и тому подобных носителей.



Каталог /bin

Содержит важные  исполняемые файлы, которые используются всеми (в том  числе
и администратором системы) пользователями.  Кроме   того,  в  каталоге  /bin
должны  находиться  исполняемые  файлы,  необходимые  для   функционирования
системы в  однопользовательском   режиме   (single  mode).  Он  также  может
содержать  исполняемые файлы,  которые  напрямую  используются  в  скриптах.
Каталог  /bin не  должен  содержать  подкаталогов.  Исполняемые   файлы,  от
которых  напрямую  не   зависит   функционирование   системы   рекомендуется
размещать во вторичной  иерархии – в каталоге /usr/bin.



  Каталог /boot
  Содержит  все,  что  требуется   для  процесса  загрузки,  исключая  файлы
  конфигурации. В каталоге  /boot находятся данные, используемые  ядром   до
  того, как оно начинает исполнять программы   пользовательского  режима.  В
  этом же  каталоге может  находиться   сохраненный  сектор  master  boot  и
  другие специфичные данные.

  Каталог /dev
  Содержит файлы устройств или специальные  файлы.

  Каталог /etc
  Содержит конфигурационные   файлы   и  каталоги,  которые  специфичны  для
  данной системы. В этом каталоге не должно находиться  никаких  исполняемых
  модулей.

  Каталог /lib-важные разделяемые  библиотеки и модули ядра
  Каталог   содержит  разделяемые   библиотеки,  необходимые  для   загрузки
  системы и  запуска команд в корневой  файловой  системе,  те  только   для
  файлов, находящихся, в каталоге  /bin и /sbin . По меньшей  мере  одна  из
  групп  файлов  должна находиться  в каталоге /lib

  Каталог /lost + found
  Каталог  который должен присутствовать на каждом разделе.(Если, к примеру,
  винчестер разбит на 3 раздела, которые монтируются в  /,/home,/var,  то  в
  корневой файловой системе, в  каталоге  /home  и  в  каталоге  /var  будет
  присутствовать /lost+found )
  Назначение  этого каталога  достаточно очевидно – при аварийных  ситуациях
  возможна потеря информации.  Специальная  утилита  chkfsk  восстанавливает
  (конечно если это возможно) утерянную информацию. Однако иногда невозможно
   достоверно  определить  принадлежность  восстановленных  данных   какому-
  нибудь  определенному  файлу.  В  этом   случае   восстановленные   данные
  помещаются в каталог  /lost+found.

  Каталог /misc – точка монтирования  автоматически  монтируемых устройств
  Каталог предназначен  для использования  в  качестве   точки  монтирования
  дискет и CD-ROM дисков  программой automount.



  Каталог /mnt  –  точка  монтирования  для  временно  монтируемой  файловой
  системы
  Каталог предназначен для того, чтоб системный администратор  мог  временно
  монтировать  файловую  систему (например, дискету или CD-ROM).

  Каталог /opt – дополнительные  программные пакеты
  Каталог  зарезервирован  для  инсталляции   дополнительного   программного
  обеспечения.



  Каталог /proc – точка монтирования виртуальной файловой системы procfs
  Procfs является псевдофайловой системой, обеспечивающей интерфейс с  ядром
  Linux. Эта система позволяет получить  доступ  к  определенным  структурам
  данных ядра, в частности, к списку процессов (отсюда и название). Все  эти
  структуры выглядят  как  файловая   система,  и  ими   можно   оперировать
  обычными  средствами работы с файловой системой.

  Каталог  /root – домашний каталог  для пользователя  root (администратора)
  Существенных причин для вынесения  домашнего каталога   /root  в  корневой
  уровень нет. Однако существует практика выделения  отдельного раздела  для
  каталога /home, который при аварийных ситуациях может не подмонтироваться.
  По-видимому, по этой причине  каталог /root  вынесли на корневой уровень.

  Каталог /sbin –системные исполняемые файлы.
  Каталог  /sbin  содержит  исполняемые  файлы  необходимые  для   загрузки,
  восстановления,  починки системы в добавление  к  файлам,  находящимся   в
  каталоге /bin.

  Каталог /tmp- временные файлы
  Каталог  должен   быть   доступен  для  программ,  которые  нуждаются   во
  временных файлах.

  Каталог /usr – иерархия
  Каталог /usr – это вторая основная  секция  файловой системы, разделяемая,
  только для чтения. В каталоге /usr должны находиться  следующие каталоги:
  /bin – содержит большую часть утилит, используемых пользователем;
  /include – файлы заголовков, включаемых в С-программы;
  /lib – библиотеки;
  /local- локальная иерархия;
  /sbin- содержит не жизненно важные исполняемые системные файлы;
  /share –  архитектурно-независемые данные;
  /X11R6 – X Windows System, версия 11, выпуск 6;
  /games – игры и образовательные программы;
  /src – исходные коды.

  Каталог /var
  Каталог содержит изменяемые файлы .Сюда входят  spool – каталоги и  файлы,
  административные и журнальные данные, временные файлы.



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


  Некоторые термены и понятия

|Термин                             |Определение                          |
|Датаграмма                         |Пакет, пакет данных. Обозначает      |
|                                   |единицу информации при  сетевом      |
|                                   |обмене                               |
|DNS (Domain Name Service, служба   |Специально выделенные компьютеры,    |
|доменных имен)                     |которые производят поиск соответствия|
|                                   |символического имени  хоста и        |
|                                   |цифрового адреса хоста               |
|Интернет                           |Глобальная компьютерная сеть,        |
|                                   |основанная на  семействе протоколов  |
|                                   |TCP/IP                               |
|FTP(File Transfer Protocol,        |Используется для приема  и передачи  |
|протокол передачи файлов)          |данных между двумя  компьютерами     |
|IP(Internet Protocol, протокол     |Основа основ  семейства протоколов   |
|Интернета)                         |TCP/IP. Практически любой протокол из|
|                                   |этого семейства  базируется на       |
|                                   |протоколе IP                         |
| NFS(Network File System, сетевая  |Система виртуальных дисков,          |
|файловая система)                  |позволяющая клиентским компьютерам   |
|                                   |использовать  каталоги сервера в     |
|                                   |качестве диска                       |



смотреть на рефераты похожие на "OS Linux "