Здравствуйте уважаемые читатели блога www.сайт . Совсем немного времени осталось до окончания поддержки Windows XP в апреле 2014 года.

Думаю, что незадолго до этого события имеет смысл на всякий случай запастись оффлайновым набором обновлений для XP, например, с помощью утилиты «WSUS Offline Update», описанной в .

Что произойдет непосредственно после 8.04.2014 года? Да, собственно, в первый момент ничего. Те, кто по той или иной причине до сих пор не сумели отказаться от Windows XP, будут продолжать пользоваться этой операционной системы неопределенное время. По некоторым оценкам после окончания поддержки под ХР останутся около 15% мировых компьютеров.

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

Положение будет несколько смягчаться за счет ПО антивирусной защиты. Microsoft обещает продолжить поддержку Essential Security для XP. Можно предположить, что и антивирусные средства других разработчиков также не перестанут работать. Но антивирусное ПО и уязвимости операционной системы это все же далеко не одно и тоже.

Как-то мы уже обращались к теме в связи с программами Adobe. Правда, в отношении Windows XP называть уязвимости Zero-day будет уже неправильно. «Нулевой день» — это когда об уязвимости никто, кроме обнаруживших и эксплуатирующих ее злоумышленников не знает. А здесь знать будут, как бы, все, а вот устраняться она уже не будет.

Таким образом с каждым днем после окончания поддержки работа в Windows XP будет все более и более небезопасной. Наверное стоит все же попытаться найти ей замену. В этой связи мы и поговорим сегодня о Linux . Самое время.

Альтернативой Windows XP я бы Linux не назвал – это все же совершенно другая операционная система, которая с большим или меньшим успехом позволит выполнять те или иные задачи. Просто далеко не на все компьютеры, на которых работает Windows XP, можно установить новые версии операционных систем Microsoft, а вот Linux , как правило, можно.

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

Начнем с файловой системы.

Особенности файловой системыLinux

Самое главное это разобраться с различиями в подходе к организации структуры файловой системы.

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

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

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

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

Однако далеко не каждая системная папка может быть перенесена на другой диск. Например, хорошо известную, можно даже сказать, печально известную всем продвинутым пользователям Windows 7 папку переместить нельзя.

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

В Linux все наоборот. Основой файловой структуры является не том, а жестко зафиксированная, пришедшая из Unix , логическая структура каталогов системы – стандарт FHS (Filesystem Hierarchy System ).

Если открыть в файловом менеджере Файловую систему Linux , то первое что можно заметить — отсутствуют привычные буквы дисков – в Linux они попросту не используются.

То, как обозначаются диски и дисковые тома в Linux , мы уже разбирали в , посвященной резервному копированию и восстановлению дисков с помощью утилиты Clonezilla , работающей в среде Linux . Коротко напомним их.

Обозначение дисков в операционной системе Linux

Первый жесткий SATA диск обозначается как sda , диск с интерфейсом SCSI или уже устаревшим сегодня PATA hda .

Первый раздел (том) диска обозначается как sda1 (hda1 ), второй sda2 , и так далее.

Второй жесткий диск будет называться sdb (hdb ), разделы, соответственно, – sdb1 , sdb2 , …

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

Перечень и назначение каталогов файловой структуры Linux

Вся файловая структура Linux строится относительно корневого каталога , который имеет обозначение “/ ”.

Если при установке операционной системы смонтировать, например, первый раздел первого диска в корневой каталог / (точка монтирования — mount point ), то абсолютно все файлы (и системные и пользовательские) будут размещаться на этом диске.

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

Дело в том, что Linux позволяет непосредственно в процессе установки или позднее монтировать к некоторым точкам своего каталога различные дисковые разделы. Это значит, что штатными средствами без каких-либо дополнительных усилий и отрицательных последствий файлы операционной системы можно разместить в разных разделах одного диска, на разных дисках и даже в сети.

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

/bin - каталог, в котором находятся основные исполняемые файлы (binary files - двоичные файлы). Обычный пользователь не может изменять расположенные в нем файлы, только просматривать. Доступ на запись имеет исключительно суперпользователь – Root .

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

Перенос /boot на отдельный раздел может быть необходим, например, при использовании в системе менеджера логических томов LVM (Logical Volume Manager ). Такую конфигурацию мы рассматривали в , посвященной оптимизации использования дискового пространства в нетбуке Asus eee pc 900 .

В этом случае можно найти определенную аналогию между каталогом /boot и разделом “Зарезервировано системой ” Windows 7.

/dev – в этом каталоге размещаются специальные файлы устройств (devices - устройства ).

Работа со всеми устройствами компьютера осуществляется с помощью этих файлов-интерфейсов. Дополнительно можно отметить, что в каталоге присутствуют файлы не только реальных, но и виртуальных устройств. Например, устройство Null , или устройство генератор случайных чисел Random . Права на каталог аналогичны /bin .

/etc – каталог, содержащий основные конфигурационные файлы программ и системных утилит. (et cetera - и так далее ).

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

Продвинутые “линуксоиды” предпочитают работать именно с текстовыми файлами настроек. Совершенно не факт, что вам придется делать тоже самое – в современных версиях Linux существует множество графических утилит для настройки системы и программ. Хотя, в конечном счете, они являются лишь удобным интерфейсом пользователя для изменения все тех же текстовых файлов.

Так как модификация этих файлов может привести к серьезным системным изменениям, редактировать что-либо в данном каталоге может, опять же, только суперпользователь Root .

/lib – основные разделяемые библиотеки с которыми работают исполняемые файлы из каталогов /bin и /sbin .

/media – каталог подключаемых носителей.

Что произойдет в Windows, если к компьютеру подключить USB Flash (флешку), USB диск или загрузить оптический диск в дисковод, хорошо известно. Устройство будет автоматически смонтировано в систему с присвоением ему первой свободной буквы. После этого с его содержимым можно начинать работать.

