Назад | Вернуться к оглавлению | Дальше |
Введение |
На сегодняшний день наиболее известными операционными системами для компьютеров являются семейства операционных систем фирмы Microsoft и операционные системы семейства UNIX. Первые ведут свою родословную от операционной системы MS-DOS, которой оснащались первые персональные компьютеры фирмы IBM. Второе семейство изначально разрабатывалось для работы на больших многопользовательских компьютерах.
Персональные компьютеры постепенно наращивали мощь своего аппаратного обеспечения и приближались по возможностям к тем мэйнфреймам, для которых в 70-х годах разрабатывалась ОС UNIX. И вот, в начале 90-х годов студент университета в Хельсинки Линус Торвальдс (Linus Torvalds) приступил к разработке UNIX-подобной ОС для IBM-совместимых персональных компьютеров (напрямую перенести UNIX на персоналки было нельзя, поскольку к тому времени код UNIX был лицензирован).
Торвальдс не стал патентовать или иным образом ограничивать распространение новой ОС. Наоборот, он опубликовал исходные коды своей системы в Интернет (файлы первого варианта ОС Linux, опубликованные Торвальдсом в Интернет, датированы 17 сентября 1991 года) и к развитию системы подключилось большое число независимых разработчиков. Благодаря этому на сегодняшний момент Linux - самая современная, устойчивая и быстроразвивающаяся система, почти мгновенно вбирающая в себя самые последние технологические новшества. Может использоваться как в качестве серверной ОС, так и на сетевых рабочих станциях или персональных компьютерах.
С самого начала Linux распространяется на условиях, определяемых лицензией General Public License (GPL, на Линукс-сленге ее иногда называют Copyleft), принятой для программного обеспечения, разрабатываемого в рамках проекта GNU. О том, что такое проект GNU, Вы можете узнать из Манифеста GNU, написанного автором идеи свободно распространяемого программного обеспечения Ричардом Столлменом. Иначе говоря, Linux является практически бесплатной для пользователей (в большинстве случаев для того, чтобы получить ее, Вы должны заплатить только за диск CDROM с ПО или за трафик выхода в Интернет).
ОС LINUX обладает всеми возможностями, которые присущи современным полнофункциональным операционным системам типа UNIX, включая:
Linux реализует настоящую многозадачность. Все процессы независимы; ни один из них не должен мешать выполнению других задач. Для этого ядро осуществляет режим разделения времени центрального процессора, по-очередно выделяя каждому процессу интервалы времени для выполнения. Это существенно отличается от режима "вытесняющей многозадачноти", реализованной в Windows 95, когда процесс должен сам "уступить" процессор другим процессам (и может сильно задержать их выполнение).
Linux - не только многозадачная ОС, она поддержиает возможность одновременной работы многих пользователей. При этом Linux может предоставлять все системные ресурсы пользователям, работающим с хостом через различные удалённые терминалы.
Ядро Линукса поддерживает выделение страниц памяти по требованию, при котором только необходимая часть кода исполняемой программы находится в оперативной памяти, а не используемые в данный момент части остаются на диске.
Если необходимо запустить одновременно несколько копий какого-то приложения (либо один пользователь запускает несколько идентичных задач, либо разные пользователи запускают одну и ту же задачу), то в память загружается только одна копия исполняемого кода этого приложения, которая используется всеми одновременно исполняющимися идентичными задачами.
Если системная память полностью исчерпана, Linux будет искать давно не использованные 4K-вые страницы памяти для их перемещения из памяти на жёсткий диск. Если какие-либо из этих страниц становятся нужны, Linux восстанавливает их с диска в том же расположении. Некоторые старые Unix-системы и некоторые современные платформы (включая Microsoft Windows) переносят на диск все содержимое ОП, относящееся к неработающему в данный момент приложению, (т.е. ВСЕ страницы памяти, относящиеся к приложению, сохраняются на диске при нехватке памяти) что менее эффективно.
Кеширование диска - это использование части оперативной памяти для хранения часто используемых данных с диска, что существенно ускоряет доступ к часто используемым программам и задачам. Пользователи MSDOS работают со SmartDrive'ом, который резервирует фиксированные области системной памяти для кеширования диска. Linux использует более динамичную систему кеширования: память, зарезервированная под кеш, увеличивается, когда память не используется, и уменьшается, если системе или процессу пользователя требуется больше памяти.
Cвопирование оперативной памяти на диск позволяет работать при ограниченном обьеме физической оперативной памяти; для этого некоторые страницы оперативной памяти записываются в выделенную область на жестком диске, которая трактуется как дополнительная оперативная память; это несколько снижает скорость работы, но позволяет организовать работу программ, требующих большего объема ОЗУ, чем фактически имеется в компьютере.
Библиотеки - наборы процедур, используемых программами для обработки данных. Существует некоторое количество стандартных библиотек, используемых одновременно более чем одним процессом. В старых системах такие библиотеки включались в каждый исполняемый файл, одновременное выполнение которых приводило к непродуктивному использованию памяти. В новых системах (в частности, в Linux), обеспечивается работа с динамически и статически разделяемыми библиотеками, что позволяет сократить размер отдельных приложений.
POSIX 1003.1 (Portable Operating System Interface - интерфейс мобильной операционной системы) задаeт стандартный интерфейс Unix-систем, который описывается набором процедур языка C. Сейчас он поддерживается всеми новыми ОС. Microsoft Windows NT также поддерживает POSIX 1003.1. Linux 1.2 100%-но соответствует POSIX. Дополнительно поддерживаются (или будут реализованы) некоторые возможности System V и BSD для увеличения совместимости.
Кому не понравится возможность выполнять любые приложения DOS, Windows 95, FreeBSD или OS/2 под Linux? Что ж, эмуляторы DOS, Windows и Windows 95 находятся в стадии разработки. Linux также способен выполнять бинарные файлы других intel-ориентированных Unix-платформ, соответствующих стандарту iBCS2 (intel Binary Compatibility).
Linux поддерживает большое число форматов файловых систем включая файловые системы DOS и OS/2; при этом собственная файловая система Линукс, которя называется Second Extended File System (ext2fs), позволяет эффективно использовать дисковое пространство.
Linux можно интегрировать в любую локальную сеть. Поддерживаются все службы Unix, включая Networked File System (NFS), удалeнный доступ (telnet, rlogin), работа в TCP/IP сетях, dial-up-доступ по протоколоам SLIP и PPP, и т.д.. Также поддерживается включение Linux-машины как сервера или клиента для другой сети, в частности, работает общее использование (sharing) файлов и удалeнная печать в Macintosh, NetWare и Windows.
Linux использует технологию IPC (Internal System Call) для обмена сообщениями между процессами, использование семафоров и общей памяти.
Хотя ОС Linux первоначально была разработана для ПК на базе Intel 386/486, сейчас она может работать на всех версиях Intel-овских микропроцессоров, начиная с 386 и кончая многопроцессорными системами на Pentium III (с Pentium IV возникли определенные трудности, но, судя по сообщениям в Интернет, они вызваны ошибками в реализации процессора и будут вскоре преодолены). Кроме того, разработаны версии для других типов процессоров - ARM, DEC Alpha, SUN Sparc, M68000 (Atari и Amiga), MIPS, PowerPC и других (в настоящей работе рассматривается только вариант для IBM-совместимых компьютеров).
Ниже приведены ссылки на сайты производителей (или разработчиков) русскоязычных дистрибутивов, где Вы сможете найти и краткое описание дистрибутива и даже скачать сам дистрибутив.
Дистрибутив: Red Hat Linux / Cyrillic Edition.
URL: http://www.iplabs.ru/Linux/
Дистрибутив: Black Cat.
URL: http://blackcatlinux.com/, linux.geon.donetsk.ua.
Дистрибутив: Linux Mandrake Russian Edition
URL: (Фирма IPLabs, г.Москва).
Совсем недавно вышла версия 7.0 этого дистрибутива. Впечатления от установки и первом опыте работы с этим дистрибутивом Вы можете прочесть в рассказе А.Федорчука о том, как он устанавливал Linux Mandrake 7.0 Lite.
Московская фирма IPlabs выпускает также русифицированные версии дистрибутивов
Red Hat и SuSE Linux, приобрести которые Вы можете через те же
виртуальные магазины.
Дистрибутив: KSI Linux
URL: http://www.ksi-linux.com/
Следующие два дистрибутива, по моему, перестали поддерживаться разработчиками, по крайней мере, давно не обновляются.
Дистрибутив: Русский Linux "Красная Шапочка"
URL: www.magister.msk.ru/tech/linux/rh-rus.htm
В 2000 году появились два новых варианта русифицированных дистрибутивов.
Дистрибутив: Best Linux
URL: bestlinux.net
Дистрибутив: ASPLinux
URL: http://www.asplinux.ru/ (зеркала http://www.asp-linux.com/, http://www.asp-linux.com.sg/, http://www.asp-linux.co.kr/).
Как видите, большинство русифицированных дистрибутивов строится на основе американского дистрибутива Red Hat Linux, выпускаемого одноименной фирмой. Этот дистрибутив является самым распространенным в мире и именно его я буду рассматривать в настоящей книге (точнее, будет рассмотрен дистрибутив Black Cat Linux, но я думаю, что материал книги будет полезен как для изучения любых русифицированных дистрибутивов на основе Red Hat, так и самого Red Hat).
Более полный список выпускаемых в мире дистрибутивов можно найти на сервере http://www.linuxhq.com/, где упоминаются и некоторые локализованные версии. Даны краткие характеристики каждому дистрибутиву. Кроме того, там же есть ссылки на другие списки дистрибутивов, так что при желании можно найти все, что вообще существует в мире (правда, все это на английском языке и русских локализаций там маловато упомянуто).
Теперь несколько слов о выборе дистрибутива. Говорят, что лучший дистрибутив тот, который установлен у вашего знакомого гуру. Если Вы согласны считать меня таким гуру, с которым Вы знакомы заочно (признаюсь, что я себя гуру по Linux не считаю), то тогда Вам лучше всего выбрать Black Cat Linux. Я могу привести следующие доводы в пользу такого выбора:
Материал, излагаемый в данной книге, основан на моем опыте установки BlackCat
Linux версии 5.2, RedHat версии 6.0 и BlackCat версии 6.02. Я начал работать с
версией 5.2 BlackCat и писал первый вариант этих заметок ориентируясь именно на
эту версию.
Потом (в мае 1999 г.) появилась версия 6.0 RedHat. Я ее тоже
установил, но на первых порах не увидел существенных улучшений. Более того,
из-за того, что эта версия не была изначально русифицирована, стало только хуже.
Зато это дало мне возможность освоить методы русификации, что, надеюсь,
обеспечило достаточно качественное описание этих методов в разделе 8.
Еще
позже я приобрел через виртуальный магазин "Болеро" версию 6.02 дистрибутива
Black Cat и сейчас работаю с ней. На мой взгляд, это вполне пригодный для
начинающего пользователя дистрибутив. В своих заметках я постарался сделать все
необходимые примечания, касающиеся специфики версии 5.2, так что Вы можете
устанавливать любую из этих версий.
Несколько слов о понятии "версия". Те номера версий, которые только что упоминались, относятся к дистрибутиву Black Cat. Когда говорят о версиях Linux, то обычно имеют в виду версию ядра (ибо Linux - это ядро!). Версии ядра Linux принято обозначать тремя числами, разделенными точкой. Например, дистрибутив Black Cat версии 5.2 был построен на основе ядра версии 2.0.36, то есть это был Linux версии 2.0.36. Версии ядра с нечетным значением второй цифры обычно не используются для создания дистрибутивов, потому что являются экспериментальными (отладочными). Они распространяются, в основном, для того, чтобы энтузиасты могли их протестировать с целью выявления всех недостатков. Естественно, что такая версия может работать неустойчиво. Версии с четной второй цифрой являются (считаются) устойчиво работающими. Вы, конечно, можете установить любую версию, но для новичков все же обычно рекомендуют выбирать версию ядра с четной второй цифрой в номере версии. Конечно, если Вы устанавливаете полный дистрибутив, то выбор ядра за Вас сделали его разработчики, но о нумерации версий Вам надо знать, если Вы когда-нибудь задумаетесь об обновлении ядра.
Я встречал упоминания о том, что существуют специальные версии Linux, которые
работают даже на 8086 процессоре с 512 KB памяти, а специально собранная версия
может запускаться с одной-двух дискет без жесткого диска. Так что, если у Вас
есть старенький компьютер, на котором никакая Windows не запускается, то Вы с
успехом можете использовать его для освоения Linux и, возможно, будете удивлены
его возможностями. Но такие варианты в данной книге не рассматриваются.
Поскольку Red Hat Linux использует защищенный режим микропроцессора, то для
установки этой ОС требуется как минимум 386-ой процессор. Судя по литературным
источникам годятся любые модификации: SX, DX и т.д. Дальнейшие требования к
аппаратной части компьютера, на который устанавливается Linux, определяются уже
тем, что Вы хотите. Из приводимой ниже таблицы видно, как возрастают требования
к аппаратной части в зависимости от пожеланий пользователя (приводимые в таблице
числа очень приблизительны, тут я не претендую на истину в последнй инстанции).
|
|
|
|
Минимальные требования: работа в текстовом режиме из командной строки shell |
|
|
|
Работа в текстовом режиме через Midnight Commander |
|
|
|
Для запуска графического интерфейса X Window |
|
||
Для работы с графическим интерфейсом X Window (запуск оконного менеджера) | 16 МБ | 300 МБ | |
Для запуска интегрированной графической среды KDE | 32 МБ | 500 МБ | |
Для работы с интегрированным офисным пакетом StarOffice | 64 МБ | + 250 МБ | |
Для запуска каждого отдельного большого приложения (типа GIMP, текстового процесора, базы данных или электронной таблицы) | + 2 МБ | + 50-100 МБ |
Из этой таблицы можно заключить, что более-менее приемлемой конфигурацией для освоения Black Cat Linux является компьютер на 486-ом процессоре с 16MB ОЗУ и жестким диском обьемом 300 MB. Далее надо заботиться только о наращивании оперативной памяти и обьема жесткого диска, тут лишнего никогда не будет.
Назад | Вернуться к оглавлению | Дальше |