Абсолютно тоже самое произойдет и при подключении устройства к компьютеру с операционной системой Linux. Оно будет автоматически смонтировано (благо, времена, когда монтировать подключаемые накопители нужно было руками в командной строке, миновали).

Однако, никаких букв или новых устройств после этого не возникнет. Вместо них появится соответствующая устройству папка в каталоге /media . Вот так все просто.

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

В чем могут быть преимущества такого подхода попробую пояснить на конкретном примере из Windows. На своем рабочем компьютере в качестве менеджера фотографий я использую замечательную программу Picasa . Время от времени я делаю с ее помощью резервную копию снимков на внешний USB диск. Очень удобно, так как копируются только новые и измененные фотографии.

Особенностью программы является жесткая привязка существующего архива к конкретной букве диска. А так как Windows монтирует подключаемые устройства на произвольную букву, то практически через раз приходится исправлять ситуацию через “Управление дисками”. В Linux такого бы не происходило (беда вот только, что версии Picasa для Linux не существует ).

/mnt – точка временного монтирования файловых систем. Используется в основном системными администраторами для выполнения неких действий с файлами подключенного устройства хранения.

/opt – каталог зарезервирован для установки дополнительных пакетов программного обеспечения. Например, если установить на компьютер с Linux хорошо всем известную программу , то ее файлы окажутся в папке /opt/google/earth/free/ . В /opt обычно размещаются пакеты проприетарного ПО.

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

/root – домашний каталог суперпользователя root . В отличие от домашних каталогов рядовых пользователей (/home) всегда размещается в корне файловой системы, то есть не может быть перемещен на другой раздел.

В этой связи уместно вспомнить, что применительно к переносу профилей пользователей в Windows я также всегда оставлять каталог администратора на .

Такой подход определенным образом гарантирует доступность системы для администрирования.

/run – централизованное хранилище временных файлов, необходимых для запуска служб на ранних стадиях загрузки системы. Такие файлы проблематично размещать в каталоге /tmp в силу того, что в нем они могут быть удалены.

Каталог /run появился в Linux совсем недавно, буквально пару лет назад.

/sbin – аналог каталога /bin . В нем находятся исполняемые файлы, используемые для задач системного администрирования. Например, ifconfig, iptables и др.

/srv – каталог, в котором размещаются файлы сервисов, предоставляемых системой. Если таких сервисов нет, то данный каталог пуст.

/sys — точка монтирования виртуальной файловой системы sysfs , расположенной в памяти. Предоставляет пользователю детализированную информацию о работе ядра системы, например, о загруженных модулях, параметрах и драйверах устройств.

Появилась относительно недавно с целью упорядочить и отделить от /proc информацию о структурах ядра.

/tmp – каталог для размещения временных файлов. Аналог папки C:/Windows/Temp в операционной системе Windows.

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

В каталоге /usr расположены папки /usr/bin , /usr/sbin и /usr/lib . Их назначение аналогично рассмотренным выше одноименным каталогам с той разницей, что размещенные в них файлы относятся к пользовательским, а не к системным приложениям.

Все пользователи, кроме суперпользователя root , имеют разрешение только на чтение.

/var – каталог для хранения постоянно изменяемых данных. Его назначение аналогично каталогу /usr , но в отличие от него в /var данные можно записывать. Так например, журнальные файлы расположены в /var/log .

/lost+found — файлы, на которые нет ссылок ни из одной директории. Могут появиться в результате какого-либо системного сбоя, например, из-за выключения питания в момент удаления файла. При появлении таких файлов пользователь может проанализировать их содержимое и принять решение о том, что с ними делать.

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

/home – каталог, в котором размещаются домашние папки пользователей .

Описание каталога /home было перенесено в завершающую часть статьи намеренно. В конечном счете интересовать нас в ближайшее время будет именно он.

В Домашних папках хранятся не только файлы пользователей, с которыми они непосредственно работают (их при желании можно разместить и в другом месте), но, главное, вся пользовательская часть конфигурационных файлов — настройки программ, настройки интерфейса и учетные данные.

Так как Linux является многопользовательской системой, каждый пользователь имеет уникальную домашнюю папку . Как мы уже говорили выше, домашняя папка суперпользователя root находится в другом месте в корне файловой системы.

Конкретный пользователь имеет доступ на запись только в своем домашнем каталоге. Для изменения других файлов в системе ему должны быть предоставлены права пользователя root .

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

    Ну да. В целом как-то так и есть. В конечном счете все зависит от того какие для работы нужны приложения. И в них же все в Linux и упирается.
    Я думаю, что слово «правильно» не очень подходит. Если установка проводилась «на автомате», то все было сделано правильно, просто без расчета на возможные изменения в будущем.

На домашнем ноте поставил Ubuntu и 7-ку,но так-как на нем в основном играю то чаще пользуюсь Семеркой.Ubuntu ставил для ознакомления и интересовал процесс установки двух Осей на винт. Пользоваться Ubuntu можно — работать нет,потому что работаю со специфическим софтом которому необходим не просто Win а еще и строго x86 (жесть, каменный век и Российские софтописатели). По той же причине и на рабочем ноте стоит 7-ка x86 с разблокированным PAE.
Для обычного пользователя, мне кажется, вообще не будет разницы какая у него стоит система пока можно смотреть фильмы и шарится в сети, а с этим в Linuxe (не важно каком, главное с графическим интерфейсом 🙂) проблем нет.
Спасибо за статью, для меня оказалась полезной так как с файловой системой Линуха слабо знаком.

  • Полностью согласен. Ситуация очень типичная. Главным тормозом широкого внедрения Linux являются программы. Вернее отсутствие полных аналогов Windows-программ. Очень уж сильны традиции, привычки и огромное количество наработок. А с другой стороны, откуда им взяться? У разработчиков нет четкого коммерческого интереса.

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

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

На сегодняшний день наиболее известными операционными системами для компьютеров являются семейства операционных систем Microsoft Windows и UNIX. Первые ведут свою родословную от операционной системы MS-DOS, которой оснащались первые персональные компьютеры фирмы IBM. Операционная система UNIX была разработана группой сотрудников Bell Labs под руководством Денниса Ричи, Кена Томпсона и Брайана Кернигана (Dennis Ritchie, Ken Thompson, Brian Kernighan) в 1969 году. Но в наши дни, когда говорят об операционной системе UNIX, чаще всего имеют в виду не конкретную ОС, а скорее целое семейство UNIX-подобных операционных систем. Само же слово UNIX (заглавными буквами) стало зарегистрированной торговой маркой корпорации ATT.

В конце 70-х годов (теперь уже прошлого столетия) сотрудники Калифорнийского университете в Беркли внесли ряд усовершенствований в исходные коды UNIX, включая работу с протоколами семейства TCP/IP. Их разработка стала известна под именем BSD ("Berkeley Systems Distribution"). Она распространялась под лицензией, которая позволяла дорабатывать и усовершенствовать продукт, и передавать результат третьим лицам (с исходными кодами или без них) при условии, что будет указано, какая часть кода разработана в Беркли.

Операционные системы типа UNIX, в том числе и BSD, изначально разрабатывались для работы на больших многопользовательских компьютерах - мейнфреймах. Но персональные компьютеры постепенно наращивали мощь своего аппаратного обеспечения, и в наши дни они уже превосходят по возможностям те мейнфреймы, для которых в 70-х годах разрабатывалась ОС UNIX. И вот, в начале 90-х годов студент хельсинкского университета Линус Торвальдс (Linus Torvalds) приступил к разработке UNIX-подобной ОС для IBM-совместимых персональных компьютеров.

1.1.2 Немного истории

Вот текст сообщения, которое Торвальдс отправил в группу новостей comp.os.minix 25 августа 1991 года:

From: [email protected] (Linus Benedict Torvalds)

Newsgroups: comp.os.minix

Subject: What would you like to see most in minix?

Summary: small poll for my new operating system

Organization: University of Helsinki

Hello everybody out there using minix -

I"m doing a (free) operating system (just a hobby, won"t be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I"d like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).

I"ve currently ported bash(1.08) and gcc(1.40), and things seem to work.

This implies that I"ll get something practical within a few months, and I"d like to know what features most people would want. Any suggestions are welcome, but I won"t promise I"ll implement them:-)

Linus ([email protected])

PS. Yes - it"s free of any minix code, and it has a multi-threaded fs. It is NOT portable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that"s all I have:-(.

В этом сообщении Линус пишет, что он работает над (свободной) операционной системой для 386-х (486-х) компьютеров, и просит всех заинтересованных лиц сообщить, какие компоненты системы пользователи хотят видеть в первую очередь. Но, как видно из текста послания, оболочка bash и компилятор gcc у него уже работали. Работали они под управлением операционной системы Minix, которая была разработана профессором Э.Таненбаумом (Andy Tanenbaum) как учебное пособие для студентов-программистов. Minix работала на компьютерах с 286-ым процессором и послужила для Торвальдса прообразом новой ОС.

Файлы первого варианта Linux (версия 0.01) были опубликованы в Интернете 17 сентября 1991 года. Как пишет сам Торвальдс: "As I already mentioned, 0.01 didn"t actually come with any binaries: it was just source code for people interested in what linux looked like. Note the lack of announcement for 0.01: I wasn"t too proud of it, so I think I only sent a note to everybody who had shown interest."

Затем, 5 октября 1991 г. была выпущена версия 0.02, которая уже работала. Впрочем, подробное изложение истории Linux не входит в задачи данной книги, поэтому продолжать данную тему я не буду, отсылая заинтересованных читателей к [П3.1].

Л. Торвальдс не стал патентовать или иным образом ограничивать распространение новой ОС. С самого начала Linux распространяется на условиях, определяемых лицензией General Public License (GPL), принятой для программного обеспечения, разрабатываемого в рамках движения Open Source и проекта GNU (см. [П3.2]). На Linux-сленге эту лицензию иногда называют Copyleft. Об этой лицензии, движении Open Source и проекте GNU необходимо поговорить особо.

В 1984 году американский ученый Ричард Столлман (Richard Stallman) основал Фонд Свободного Программного Обеспечения (Free Software Foundation). Целью этого фонда было устранение всех запретов и ограничений по распространению, копированию, модификации и изучению программного обеспечения. Ведь до тех пор коммерческие компании тщательно оберегали разработанное ими программное обеспечение, ограждали его патентами и знаками защиты авторских прав, держали в строжайшем секрете исходные коды программ, написанных на языках высокого уровня (типа С++). Столлман считал, что это наносит огромный вред развитию ПО, приводит к снижению качества программ и наличию в них огромного количества невыявленных ошибок. И, что хуже всего, это приводит к замедлению процесса обмена идеями в области программирования, тормозит создание нового ПО в силу того, что каждому программисту приходится полностью заново писать каждую программу, вместо того, чтобы заимствовать уже готовые куски исходного кода из готовых программ.

В рамках Фонда Свободного ПО была начата разработка проекта GNU - проекта создания свободного программного обеспечения. Аббревиатура GNU открывается рекурсивно - GNU"s Not Unix, т. е. то, что принадлежит проекту GNU, не является частью Unix (потому что к тому времени даже само слово UNIX уже было зарегистрированной товарной маркой, т. е. перестало быть свободным). В "Манифесте GNU" [П3.3], который был написан в 1985 г., Р. Столлман в качестве главной движущей силы, которая привела к возникновению FSF и проекта GNU, ставит свое неприятие прав собственности отдельных людей на программное обеспечение.

То, что разрабатываемое в рамках проекта GNU ПО свободно, не означает, что оно распространяется без лицензии и никак не защищено в юридическом смысле. Программы, разрабатываемые в рамках движения Open Source, распространяются на условиях лицензии General Public License(GPL) [П3.2]. Если сказать очень кратко, то суть этой лицензии состоит в следующем. Программное обеспечение, распространяемое под этой лицензией, можно как угодно дорабатывать, модифицировать, передавать или продавать другим лицам при условии, что результат такой переработки тоже будет распространяться под лицензией copyleft. Последнее условие - самое важное и определяющее в этой лицензии. Оно гарантирует, что результаты усилий разработчиков свободного ПО останутся открытыми и не станут частью какого-либо лицензированного обычным способом продукта. Оно также отличает свободное ПО от ПО, распространяемого бесплатно. Говоря словами создателей FSF, лицензия GPL "делает ПО свободным и гарантирует, что оно останется свободным".

Практически все ПО, распространяемое на условиях GPL, является почти бесплатным для пользователей (в большинстве случаев для того, чтобы получить его, Вы должны заплатить только за CD-ROM-диск с ПО или за трафик выхода в Интернет). Это не означает, что программисты перестают получать вознаграждение за свой труд. Основная мысль Р. Столлмана состоит в том, что нужно продавать не программное обеспечение, а труд программиста как такового. Например, источником дохода может быть сопровождение программных продуктов или их установка и конфигурация для внедрения на новых компьютерах и/или в новых условиях, преподавание и т. д. Хорошим вознаграждением может быть и получение автором свободных программ определенной известности, которая позволит ему в последующем получить высокооплачиваемую работу.

В рамках движения Open Source, и в частности проекта GNU, было разработано значительное количество программ, наиболее известными из которых являются редактор Emacs и компилятор GCC (GNU C Compiler) - самый лучший и по сей день компилятор языка C. Открытость исходных кодов программ оказывает очень благотворное влияние на качество программного обеспечения: все лучшее, все новые идеи и решения сразу же широко распространяются, а все ошибки замечаются и быстро устраняются. Начинает работать механизм естественного отбора, который подавлен в том варианте подхода к распространению программ, который практикуется в коммерческом ПО.

Но вернемся к истории собственно Linux. Надо сказать, что разработка Линуса Торвальдса представляла собой только ядро операционной системы. Это ядро "упало на подготовленную почву", в том смысле, что в рамках проекта GNU уже было разработано большое количество утилит разного рода. Но для превращения GNU в полноценную ОС не хватало ядра. Разработка ядра велась (оно называлось Hurd), но по каким-то причинам задерживалась. Поэтому появление разработки Л. Торвальдса было очень своевременным. Оно ознаменовало рождение операционной системы, распространяемой с открытыми исходными кодами.

Р. Столлман, конечно, прав, когда настаивает на том, что операционная система Linux должна называться GNU/Linux. Но так уж сложилось, что название ядра стало служить названием всей операционной системы, и мы в этой книге будем поступать так же.

1.1.3 Основные характеристики ОС Linux

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

Реальная многозадачность

Все процессы независимы; ни один из них не должен мешать выполнению других задач. Для этого ядро осуществляет режим разделения времени центрального процессора, поочередно выделяя каждому процессу интервалы времени для выполнения. Это существенно отличается от режима "вытесняющей многозадачности", реализованной в Windows 95, когда процесс должен сам "уступить" процессор другим процессам (и может сильно задержать их выполнение).

Многопользовательский доступ

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

Свопирование оперативной памяти на диск

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

Страничная организация памяти

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

Загрузка выполняемых модулей "по требованию"

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

Совместное использование исполняемых программ

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

Общие библиотеки

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

Динамическое кеширование диска

Кеширование диска - это использование части оперативной памяти для хранения часто используемых данных с диска, что существенно ускоряет доступ к часто используемым программам и задачам. Пользователи MS-DOS работают со SmartDrive, который резервирует фиксированные области системной памяти для кеширования диска. Linux использует более динамичную систему кеширования: память, зарезервированная под кеш, увеличивается, когда память не используется, и уменьшается, если системе или процессу пользователя требуется больше памяти. 100%-ное соответствие стандарту POSIX 1003.1.

Частичная поддержка возможностей System V и BSD

POSIX 1003.1 (Portable Operating System Interface - интерфейс мобильной операционной системы) задаeт стандартный интерфейс Unix-систем, который описывается набором процедур языка Си. Сейчас он поддерживается всеми новыми ОС. Microsoft Windows NT также поддерживает POSIX 1003.1. Linux 100%-но соответствует POSIX. Дополнительно поддерживаются некоторые возможности System V и BSD для увеличения совместимости.

System V IPC

Linux использует технологию IPC (InterProcess Communication) для обмена сообщениями между процессами, использования семафоров и общей памяти.

Возможность запуска исполняемых файлов других ОС

Linux не является первой в истории операционной системой. Для ранее разработанных ОС, включая DOS, Windows 95, FreeBSD или OS/2, разработана масса различного, в том числе очень полезного и очень неплохого программного обеспечения. Для запуска таких программ под Linux разработаны эмуляторы DOS, Windows 3.1 и Windows 95. Более того, фирмой Vmware разработана система "виртуальных машин", представляющая собой эмулятор компьютера, в котором можно запустить любую операционную систему. Имеются аналогичные разработки и у других фирм. ОС Linux способна также выполнять бинарные файлы других Intel-ориентированных Unix-платформ, соответствующих стандарту iBCS2 (intel Binary Compatibility).

Поддержка различных форматов файловых систем

Linux поддерживает большое число форматов файловых систем, включая файловые системы DOS и OS/2, а также современные журналируемые файловые системы. При этом и собственная файловая система Linux, которая называется Second Extended File System (ext2fs), позволяет эффективно использовать дисковое пространство.

Сетевые возможности

Linux можно интегрировать в любую локальную сеть. Поддерживаются все службы Unix, включая Networked File System (NFS), удалeнный доступ (telnet, rlogin), работа в TCP/IP сетях, dial-up-доступ по протоколам SLIP и PPP, и т. д.. Также поддерживается включение Linux-машины как сервера или клиента для другой сети, в частности, работает общее использование (sharing) файлов и удаленная печать в Macintosh, NetWare и Windows.

Работа на разных аппаратных платформах

Хотя ОС Linux первоначально была разработана для ПК на базе Intel 386/486, сейчас она может работать на всех версиях Intel-овских микропроцессоров, начиная с 386 и кончая многопроцессорными системами на Pentium III (с Pentium IV возникли определенные трудности, но, судя по сообщениям в Интернете, они были вызваны ошибками в реализации процессора). Так же успешно Linux работает на различных клонах Intel от других производителей; в Интернете встречаются сообщения о том, что на процессорах Athlon и Duron от AMD Linux работает даже лучше, чем на Intel. Кроме того, разработаны версии для других типов процессоров - ARM, DEC Alpha, SUN Sparc, M68000 (Atari и Amiga), MIPS, PowerPC и других (отметим, что в настоящей книге рассматривается только вариант для IBM-совместимых компьютеров).

1.2. Дистрибутивы Linux

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

Как уже говорилось выше, если быть точным, то слово "Linux" обозначает только ядро. Поэтому, когда речь идет об операционной системе, правильнее было бы говорить "операционная система, основанная на ядре Linux". Ядро ОС Linux разрабатывается под общим руководством Линуса Торвальдса и распространяется свободно (на основе лицензии GPL), как и огромное количество другого программного обеспечения, утилит и прикладных программ. Одним из следствий свободного распространения ПО для Linux явилось то, что большое число разных фирм и компаний, а также просто независимых групп разработчиков стали выпускать так называемые дистрибутивы Linux.

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

Тем не менее, в мире существует уже более сотни различных дистрибутивов Linux, и все время появляются новые. Более-менее полный список их можно найти на сервере http://www.linuxhq.com, где даны краткие характеристики каждому дистрибутиву (упоминаются и некоторые локализованные версии). Кроме того, там же есть ссылки на другие списки дистрибутивов, так что при желании можно найти все, что вообще существует в мире (правда, все это на английском языке, и русских локализаций там маловато упомянуто).

А. Федорчук в статье [П3.8] предпринял попытку классификации дистрибутивов, положив в основу следующие критерии:

Структура файловой системы;

Программа инсталляции;

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

Состав утилит и прикладных программ, включенных в дистрибутив.

Хотя А. Федорчук и приходит к выводу, что различия между дистрибутивами несущественны и все более стираются, из его статьи все же следует, что на сегодняшний день выделяются по крайней мере 3 группы дистрибутивов, наиболее типичными представителями, которых являются Red Hat, Slackware и Debian.

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

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

Одна из команд сформировалась в Институте Логики (http://www.iplabs.ru). Эта команда некоторое время занималась русификацией дистрибутива Linux Mandrake Russian Edition, а в марте 2001 г. организовала фирму "ALTLinux" (http://www.altlinux.ru) и выпустила собственный дистрибутив ALTLinux (который, впрочем, очень похож на Linux Mandrake Russian Edition).

Вторая команда представлена фирмой "ASPLinux" (http://www.asplinux.ru, http://www.asp-linux.com, http://www.asp-linux.com.sg, http://www.asp-linux.co.kr), которая тоже выпустила собственный дистрибутив ASPLinux. В состав этой команды вошли Л. Кантер и А. Каневский, которые раньше выпускали известный дистрибутив Black Cat Linux.

Третья команда, насколько я могу судить, представлена Санкт-Петербургской фирмой "Linux Ink.” (http://www.linux-ink.ru), которая выпускает Red Hat Linux Cyrillic Edition.

Конечно, имеются и другие русифицированные дистрибутивы. В 2000 году появились дистрибутивы Best Linux (http://bestlinux.net), поддерживаемый фирмой SOT из Финляндии, и RosLinux. Описание нескольких русифицированных дистрибутивов Linux дано в книге А. Федорчука [П1.6]. Но, на мой взгляд, если говорить о выборе дистрибутива, то на сегодняшний день заслуживают внимания только три дистрибутива: Red Hat Linux Cyrillic Edition, Linux Mandrake Russian Edition (и его потомок ALTLinux) и ASPLinux. Я могу привести следующие доводы в пользу такого выбора:

Эти дистрибутивы принадлежат к семейству дистрибутивов, строящихся на основе Red Hat Linux, выпускаемого одноименной американской фирмой, а судя по материалам Интернета, Red Hat - это самый распространенный в мире дистрибутив.

Эти дистрибутивы изначально русифицированы.

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

Легко устанавливается (добавляется) дополнительное программное обеспечение, поскольку оно поставляется в RPM-пакетах (это такая технология распространения ПО, вроде программы setup под Windows).

Эти дистрибутивы поддерживаются сформировавшимися командами разработчиков и постоянно обновляются, поэтому можно рассчитывать на то, что Вы будете иметь возможность работать с последними версиями Linux.

Несколько слов о нумерации версий. Надо различать номера версий дистрибутивов и номера версий ядра. Когда говорят о версиях Linux, то обычно имеют в виду версию ядра (ибо принадлежность операционной системы к Linux определяется тем, что ОС использует ядро Linux). Поскольку Линус Торвальдс продолжает координировать разработку ядра, то версии ядра развиваются последовательно, а не ветвятся и множатся, как дистрибутивы.

Версии ядра Linux принято обозначать тремя числами, разделенными точкой. Например, дистрибутив Black Cat версии 5.2 был построен на основе ядра версии 2.0.36, т. е. это был Linux версии 2.0.36. Версии ядра с нечетным значением второй цифры обычно не используются для создания дистрибутивов, потому что являются экспериментальными (отладочными). Они распространяются, в основном, для того, чтобы энтузиасты могли их протестировать с целью выявления всех недостатков. Естественно, что такая версия может работать неустойчиво. Версии с четной второй цифрой являются (считаются) устойчиво работающими. Вы, конечно, можете установить любую версию, но для новичков все же обычно рекомендуют выбирать версию ядра с четной второй цифрой в номере версии. Конечно, если Вы устанавливаете полный дистрибутив, то выбор ядра за вас сделали его разработчики, но о нумерации версий вам надо знать, если Вы когда-нибудь задумаетесь об обновлении ядра.

1.3. Требования к компьютеру

Я встречал упоминания о том, что существуют специальные версии Linux, которые работают даже на 8086 процессоре с 512 Кбайт памяти, а специально собранная версия может запускаться с одной-двух дискет без жесткого диска.

Так что, если у вас есть старенький компьютер, на котором никакая Windows не запускается, то Вы с успехом можете использовать его для освоения Linux и, возможно, будете удивлены его возможностями. Но такие варианты в данной книге не рассматриваются.

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

Таблица 1.1. Требования к аппаратуре

Пожелания пользователя Требования к памяти Требования к объему жесткого диска
Минимальные требования: работа в текстовом режиме из командной строки shell 4 Мбайт 10 Мбайт
Работа в текстовом режиме через Midnight Commander 4 Мбайт 40 Мбайт
Для запуска графического интерфейса X Window 8 Мбайт, но будет работать очень медленно, 16 Мбайт - более-менее приемлемо
Для работы с графическим интерфейсом X Window (запуск оконного менеджера) 16 Мбайт 300 Мбайт
Для запуска интегрированной графической среды KDE 32 Мбайт 500 Мбайт
Для запуска каждого отдельного большого приложения (типа GIMP, текстового процессора, базы данных или электронной таблицы) +2 Мбайт +50-100 Мбайт
Для работы с интегрированным офисным пакетом StarOffice 64 Мбайт +250 Мбайт

Из этой таблицы можно заключить, что минимально приемлемой конфигурацией для освоения Linux является компьютер на 486-ом процессоре с 16 Мбайт ОЗУ и жестким диском объемом 300 Мбайт . Далее надо заботиться только о наращивании оперативной памяти и объема жесткого диска, тут лишнего никогда не будет.

Снова сошлюсь на книгу А. Федорчука [П1.6], в которой большая глава посвящена выбору аппаратной платформы для Linux. В ней автор подробно рассматривает, как Linux относится к каждому компоненту компьютерной аппаратуры, начиная с чипсета и системной платы и кончая периферийными устройствами и источниками бесперебойного питания. Однако, на мой взгляд, на практике выбор компьютера определяется не операционной системой, а, в первую очередь, материальными возможностями владельца. И надо отнести к достоинствам ОС ее способность управлять не только самыми последними и "навороченными" моделями, но и уже "вышедшими из моды" или "морально устаревшими" экземплярами. Ведь так называемое "моральное устаревание" как раз и вызвано тем, что новые версии ПО от самых известны производителей заставляют списать в утиль вполне работоспособное оборудование. В этом смысле Linux имеет огромное преимущество, заключающееся в том, что она способна работать даже на тех компьютерах, где альтернативой ей может быть только MS DOS. Конечно, в таких случаях мы получим только режим командной строки, но, судя по различным источникам в Интернете, это не мешает использовать старые компьютеры для выполнения различных вспомогательных задач, например, в качестве маршрутизаторов.

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

1.4. Где взять Linux?

И, в заключение первой главы, краткий ответ на вопрос, сформулированный в заголовке раздела.

Как было сказано, Linux вместе с огромным количеством прикладных программ распространяется практически бесплатно. Это значит, что пользователь, который не собирается модифицировать ПО или заниматься его продажами, имеет полное право скопировать весь дистрибутив Linux или любые его части у знакомого, скачать из Интернета или купить CD-ROM с Linux у торговцев в подземном переходе, не опасаясь, что подвергнется преследованию за нарушение лицензионных требований (которые почему-то называются "соглашениями"), выставленных фирмой-разработчиком.

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

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

Примечания:

«Как я уже упоминал, версия 0.01 распространялась без бинарников: это были просто исходные коды, предназначенные для тех, кому интересно, как выглядит linux. Обратите внимание на то, что не было объявления о выходе версии 0.01: я не очень ею гордился, так что просто послал сообщение всем, кто проявил какой-то интерес».

(замечание прислано В.Синицыным, Линукс Центр) С самого начала ядро Linux распространялось по лицензии, которую FSF вообще не признал бы свободной, поскольку она запрещала коммерческое распространение. Ее текст можно найти в архивах ранних версий ядра на ftp.kernel.org (см., например, ftp://ftp.kernel.org/pub/linux/kernel/Historic/old-versions/RELNOTES-0.01). Смена лицензии произошла, по-видимому, в версии 0.12 (см. там же, RELNOTES-0.12).

В настоящее время эти трудности преодолены и Linux успешно работает на всех процессорах от Intel.

Можно отметить, что с каждой новой версией ядра требования к аппаратной конфигурации все возрастают. Приведенные в таблице 1.1 данные относятся к дистрибутиву Black Cat Linux 5.2. Как показывают мои эксперименты по установке Red Hat Linux 9 в минимальной конфигурации (см. страничку моих статей и переводов) для современных дистрибутивов требуется уже не менее 600 МБ на диске и 64 МБ памяти.

Какими особенностями, какими минусами и плюсами сегодня отличается Linux, на которой основываются десятки иных операционных систем (ОС)? Почему Linux становится популярнее? На эти вопросы мы попробуем найти ответы в данном материале.

Как полагают эксперты, ядро Linux будет необходимо иметь лишь системным программистам а также разработчикам разнообразных встраиваемых систем. Потому здесь необходимо говорить только об ОС «GNU/Linuх» (GNU – свободная UNIX-подобная ОС), которая будет интересной широкому кругу потребителей.

Особенности ОС Linux

  1. GNU/Linux была первой активно применяемой свободной UNIX-подобной ОС. Еще в 90-е годы ниша серверного ПО уже массово включала данную систему. Сейчас GNU/Linux системы также применяют на очень большом количестве серверов Интернета, они являются системой для суперкомпьютеров. Это доказывает как жизнеспособность, так и большой вес движения свободного ПО.
  2. Большая часть приложений данной ОС распространяется по copyleft лицензии (GNU General Public License, GPL), которая не позволяет обеспечить создание несвободного (проприетарного) софта. Но данный фактор, как думают эксперты, нисколько не мешает получению прибыли от свободного ПО.
  3. Создание компонентов производится большим количеством компаний и людей во всем мире. Это также большой плюс, как полагают эксперты.

Достоинства GNU/Linux

  1. «Свободность» данного ПО. В сравнении с проприетарными системами именно основным плюсом GNU/Linux, равно как и иных свободных ОС (таких как Free и Net, или OpenBSD, или OpenIndiana) является именно то, что они распространяются свободно.

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

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

  1. Поддержка аппаратного обеспечения. Множество драйверов для устройств, в особенности на домашних системах (где достаточно дешевы не серверные компоненты). Как считают эксперты, есть вероятность, что какое-либо оборудование конкретная система, такого типа как BSD или OpenIndiana, поддерживать не будет.

Многочисленные дистрибутивы GNU/Linux способны функционировать на старых компьютерах намного лучше, нежели такие системы, как Windows или macOS, которые очень часто вообще могут отказываться работать на таких ПК.

Активная поддержка пользователей. На протяжении десятилетий существования GNU/Linux обзавелись своим кругом пользователей и разработчиков, которые способны достаточно оперативно оказывать помощь с задачами или проблемами, возникающими во время работы у неопытных пользователей.

Плюсы свободных ОС для разработчиков

Минусы

Иногда поддержка GNU/Linux может обходиться довольно дорого в финансовом плане. Всегда необходимо помнить о стоимости обучения и поддержки. Стоимость системных администраторов, которые хорошо разбираются в GNU/Linux, может быть в гораздо выше, и данный фактор полностью нивелирует сэкономленные средства от купленных копий какого-либо Microsoft Windows.

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

Второй минус – не столь е высокая производительность, как ожидалось. Много раз можно наблюдать, что сетевая и дисковая подсистемы FreeBSD бывают намного производительнее, нежели GNU/Linux на таком же аппаратном обеспечении – так полагают эксперты. Недаром такие известные компании, как Netflix и WhatsApp применяют именно FreeBSD на собственных серверах.

Третий недостаток – на таких ОС недоступны некоторые из современных технологий. Речь, прежде всего, о подсистемах ZFS (это самая продвинутая файловая система, которая гарантирует целостность данных), DTrace (отличный инструмент, подходящий для отладки и для мониторинга всего, что происходит в ядре и в ПО), Containers/Zones (это система виртуализации). Они возникли под свободной лицензией в системе OpenSolaris (сейчас она называется OpenIndiana), затем были внедрены в ряде BSD систем, но пока еще не присутствуют в качественном виде в GNU/Linux.

Применение микроядра (как это, к примеру, происходит в проприетарной Apple macOS) позволит потенциально очень увеличить надежность и безопасность собственно системы и ядро Linux могло бы уже на момент его написания быть микроядерным, однако этого не произошло.

Когда лучше пользоваться GNU/Linux?

  1. Если GNU/Linux установлена в компании и применяется, а выгоды от того, чтобы сменить данную ОС на другую, к примеру, FreeBSD, особенно не ожидается.
  2. Если ПО, с которым планируется работать, применяет специфичные для GNU/Linux возможности (к примеру, ПО OpenStack, которое несовместимо с чем-либо другим) – тогда, конечно же, лучше использовать именно GNU/Linux. Потому что переписывать ПО будет слишком уж дорого.
  3. Когда требуется выполнять наиболее простые задания. К примеру, провести быструю загрузку, запустить LibreOffice, провести редактирование документа, что-то скопировать на флешкe, что-то посмотреть в интернет-браузере.
  4. Такие ОС будут отличным вариантом тем, кто не сможет себе позволить использовать macOS и Windows, в этом случае бесплатная свободная ОС (в том числе – большое количество GNU/Linux дистрибутивов) будет для вас отличной заменой.

5. Если компания находится под слежкой либо же работает с конфиденциальными данными, тогда необходимо начать пользоваться преобладающим большинством именно свободных ОС (и GNU/Linux). Средства слежки или средства ослабления криптографических средств в такие операционные системы обычно не встраиваются.

Подпишиcь на новости

Многопользовательская система

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

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

ядро построено по модульному принципу

на одном компьютере может быть установлено сразу несколько ядер

разработка ядра Linux управляется централизовано

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

Взаимодействие приложений

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

Пользовательский интерфейс

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

Взаимодействие с внешней инфраструктурой

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

Способ хранения данных

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

Другие отличия

Есть и другие особенности, отличающие Linux от других ОС для настольных компьютеров. Рассмотрим разницу в работе с виртуальной памятью и уникальное для Linux понятие уровней выполнения (run levels). Работы с виртуальной памятью в каждой операционной системе происходит по своему, иногда это зависит даже от версии операционной системы. Особенностью Linux является то, что виртуальная память не будет использоваться до тех пор, пока есть возможность работать в реальной оперативной памяти. Windows, например, начинает перемещать информацию из оперативной памяти на диск и в других случаях, там существует практика превентивного свопинга. Во многих случаях такой подход приводит в снижению скорости выполнения операций. В Linux принята также система кэширования, то есть, хранение недавно использованной файловой информации в оперативной памяти. В результате такой практики постоянно используется значительная часть оперативной памяти. В том случае, если дополнительная оперативная память требуется приложениям, система просто сокращает область кэширования. Концепция уровней выполнения является общей для UNIX/Linux-подобных операционных систем. Уровень выполнения определяет, какие системные сервисы будут запущены при начальной загрузке системы. Уровни выполнения нумеруются от 0 до 9. Например, уровень выполнения 3 соответствует загрузке всех системных сервисов, кроме графических. На уровне 5 стартует также и графическое окружение. Уровень 1 соответствует однопользовательскому режиму загрузки системы, в котором доступна только одна консоль и отключены практически все службы.

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

1. Надежная многозадачная многопользовательская ОС для персональных компьютеров.

2. Осуществляет эффективное управление памятью.

3. Поддерживает различные файловые системы.

4. Предоставляет сетевые возможности.

5. Работает на разных аппаратных платформах (на всех версиях микропроцессоров Intel, на процессорах AthlonиDuronотAMD, разработаны версии ОС и для других типов процессоров - ARM, DEC Alpha, SUN Sparc, M68000 (Atari и Amiga), MIPS, PowerPC).

Дистрибутивы Linux

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

Дистрибутив Linux – это набор пакетов программного обеспечения, включающий базовые компоненты операционной системы, набор программных приложений, программу инсталляции, которая позволяет установить на компьютер пользователя операционную систему GNU/Linux и набор прикладных программ, необходимых для конкретного применения системы.

Поскольку разработкой дистрибутивов занимается большое количество независимых групп программистов, то сейчас в мире существует уже сотни различных дистрибутивов Linux (см. http://distrowatch.com/), и все время появляются новые. Новые дистрибутивы создаются, в основном, не на пустом месте, а на основе одного из уже существующих дистрибутивов. Отличаются дистрибутивы, прежде всего:

    программой инсталляции;

    используемым средством установки программных пакетов (системой управления пакетами);

    составом утилит и прикладных программ, включенных в дистрибутив;

    сценарием начальной загрузки;

    требованиями к аппаратуре.

Можно выделить три основные группы дистрибутивов:

    На основе дистрибутива Red Hat, переименованного позднее в Fedora Core. Наиболее известные дистрибутивы этой группы – Mandrake (или Mandriva), в том числе русифицированные – ASPLinux, Linux Ink, AltLinux (на основе Mandrake) и др.

    На основе дистрибутива Debian. К этой группе относятся наиболее популярный сейчас во всем мире дистрибутив Ubuntu, также Knoppix, Storm и др.

    На основе дистрибутива Slackware. К этой группе относится openSuSe.

В России сложилось три команды разработчиков, создающих и поддерживающих русифицированные дистрибутивы.

Одна из команд «ALTLinux» (http://www.altlinux.ru), которая выпускает собственный дистрибутив ALTLinux. На протяжении последних лет ALTLinux активно работает в направлении внедрения свободного программного обеспечения в образовательные учреждения России. Они разработали специальный «Пакет свободного программного обеспечения для образования».

Вторая команда представлена фирмой «ASPLinux» (http://www.asplinux.ru), которая тоже выпустила собственный дистрибутив ASPLinux..

Третья команда – Санкт-Петербургская фирма «Linux Ink» (http://www.linux-ink.ru), которая выпускает дистрибутив «НауЛинукс», основанный на всемирно известном дистрибутиве Scientific Linux. Так же выпускает версии дистрибутивов, специально ориентированных для использования в образовательных учреждениях.



Эта статья также доступна на следующих языках: Тайский

  • Next

    Огромное Вам СПАСИБО за очень полезную информацию в статье. Очень понятно все изложено. Чувствуется, что проделана большая работа по анализу работы магазина eBay

    • Спасибо вам и другим постоянным читателям моего блога. Без вас у меня не было бы достаточной мотивации, чтобы посвящать много времени ведению этого сайта. У меня мозги так устроены: люблю копнуть вглубь, систематизировать разрозненные данные, пробовать то, что раньше до меня никто не делал, либо не смотрел под таким углом зрения. Жаль, что только нашим соотечественникам из-за кризиса в России отнюдь не до шоппинга на eBay. Покупают на Алиэкспрессе из Китая, так как там в разы дешевле товары (часто в ущерб качеству). Но онлайн-аукционы eBay, Amazon, ETSY легко дадут китайцам фору по ассортименту брендовых вещей, винтажных вещей, ручной работы и разных этнических товаров.

      • Next

        В ваших статьях ценно именно ваше личное отношение и анализ темы. Вы этот блог не бросайте, я сюда часто заглядываю. Нас таких много должно быть. Мне на эл. почту пришло недавно предложение о том, что научат торговать на Амазоне и eBay. И я вспомнила про ваши подробные статьи об этих торг. площ. Перечитала все заново и сделала вывод, что курсы- это лохотрон. Сама на eBay еще ничего не покупала. Я не из России , а из Казахстана (г. Алматы). Но нам тоже лишних трат пока не надо. Желаю вам удачи и берегите себя в азиатских краях.

  • Еще приятно, что попытки eBay по руссификации интерфейса для пользователей из России и стран СНГ, начали приносить плоды. Ведь подавляющая часть граждан стран бывшего СССР не сильна познаниями иностранных языков. Английский язык знают не более 5% населения. Среди молодежи — побольше. Поэтому хотя бы интерфейс на русском языке — это большая помощь для онлайн-шоппинга на этой торговой площадке. Ебей не пошел по пути китайского собрата Алиэкспресс, где совершается машинный (очень корявый и непонятный, местами вызывающий смех) перевод описания товаров. Надеюсь, что на более продвинутом этапе развития искусственного интеллекта станет реальностью качественный машинный перевод с любого языка на любой за считанные доли секунды. Пока имеем вот что (профиль одного из продавцов на ебей с русским интерфейсом, но англоязычным описанием):
    https://uploads.disquscdn.com/images/7a52c9a89108b922159a4fad35de0ab0bee0c8804b9731f56d8a1dc659655d60.png