Основные понятия Linux Г 2

advertisement
ГЛАВА 2
Основные понятия Linux
В этой главе рассматриваются базовые понятия операционной системы Linux.
Объясняется, как и что называется в Linux. Все это необходимо для того, чтобы разумно пользоваться операционной системой Linux и понимать разницу
между Linux и Windows. Ведь даже для одних тех же физических и виртуальных объектов и действий в разных операционных системах часто используется совсем различная терминология.
Конфигурация компьютера
Можно спорить, когда началась компьютерная эпоха, но история персональных компьютеров, совместимых с IBM PC, началась в 1978 году — именно
тогда появился на свет процессор i8086, положивший начало семейству процессоров х86. И сегодня на наших столах в большинстве случаев стоят компьютеры с потомком этого процессора, который носит названия Core, Pen-
36
Глава 2
tium, Celeron, Athlon или Duron. Причем самое любопытное, что любой из
этих процессоров может работать в режиме, который эмулирует работу своего предка, — процессора i8086.
За три десятилетия развития микропроцессорных технологий семейство процессоров х86 пережило ряд революционных изменений внутренней структуры. Если первые процессоры работали с 8/16-разрядной арифметикой и шиной данных, то наиболее современные модели используют 64-разрядную
архитектуру (например, Athlon 64, а также ряд процессоров Pentium 4 и
Core 2). Правда, до сих пор, несмотря на появление 64-разрядной технологии,
даже самые современные процессоры чаще всего работают в 32-разрядном
режиме.
В зависимости от мощности процессора пользователь ставит на компьютер ту
или иную операционную систему — слабый процессор не сможет работать с
"навороченной" операционной системой, а старая операционная система не
позволит управлять современным процессором в полную силу. В частности,
самая нетребовательная графическая операционная система Windows 95 может работать на компьютере с процессором i386, но оптимально — это
i486DX4. Кроме того, есть определенные требования к объему оперативной
памяти и дискового пространства на винчестере, означающие, что поставить Windows 95 на ноутбук с
процессором i486SLC и объемом оперативной памяти
4 Мбайт не удастся.
Для операционной системы Linux точно так же имеются определенные ограничения на "железо", из которого собран персональный компьютер. Прежде всего надо отметить, что универсальные дистрибутивы
Linux можно использовать на компьютерах с процессорами от i386 до Pentium 4 и Core 2, а также с их
аналогами корпорации AMD. То есть процессор должен быть 32-разрядным или поддерживать 32-разрядные вычисления, как Athlon 64.
В тех случаях, когда Linux используется на компьютерах с внутренней архитектурой, не совместимой с IBM PC, или, например, в сотовом телефоне, то
применяются версии Linux, которые "собраны" специально для таких процессоров.
Основные понятия Linux
37
Ядро ОС и оболочки
За последнее десятилетие сложился своего рода стандарт на то, каким требованиям должна отвечать современная операционная система, причем за стандарт этот берется, как это ни обидно сторонникам других систем, семейство
операционных систем Windows. Эти версии Windows характеризуются, в
первую очередь, тем, что после старта операционной системы монитор работает в графическом режиме, предоставляя пользователю графический интерфейс, в котором удобно работать с помощью мыши. Текстовый режим монитора, который был присущ операционной системе MS-DOS, в современных
ОС Windows практически не используется. Кроме того, графическая интерфейсная оболочка Windows неразрывно связана с ядром операционной системы. Так было не всегда. Например, в старой системе на базе Windows 3.1х
сначала запускается операционная система MS-DOS — ядро, а уже потом,
поверх нее — программа win, порождающая графический интерфейс, графическую оболочку. Но, начиная с Windows 95, ядро и графическая оболочка
настолько тесно переплетены, что отделить одно от другого весьма затруднительно (рядовому пользователю это точно не удастся).
В отличие от ОС Windows 95/XP/Vista, в которых ядро системы неотделимо
от графического интерфейса пользователя, в операционной системе Linux
четко различаются две части.
Первая часть — это ядро операционной системы — все те программные
модули, которые работают с "железом". Подпрограммы, которые входят в
ядро, преобразуют особенности работы различных устройств, например
самых разнообразных дисководов, к единому стандарту, что позволяет
прикладным программам единообразно обращаться к любому узлу персонального компьютера.
Можно отметить, что ядро операционной системы Linux одинаково для
всех дистрибутивов Linux. Тут надо, конечно, уточнить, что ядро регулярно совершенствуется, в него вводятся функции работы с новыми устройствами, но принципы функционирования не меняются — то есть здесь
нет такой разницы, как между Windows 98 и Windows Vista (правда, наличие такой разницы — вопрос до некоторой степени спорный, поскольку только следующая ОС, как в очередной раз обещают в Microsoft, будет
иметь совершенно новое ядро).
Вторая часть операционной системы Linux — это оболочки — программы,
которые создают интерфейс пользователя. Человек общается не непосредственно с ядром операционной системы, а с программой-оболочкой,
38
Глава 2
обеспечивающей понятный и удобный сервис ввода/вывода. Причем программа-облолочка может иметь как текстовый интерфейс (типа MS-DOS),
так и графический, в том числе один в один повторяющий графический
интерфейс Windows. Самих же программ-оболочек для операционной
системы Linux существует несколько десятков, что позволяет пользователю выбрать ту, которая больше всего подходит для него и его персонального компьютера.
Основное назначение любой операционной системы —
это работа с файлами, так как именно они являются теми
блоками информации, которые только и умеет обрабатывать компьютер. Рисуем мы график функции или монтируем полнометражный фильм, набираем текст реферата
или создаем новую мелодию для синтезатора — все это
работа с файлами.
В Windows для непосредственных операций с файлами
существует программа Проводник, а сторонние производители предлагают файловые менеджеры типа хорошо
знакомого со времен MS-DOS Norton Commander (например, любимый многими Total Commander), поскольку в
них работать удобнее, нежели задавать команды по управлению файлами через
меню
Выполнить (Run).
В Linux также существуют файловые менеджеры, с помощью которых удобно осуществлять базовые операции с файлами. В какой-то мере интерфейс
таких программ похож на аналоги из мира Windows — в любой операционной системе файлы копируют, сортируют, удаляют. Но в Linux, кроме того,
имеется возможность совмещать функции файлового менеджера и оболочки — примерно так, как это делалось в интегрированных программахменеджерах для MS-DOS (когда-то они были популярны, но появление Windows 95 поставило крест на их развитии). В Linux же наличие обособленного
ядра позволило сохранить возможность продолжения разработки таких программ, ярким примером которых является программа Midnight Commander,
псевдографический интерфейс которой почти полностью повторяет внешность знаменитого Norton Commander.
Четкое разделение операционной системы на отдельные функциональные
модули позволяет комбинировать ядро операционной системы с различными
вспомогательными программами. Для слабого компьютера можно подобрать
комплект программ, который позволит даже на процессоре i386 выполнять
все то, что обычно делается на более мощных процессорах. А если в распо-
Основные понятия Linux
39
ряжении есть современный высокопроизводительный компьютер, то для него
можно выбрать "навороченные" программы, которые по комфорту работы
успешно конкурируют с аналогами, предназначенными для Windows. Такая
возможность свободного выбора несколько неожиданна для пользователя
Windows, поскольку заставляет его думать, но зато у него появляется возможность использовать компьютерное "железо" до тех пор, пока его возможности удовлетворяют потребностям владельца. То есть в мире Linux нет такой необходимости массовой замены еще рабочих компьютеров на более
мощные, как в мире Windows, когда выходит новая версия ее операционной
системы.
Возможность свободного выбора конфигурации программного обеспечения в Linux, кроме всего прочего, позволяет усомниться в оптимальности конфигурирования железа "по умолчанию" в Windows.
Соответственно, в этой главе как раз и обсуждается, что и как можно
сделать пользователю, чтобы повысить производительность и надежность системы "компьютер — программное обеспечение".
Имена файлов в Linux
Пользователи настолько привыкли к понятиям, которые используются в Windows, что любое мало-мальское отступление от этих неписаных правил вызывает у них не только непонимание, но и головную боль. Но все-таки, скажем,
приезжая в другую страну, человеку, так или иначе, приходится привыкать к
чужому языку, чужим обычаям. Поэтому, начав использовать новый тип операционной системы, надо привыкнуть к другим обозначениям привычных
вещей.
Наиболее существенные, на первый взгляд, внешние отличия Linux от Windows касаются именования файлов и названий внутренних и внешних устройств. И тут ничего иного сделать нельзя, кроме как усвоить новые правила
и запомнить, как и что называется там и здесь.
ПРАВИЛА ФОРМИРОВАНИЯ ИМЕН ФАЙЛОВ В LINUX
Имя файла может содержать до 255 любых символов, кроме символа "/" и
нулевого кода (00 Hex).
Расширения имени файла через точку в виде трех символов, как в
Windows, не требуется, хотя для удобства пользователей такой принцип
именования файлов в Linux используется.
Глава 2
40
Поскольку с файлами работает оболочка операционной системы, для которой ряд символов имеет специальное значение, не рекомендуется использовать в именах файлов следующие символы:
! @ # $ & ~ % * ( ) [ ] { } ‘ “ \ : ; > < ` "пробел"
Возможность произвольного именования файлов позволяет упростить процесс отслеживания версий программных файлов, что, как известно опытным
пользователям, доставляет множество хлопот при обновлении программного
обеспечения. И это вполне объяснимо — ведь нет такой программы, которая
сразу выходила бы из рук программиста в окончательном виде. Так или иначе, но в процессе тестирования и использования программного обеспечения
обязательно выявляются ошибки в коде, которые требуют корректировки.
Например, корпорация Microsoft регулярно публикует обновления для всех
ранее выпущенных продуктов, но, к великому сожалению, простой пользователь никогда не сможет понять, какие именно файлы при этом были заменены. То же касается программных продуктов и других производителей.
В Linux служебная информация о номере версии программного обеспечения
непосредственно включена в имена файлов. Заметим, что это, конечно, не
обязательно, но удобно, поскольку позволяет легко контролировать безопасность системы, что является наиболее актуальной сегодня задачей.
Для примера приведем названия нескольких файлов из дистрибутива Fedora:
abiword-2.0.1-1.i386.rpm;
xml-common-0.6.3-14.noarch.rpm;
autorun-3.11-1.i386.rpm;
kdegames-3.1.4-2.i386.rpm.
Первое, что бросается в глаза, это наличие в именах множества точек — на
взгляд пользователя MS-DOS получается, что каждый файл как бы имеет несколько расширений (в Windows это давно допускается, но иногда свидетельствует о попытках злонамеренных хакеров взломать систему, используя неосведомленность пользователей). Как уже отмечалось, количество точек не
лимитируется и не оговаривается, их использование не является обязательным, но такой способ формирования имени файла позволяет упростить для
пользователя понимание, что за файл перед ним.
В Linux принято (но не обязательно!), что именем программы является цепочка букв и цифр, которые находятся слева от символа дефиса. Все остальные группы символов относятся к номеру версии данного программного
обеспечения. Соответственно, установленная программа будет вызываться в
Основные понятия Linux
41
операционной системе по имени без указания номера версии, например,
abiword — это текстовый процессор, один из аналогов Microsoft Word.
После дефиса обычно следуют три группы цифр, часто с буквенными индексами. Это так называемая трехразрядная система нумерации версий
программ. Старшинство разрядов идет слева направо. Соответственно, версия программы 2.4.22 новее, чем 2.2.30. Изменение в первом разряде (левом) производится тогда, когда программа существенно изменяется (аналогично переходу от Windows 95 к Windows 2000). Второй разряд — это
существенные доработки текущей версии программы. Последний разряд
(правый) сигнализирует о различных простых обновлениях программы, касающихся исправления несущественных ошибок в коде, украшательства
интерфейса и прочего.
Коммерческие фирмы для собственного
программного обеспечения под Linux
часто используют свою систему обозначения — например, инсталляционный пакет одного из вариантов браузера Opera 5 носит название: opera-static5.ob6-20010212.17.1.i386.rpm.
В имени могут также дополнительно
присутствовать цифро-буквенные индексы, которые как бы поясняют назначение программы. Так, дополнение
static в наименовании пакета Opera 5
говорит о типе используемой библиотеки подпрограмм (набора стандартных программ для выполнения тривиальных функций).
Ранее отмечалось, что операционная система Linux устанавливается на любой
компьютер с процессором семейства х86, начиная с процессора i386. Как известно, система команд и внутренняя архитектура процессоров этого семейства с течением времени претерпела серьезные изменения. И хотя программа,
написанная для процессора i386, будет успешно работать и на Pentium 4, чтобы использовать все возможности более совершенного процессора нужно
оптимизировать код программы — то есть включить в машинный код программы команды, которые используются только в новых процессорах. Это,
естественно, прведет к невозможности запуска такой оптимизированной программы на компьютере с устаревшим процессором.
Глава 2
42
В Linux программы, которые могут работать на любом процессоре семейства
х86, имеют в имени файла индекс i386. Это не означает, что программа устарела — многие прикладные задачи не требуют тех возможностей, которыми
обладают современные процессоры. Но вот в ядре, в программах, использующих потоковые вычисления — скажем, при обработке файлов мультимедиа, — желательно применять код, оптимизированный для современных процессоров. В таких случаях при разработке программы используются опции,
позволяющие создавать при трансляции исходного текста программы в исполняемый код несколько вариантов файлов одной и той же программы.
Обычно применяется оптимизация для процессоров 5 и 6 поколения, что отражается в имени файлов индексами i586 и i686:
openssl-0.9.7a-23.i386.rpm;
openssl-0.9.7a-23.i686.rpm;
kernel-2.4.22-1.2115.nptl.i586.rpm.
Буква i в индексе говорит о том, что речь идет о Intel-совместимых процессорах. Но в последнее время корпорация AMD начала внедрять в практику собственные средства расширения системы команд процессоров х86, кардинально изменять внутреннюю архитектуру процессоров. Хотя новые процессоры
корпорации AMD и остаются совместимыми с семейством процессоров х86,
но для использования их потенциальных возможностей желательно оптимизировать код программ именно для работы с ними. В частности, например,
ядро Linux может поставляться оптимизированным для процессоров Athlon,
о чем в имени файла будет говорить индекс athlon, например: kernel-2.4.221.2115.nptl.athlon.rpm.
Для программ, поддерживающих работу процессоров в 64-разрядном режиме, указывается индекс x86_64:
alsa-utils-1.0.12-3mdv2007.0.x86_64.rpm;
kernel-2.6.17.5mdv-1-1mdv2007.0.x86_64.rpm.
Если новый дистрибутив операционной системы Linux устанавливается на
современный персональный компьютер, то у пользователя, обычно, не возникает проблем с тем, какие версии файлов нужно устанавливать, поскольку
программа установки сама определяет наиболее оптимальный вариант. Но
если есть желание реанимировать старенький ноутбук с процессором i386
или i486, то тут, возможно, придется самостоятельно найти и скачать с сервера разработчика дистрибутива нужные файлы программ, которые будут работать на таком компьютере. Или использовать универсальную поставку попу-
Основные понятия Linux
43
лярного дистрибутива, когда в ваших руках оказываются более 2–3 компактдисков (CD или DVD).
Для поддержки 64-разрядного режима работы процессора следует выбирать
версии дистрибутивов, для которых прямо указано, что имеется поддержка
64bit. Подобная надпись будет и на коробке, и на компакт-диске.
Обозначение бета-версий программ
В жизни каждой программы есть время, когда она написана программистом,
но еще не прошла всестороннего тестирования и проверки. Такие версии программ называются бета-версиями. Пользоваться ими можно, но пользователю, не исключено, придется столкнуться с рядом проблем и неудобств. Для
обозначения таких программ используется следующая индексация:
все предварительные версии программ (неофициальные версии) имеют в
первом разряде цифру 0, например — 0.12.36;
во втором разряде нечетные номера сигнализируют, что версия эта прямо
от разработчика и, возможно, страдает всяческими "детскими болезнями"
(в последнее время от этого принципа часто отходят). Использовать такие
версии рекомендуется только опытным пользователям;
для ядра и очень сложных или коммерческих программ трех или четырехразрядная цифровая нумерация дополняется буквенными индексами:
beta или b, pre или p.
Архивы и пакеты
Архивация файлов в Linux применяется для того, чтобы сократить размеры
файлов программ и количество файлов при копировании. Традиционно в
UNIX-системах файлы, которые подлежат архивации, собираются в пакет,
который потом сжимается программой-архиватором. О том, что файл является архивом, говорят индексы в имени файла: tar, gz и ряд других. Если имя
файла кончается символами tar.gz, то это означает, что некоторое количество
файлов собраны в один программой tar, а потом этот файл сжат программойархиватором gz.
В операционной системе Linux можно использовать также программыархиваторы ZIP и ARJ, но они здесь не имеют такой популярности, как в
Windows.
Глава 2
44
Другой вид архивов в Linux — это пакеты. Для упрощения и
автоматизации установки программ в Linux используется пакетная система установки. В пакете — одном файле — архивируются все программные модули, вспомогательные и текстовые файлы, которые требуются для полной установки
программы. Наиболее популярный формат пакетов RPM ввела
компания RedHat — если используется такой формат, то имя
файла обязательно заканчивается индексом rpm.
Имена файлов устройств
Пользователь компьютера, который сталкивался с программным обеспечением только для операционной системы Windows, считает, что дисковод гибких
дисков — это А:, первый раздел винчестера — С:, принтер подключается к
LPT-порту, а модем — к COM-порту. То есть каждое внешнее устройство в
операционной системе Windows — это отдельная категория, со своими особенностями управления.
Появление устройств с новыми интерфейсами — это всегда новые правила
работы, к которым надо привыкать, учитывать особенности подключения и
именования периферии. Например, интерфейс USB, который позиционировался как универсальная и простая система, оказался довольно сложным для
настройки и использования в Windows, а его внедрение затянулось на долгие
годы; накопители CD-ROM, которые, вроде бы, очень просто использовать,
на самом деле обзавелись несколькими несовместимыми стандартами на запись файлов. Фактически, одна, даже очень крупная корпорация, оказалась
неспособной вовремя, с учетом интересов пользователей, интегрировать новинки "железа" в традиционную структуру Windows. В итоге, появилась масса "стандартов", которые поддерживаются только фирмой-разработчиком
прикладной программы для какого-либо устройства, но не признаны операционной системой Windows, поскольку программисты Microsoft предложили
свой вариант.
Несколько по-иному обстоит дело в Linux, где все устройства с точки зрения пользовательских программ — это файлы. К дисководу, принтеру, сканеру любая прикладная программа обращается как к обычному файлу. Такой принцип, необычный для пользователя Windows, позволяет очень
просто унифицировать, привести к общему знаменателю все особенности
конструкции самых разнообразных внешних устройств. Значительно упрощается процедура интегрирования в операционную систему новых перифе-
Основные понятия Linux
45
рийных устройств, которые регулярно выходят из лабораторий и внедряются в производство. Может быть, это не всем известно, но фактом является
то, что для новых супермощных процессоров сначала появляется версия
Linux, а уж через некоторое время с ними начинает дружить операционная
система Windows.
Имена внешних устройств
Большинство пользователей настолько привыкло к операционной системе
Windows, что даже не допускает, что внешние устройства, такие как модем,
дисковод и т. п., могут иметь имена, не имеющие ничего общего с уже давно
привычными. Однако "железо", установленнное в вашем компьютере, с точки
зрения компьютерной архитектуры имеет собственные машинные адреса, которым присваивают некие понятные человеку имена только лишь для удобства пользователей. Так и возникли названия "дисковод А:", "COM-порт" и пр.
В других операционных системах эти же устройства могут носить вполне законные имена, которые будут звучать совсем по другому.
При изучении операционной системы Linux пользователю рекомендуется запомнить, как соотносятся имена устройств в Linux и Windows, а также понять
принцип построения имен устройств. Это наиболее простой способ разобраться со "сложностями" операционной системы Linux.
Любое внешнее устройство отождествляется в Linux с файлом, а в
имени этого файла имеется цепочка символов, характеризующая его
особенности. Причем принято включать в имя устройства название
каталога /dev.
ПОРЯДКОВЫЕ НОМЕРА В LINUX
В Linux первое устройство, первая страница и прочее почти всегда нумеруются с нуля. Нулевое устройство — 0 — в Linux, это первое в Windows.
Дисковод гибких дисков
Одно из самых древних устройств в персональном компьютере — это дисковод гибких дисков. Им до сих пор комплектуются все новые персональные
компьютеры, несмотря на то, что технические характеристики гибких дисков
Глава 2
46
уже давно не отвечают современным требованиям к запоминающим устройствам. Но в ряде случаев пользователю приходится использовать гибкие диски — например, для загрузки операционной системы в аварийных ситуациях
или переноса данных с компьютера на компьютер в условиях отсутствия других возможностей.
Дисководы гибких дисков в операционной системе Linux имеют ряд имен, но
чаще ныне используются следующие:
/dev/fd0 — дисковод А: в Windows;
/dev/fd1 — дисковод B: в Windows.
Имя дисковода /dev/fd0 (дисковод А:) говорит о том, что при обращении к
нему конкретный формат гибкого диска определяется автоматически.
В отличие от Windows, где дисковод A: можно переименовать только в B:
(когда, например, надо провести копирование файлов с одного гибкого диска
на другой, не используя дисковое пространство на винчестере), в Linux у одного и того же устройства может быть сколько угодно имен (конечно, в пределах разумного).
Наверное, многие уже не знают, что формат гибкого диска — его объем —
может быть не только 1,44 Мбайт. Вначале были гибкие диски диаметром
5 дюймов объемом 180 Кбайт, потом 360, 720 Кбайт и 1,2 Мбайт. 3дюймовые гибкие диски начали свой прогресс с 720 Кбайт, но наиболее популярным стал формат 1,44 Мбайт. Кроме этого иногда используются и другие варианты, например, 2,88 Мбайт. Причем следует учитывать, что указанные данные справедливы для форматов MS-DOS с файловой системой FAT.
Для других файловых систем цифры по доступному дисковому пространству
на гибком диске будут иными.
Наличие множества форматов гибких дисков и определяет, что в Linux могут
существовать и такие имена дисковода гибких дисков:
/dev/fd0d360;
/dev/fd0h1200;
/dev/fd0u1440.
То есть к 3-дюймовому дисководу гибких дисков можно обратиться как
/dev/fd0, так и /dev/fd0u1440. Впрочем, в компьютер теперь устанавливается
всего один дисковод гибких дисков, и обычно используется универсальное
имя: /dev/floppy.
Основные понятия Linux
47
Имена COM-портов
COM-порт, или последовательный интерфейс в вычислительной технике
появился еще до создания персональных компьютеров. В начале его использовали для подключения терминалов — монитора и клавиатуры. В персональных компьютерах основным назначением COM-порта стало подключение дополнительных внешних устройств: модемов, мышей, различных
графических устройств ввода/вывода. Ныне наличие COM-порта в компьютере не так актуально, поскольку чаще используются устройства с интерфейсами PS/2 и USB, но иногда пользователю все-таки приходится подключать к
компьютеру устройство с COM-портом — в частности, множество сотовых
телефонов как раз и используют такой способ подключения к компьютеру.
Большинство внешних телефонных модемов подключается к одному из двух
аппаратных COM-портов компьютера, а внутренние эмулируют дополнительный COM-порт. В Windows COM-порты традиционно обозначаются как
COM1, COM2, COM3 и COM4. Причем из этих четырех имен два, в различных комбинациях, всегда обозначают аппаратные порты, смонтированные на
системной плате1. В более новых версиях Windows могут появляться и другие
номера, например COM9 или COM41, которые эмулируются программным
обеспечением.
В операционной системе Linux назначение COM-портов аналогично, но поскольку ее возникновение обязано многопользовательской операционной системе UNIX, то понятия "последовательный интерфейс" и "терминал" в ней почти
равнозначны. Это создает некоторые трудности при начальном изучении операционной системы Linux, но для современных дистрибутивов, где многопользовательские особенности Linux "скрыты" графическим интерфейсом, вначале
достаточно знать несколько соотношений между именами в Windows и Linux.
Когда модем подключен к COM-порту компьютера и конфигурация операционной системы настроена автоматически, то программы при обращении к
модему используют имя: /dev/modem.
К модему, да и к любому другому устройству с последовательным интерфейсом, можно обратиться не только так, как это было только что указано, но и
по имени COM-порта, например:
/dev/ttyS0 — порт COM1;
/dev/ttyS1 — порт COM2;
1
Современные чипсеты всегда эмулируют программным способом два COM-порта, а на
системной плате остаются разъемы и буферные схемы.
Глава 2
48
/dev/ttyS2 — порт COM3;
/dev/ttyS3 — порт COM4.
Когда программа дозвона до модемного пула провайдера не находит
модем с именем /dev/modem, попробуйте обратиться к модему по
имени COM-порта, например: /dev/ttyS0 или /dev/ttyS1.
Имена винчестеров в Windows
В Windows, как бы вы ни подключили винчестер к шине IDE, основной раздел винчестера, создаваемый программой Fdisk, всегда имеет имя C:. С одной
стороны — это достоинство операционной системы Windows, поскольку все
просто и однозначно. Но, с другой стороны, это подразумевает, что пользователь никогда не пользуется программным обеспечением, которое не прошло
одобрения корпорации Microsoft.
Попытки отступить от неписаных правил Microsoft, используя утилиты, разработанные для операционных систем MS-DOS и Windows, обречены на заведомую неудачу. Правда, разработчики современных BIOS для системных
плат предложили обходной путь, давая возможность изменять статус винчестеров, но это не отменяет основных правил Microsoft, создающих сложности
при использовании других операционных систем.
Следует отметить, тем не менее, что в Windows XP SP2 и Vista установка различных операционных систем на один винчестер корпорацией Microsoft
"официально" разрешается. То есть корпорация вынужденно пошла навстречу пользователям, но все же ряд проблем остались. Впрочем, положительным
моментом стало здесь то, что ныне слово "Linux" уже не является запретным
для мира Windows.
Имена винчестеров с интерфейсом IDE
На системных платах с IDE-интерфейсом всегда имеется два IDE-канала (1-й
и 2-й), и для подключения IDE-устройств на плате смонтированы два IDEразъема. К каждому каналу с помощью 40- или 80-проводного шлейфа можно
подключить два устройства — обычно это винчестеры и различные типы
приводов компакт-дисков.
Основные понятия Linux
49
Для правильного опознавания на одном шлейфе двух устройств используют
правило: первое устройство — это Master, а второе — Slave. Выбор имени
устройства производится с помощью джамперов (рис. 2.1), установленных на
винчестере.
а
б
Рис. 2.1. Винчестер с интерфейсом IDE:
а — контактные поля на винчестере; б — наклейка на корпусе винчестера
Позиция Cable Select (CS) для винчестера означает, что выбор режима работы определяется разрывом проводника в шлейфе.
В операционной системе Linux имена винчестеров жестко связаны с точками
подключения к IDE-интерфейсу и типом устройства:
первый (Master, MA) винчестер на первом канале IDE называется
/dev/hda;
второй (Slave, SL) винчестер на первом канале IDE называется /dev/hdb;
первый (Master) винчестер на втором канале IDE называется /dev/hdc;
второй (Slave) винчестер на втором канале IDE называется /dev/hdd.
Глава 2
50
Учитывая подобный подход к именованию винчестеров, следует всегда помнить, что переустановка винчестера на другой шлейф или изменение его статуса, например, с Master на Slave, приведет к тому, что потребуется изменить
информацию в конфигурационных файлах. В частности, с помощью гибкого
загрузочного диска, созданного для загрузки Linux, после переустановки
винчестера не удастся загрузить с него операционную систему, так как загрузчик не найдет файлов, которым надо передать управление.
Винчестеры с интерфейсом SCSI и SATA
В ряде случаев в компьютере могут стоять винчестеры с интерфейсом SCSI.
Тогда следует учесть, что при использовании интерфейса SCSI винчестеры
несут следующие имена:
первый SCSI-диск (SCSI ID address-wise) называется /dev/sda;
второй SCSI-диск называется /dev/sdb.
Не следует думать, что интерфейс SCSI используется только для SCSIустройств, он же применяется и для различных новых типов накопителей —
например, винчестеров с интерфейсом Serial ATA и USB-накопителей. При
этом винчестеры с интерфейсом Serial ATA будут также иметь имена /dev/sda,
/dev/sdb и т. д. Режимов работы Master и Slave для этих винчестеров нет.
Имена разделов винчестера
Пользователь обычно не задумывается о том, какой статус имеют диски (разделы), которые создаются с помощью DOS-программы Fdisk. Весь процесс
идет почти всегда одинаково — дисковое пространство на винчестере разделяют на два раздела: primary (первичный) — диск C:, с которого происходит
загрузка MS-DOS или Windows, и extended (расширенный) — диск D:, где
хранятся различные рабочие файлы пользователя (его архив). Иногда добавляют еще несколько логических дисков, на которые делится расширенный
раздел D:. Другие варианты возможны только в Windows XP и особенно в
Windows XP SP2, а также в Windows Vista.
В ОС Linux разделы, которые по умолчанию называются в Windows дисками
C: и D:, имеют другие имена. Они составляются из имени винчестера и номера раздела на винчестере.
Основные понятия Linux
51
Например, если винчестер подключен на первый IDE-канал как Master, то
имена C: и D: в Linux будут звучать так:
/dev/hda1 — диск C:;
/dev/hda5 — диск D:.
Имя hda1 говорит о том, что раздел является основным. Таких основных разделов может быть только четыре, поэтому возможны лишь следующие варианты: /dev/hda1, /dev/hda2, /dev/hda3 и /dev/hda4.
Логический диск D: в расширенном разделе получит имя hda5. Соответственно, диск E: будет иметь имя /dev/hda6, а F: — /dev/hda7. Теоретически, в
расширенном разделе может быть до 60 логических дисков.
Если винчестер подключен на второй канал IDE как Master, то имена разделов будут следующие:
/dev/hdc1 — диск C:;
/dev/hdc5 — диск D:.
Если винчестер включен в режиме Slave, то имена разделов станут такими:
/dev/hdb1 (на первом канале IDE) или /dev/hdd1 (на втором канале IDE) —
диск C:;
/dev/hdb5 (на первом канале IDE) или /dev/hdd5 (на втором канале IDE) —
диск D:.
В тех случаях, когда в компьютер установлен винчестер с интерфейсом Serial
ATA, имена разделов на нем будут именоваться, например, так: /dev/sda1 и
/dev/sda2.
Файловые системы
Купив новый винчестер и установив его в компьютер, после включения компьютера мы не увидим дополнительного дискового пространства (не получим
к нему доступа), и даже само наличие дополнительного винчестера не будет
определено операционной системой (ни в Windows, ни в Linux). Чтобы наша
покупка принесла пользу, надо на винчестере создать разделы и отформатировать их дисковое пространство. В Windows в этих целях используются
утилиты (программы), которые были разработаны еще для MS-DOS.
Глава 2
52
Сначала запускают программу Fdisk (в Windows XP используется Служба
управления дисками), с помощью которой делят неотформатированное дисковое пространство нового винчестера на части (разделы, диски). Обычно
создают два диска: C: и D:, но возможны варианты — например, один диск C:
и множество мелких дисков: D:, E:, F: и т. д. После создания разделов (дисков), каждый из них форматируется программой Format, которая создает на
дисковом разделе файловую систему, доступную для хранения файлов.
Для операционной системы Windows традиционной является файловая система типа FAT, имеющая ряд модификаций —
например, FAT16 и FAT32, а также ряд
других. Для многопользовательских операционных систем Windows 2000 и XP чаще используют файловую систему NTFS
разных модификаций.
Для операционной системы Linux также
справедливо все, что было здесь сказано.
Сначала дисковые разделы создаются программой fdisk (а это уже утилита,
относящая к Linux), потом формируются файловые системы.
В отличие от Windows, которая признает только файловые системы, разработанные корпорацией Microsoft, операционная система Linux может работать с любыми файловыми системами. Так, популярны следующие файловые системы:
ext2 — стандартная файловая система Linux;
ext3 — стандартная файловая система Linux с добавленным журналированием (протоколированием);
JFS — журналируемая файловая система IBM;
ReiserFS — журналируемая файловая система;
vfat — файловая система Microsoft FAT 32.
Правда, по умолчанию, при инсталляции дистрибутива Linux на винчестере
создаются файловые системы ext2 или ext3 (в последнее время популярной
становится файловая система Reiser). Это основные файловые системы, которые используются операционной системой Linux, причем ext3 отличается от
ext2 наличием механизма журналирования, похожего на аналогичный в файловой системе NTFS.
Смысл журналирования в файловых системах заключается в том, что все
операции с файлами регистрируются. Например, копируется файл. В этом
Основные понятия Linux
53
случае каждый этап копирования (считать данные с диска, разместить в ОЗУ,
скопировать содержимое ОЗУ на диск) отмечается в служебном файле, и до
тех пор, пока файл полностью не будет скопирован в нужное место, операция
копирования считается незавершенной. Если в момент копирования файла
произойдет отключение питания или другое событие, которое прекращает
работу компьютера, то файл может оказаться скопированным не полностью.
Тогда, при включении питания, на диске оказывается "плохая" копия файла,
как это и происходит в файловых системах ext2 и FAT. Но если файловая
система поддерживает механизм журналирования, то операционная система,
читая записи в журнале (служебном файле), исправляет ошибки файловых
операций, доводя незавершенную операцию копирования до конца. Это повышает надежность работы приложений, а также устраняется ручной процесс
очистки файловой системы от "мусора", который всегда накапливается при
работе персонального компьютера.
Корневой каталог
Поскольку в Linux все манипуляции с внешними устройствами сводятся к
операциям с обычными файлами, то для пользователя архитектура компьютера представляется в виде файловой системы. В одном каталоге находятся
устройства ввода/вывода, а в другом (точнее, в других) пользовательские
файлы и программы.
Чтобы было удобнее пользоваться файлами в различных каталогах, в операционной системе Linux введено понятие — корневой каталог, который обозначается прямым слешем: /.
Корневой каталог — это та точка, от которой отсчитывается расстояние до
любого файла. Сколько бы ни было установлено в компьютере винчестеров,
корневой каталог всегда один. Это, следует отметить, самое существенное
отличие Linux от Windows для пользователя, поскольку в Windows в каждом
дисковом разделе существует свой корневой каталог, к которому обращаются
как к C:, D:, E: и т. д.
В операционной системе Linux нет букв, обозначающих диски, а есть только
одна файловая структура. Она начинается от корня (/), и все локальные файловые системы и локальные устройства, а также удаленные системы представлены в этой структуре подкаталогами. В остальном организация файловой структуры в Linux традиционна и привычна для пользователей.
54
Глава 2
Например, персональные файлы пользователя располагаются в каталоге
home:
/home/dima/имя_файла_пользователя_dima
или:
/home/ira/имя_файла_пользователя_ira
Наиболее важные системные файлы операционной системы находятся в каталоге /bin, а файлы внешних устройств сгруппированы в каталоге /dev.
Свопинг
Размер оперативной памяти в компьютере не безграничен, поэтому всегда
наступит момент, когда для размещения кода запущенных программ и данных не будет хватать места. Во всех операционных системах с этим явлением
борются, используя самые разнообразные приемы. Наиболее часто применяют перенос на винчестер тех областей оперативной памяти, которые в данный
момент не используются, освобождая место для новых программ или данных.
Как только потребуется код или данные, которые были сохранены на винчестере, они снова загружаются в ОЗУ. Такой механизм работы с памятью называется кэшированием, или свопингом.
В Windows для свопирования используется специально создаваемый на винчестере файл, называемый, как правило, WIN386.SWP. Его размер непостоянен и зависит от объема оперативной памяти, наличия свободного места на
винчестере и версии операционной системы. Этот файл, использующий пространство на рабочем разделе винчестера, находится в равных условиях со
всеми остальными файлами, а это означает, что он подвержен фрагментации,
что приводит к понижению производительности компьютера (в идеале желательно, чтобы объема оперативной памяти хватало на все, а механизм свопирования на винчестер не использовался).
В Linux также можно использовать принцип свопирования, который применяется в Windows, но это сильно уменьшает скорость работы многих программ. Поэтому в UNIX-системах, в том числе и в Linux, используют для
свопинга специальный раздел swap на винчестере, который имеет собственную структуру файловой системы. Размер этого раздела зависит от объема
оперативной памяти — принято назначать величину swap-раздела, равной
размеру удвоенной оперативной памяти. При таком способе кэширования
оперативной памяти достигается наиболее быстрый перенос данных из ОЗУ
на винчестер и обратно.
Основные понятия Linux
55
Точка монтирования
При работе в операционной системе Windows пользователь, в общем-то, не
задумывается о том, где и как размещены данные на винчестере и сменных
носителях, как к ним следует обращаться и т. п. Имеется стандартная структура каталогов — все начинается с корневого каталога, к которому обращаются как к диску C:, а любой другой накопитель обычно называется как следующий диск (раздел), по порядку следования букв латинского алфавита.
Поскольку в Linux точка монтирования / — одна на всех, то возникает вопрос: где располагаются другие файловые системы, разделы, винчестеры, носители и т. п. Тем более, что все устройства представляют собой файлы. Поэтому в операционной системе Linux существует понятие монтирования
файловой системы. С точки зрения этого понятия любое устройство, дисковый накопитель и пр. прежде, чем к нему можно было бы обратиться (читать
или записать данные), должно быть смонтировано в какой-либо точке файловой системы. Причем точка монтирования может быть произвольной. Для
обеспечения совместимости различных дистрибутивов Linux друг с другом и
для упрощения взаимодействия пользователей, в файловой структуре всегда
существует каталог /mnt. В этом каталоге по традиции монтируются все
внешние накопители в виде отдельных каталогов:
/mnt/floppy — дисковод гибких дисков;
/mnt/cdrom — привод компакт-дисков;
/mnt/media — флэш-карты и различные новые накопители.
Здесь же стараются монтировать и разделы MS-DOS и Windows, хотя это не
обязательно, например: /mnt/windows — диск С:.
Следует обратить внимание, что название каталога windows может быть
изменено на любое, удобное пользователю. При желании структура каталогов для монтирования устройств и разделов с дисками C: и D: может быть и
такой:
/mnt/floppy;
/mnt/cdrom;
/windows/C;
/windows/D.
Глава 2
56
Структура разделов на винчестере
Вопросы и проблемы, которые рассматриваются в этом разделе, справедливы
для любых операционных систем, в том числе для Windows и Linux. Поэтому,
даже если вы не будете использовать Linux на своем компьютере, все равно
предлагаемые далее рекомендации помогут повысить надежность хранения
данных на винчестере.
СОВЕТ
Если вам сейчас не интересно разбираться в технических подробностях,
перейдите к разделу Другие операционные системы и Linux, где излагаются проблемы совместимости Windows и Linux. Простые способы выделения
дискового пространства на винчестере для установки дополнительной операционной системы описаны в главе 3.
Конфигурация дискового пространства
Принципиально никто и ничто не мешает сконфигурировать дисковое пространство на винчестере по своему усмотрению. Примерно так и поступали
на заре компьютерной эры. К сожалению, торжество операционной системы
MS-DOS на персональных компьютерах привело к тому, что утвердилась
схема деления дискового пространства винчестера на 4 основных раздела
(диски, логические диски).
Согласно принципам MS-DOS, нулевая дорожка винчестера оказалась зарезервированной для главной загрузочной записи, где расположен загрузчик
операционной системы и таблица с информацией об основных разделах (дисках) на винчестере. Причем на нулевой дорожке занят только первый сектор,
равный 512 байтам. Все остальные секторы, независимо от объема винчестера, не используются2. Служебные и пользовательские данные всегда размещаются, начиная с первого сектора нулевого цилиндра винчестера3.
2
Существуют программы защиты информации на винчестере, которые используют свободное пространство на нулевой дорожке, но это вызывает сложности при переустановке
операционной системы.
3
Реальная геометрия дискового пространства на современных винчестерах скрыта от
пользователя и операционной системы. Традиционное распределение данных по цилиндрам, секторам и дорожкам программно формирует контроллер винчестера.
Основные понятия Linux
57
Основные разделы, в свою очередь, могут быть разделены на логические диски, когда в разделе создается как бы "логический винчестер".
Из-за доминирования операционной системы Windows в большинстве случаев
применяется вариант с двумя разделами (рис. 2.2). Первый основной раздел
предназначен для установки Windows 98 или ME, а второй — расширенный —
раздел используется для хранения архивов или установки операционной системы Windows 2000 или XP. Если винчестер более 60 Гбайт, а компьютер быстрый, то первый основной раздел используется для установки Windows XP.
C:
D:
Рис. 2.2. Схема традиционного деления дискового пространства
на два диска в Windows
C:
D:
E:
F:
Рис. 2.3. Схема деления дискового пространства
с логическими дисками в Windows (упрощ.)
Проблема деления на большее количество дисков, чем четыре раздела, стала
перед программистами корпорации Microsoft почти сразу после внедрения
технологии MS-DOS. Для сохранения совместимости с предыдущими версиями была предложена схема формирования дисков, показанная на рис. 2.3.
Во втором, расширенном, разделе создается "неограниченное" количество4
логических дисков. Здесь надо отметить, что при этом каждый логический
диск связан по цепочке с предыдущим логическим диском. Отсюда, кстати,
следует большая неприятность для пользователя, если, например, по какой-то
4
Реально, по ряду публикаций, не может быть больше 60 логических дисков.
58
Глава 2
причине уничтожается один из логических дисков, то последующие логические диски, увы, становятся недоступными.
Из рис. 2.2 и 2.3 следует, что в MS-DOS и Windows используются только два
основных раздела, как бы ни было разделено дисковое пространство на винчестере (в Windows XP пользователь, при желании, имеет возможность использовать 4 основных раздела). Остальные два раздела всегда остаются
невостребованными, если, конечно, их не используют какие-либо коммерческие программы или операционные системы, разработанные не в корпорации
Microsoft.
Когда в компьютер устанавливается второй винчестер, то его дисковое пространство делится аналогично рассмотренному. Названия для обозначения
дополнительных разделов выбираются из 26 латинских букв от D до Z.
Основная таблица разделов
Знать, где находится основная таблица разделов и как она организована, всегда полезно, когда спасаешь информацию на винчестере после проблем с вирусами или форматируешь новый винчестер. Последний случай относится
уже к политике распределения дискового пространства на винчестере (винчестерах), о которой приходится вспоминать, обдумывая, как разумно разделить, например, 300-гигабайтный винчестер на логические диски. Кстати,
Linux тут, в общем-то, ни при чем, поскольку вопрос касается, скорее, того,
где будут храниться ваши рабочие файлы, а также видеофильмы, музыка, фотографии. Если использовать все дисковое пространство на винчестере под
один диск С:, то рано или поздно, например, при переустановке Windows,
встанет проблема спасения личного архива.
Информация о параметрах четырех основных разделов хранится в главной
таблице разделов, которая начинается с адреса 1beH (шестнадцатеричное
значение) в загрузочном секторе винчестера. Для каждого раздела в таблице
отводится 16 байтов, где указаны наиболее важные параметры. А так как разделов всегда четыре, то адреса элементов таблицы разделов начинаются с адресов 1beH, 1ceH, 1deH и 1eeH.
Структура одного элемента раздела показана на рис. 2.4. Вначале идет один
байт "Флаг загрузки", который говорит о том, является ли данный раздел по
умолчанию загрузочным для операционных систем Windows 95/98/ME и MSDOS. Фактически, первый раздел всегда содержит значение 80H, а остальные 0.
Основные понятия Linux
59
Рис. 2.4. Структура элемента таблицы разделов
Следующие три байта указывают на физические координаты начала раздела.
Первый — это номер головки (поверхности) винчестера. Два других байта
"закодированы" в формате "6 бит сектор + 10 бит цилиндр".
После информации о начале раздела идет байт с кодом операционной системы (файловой системы), которая расположена на этом разделе. Кодов достаточно много, поэтому они здесь не могут быть все приведены. Например, в
MS-DOS код 06H — это основной раздел или диск С:, а код 05H — расширенный раздел. Для Windows популярен код 0bH.
Далее следуют 4 байта с информацией о конце основного раздела. Структура
данных аналогична той, которая описывает начало раздела.
Заканчивается описание основного раздела двумя парами 4-байтных полей.
В первом поле содержится номер самого первого сектора раздела, а второе
поле — число секторов, отведенных для раздела. Имейте в виду, что в этих 4байтных полях сначала идут два младших байта числа, а потом два старших.
Доступ к таблице разделов можно получить только из MS-DOS, так как Windows блокирует прямой доступ к служебной информации на винчестере. На
рис. 2.5 приведена информация о 7-гигабайтном винчестере, которая была
получена с помощью программы DiskEdit из программного пакета Norton
Utilities. На данном винчестере установлена операционная система
Windows 98 SE. Под диск C: отведено 2 Гбайт, а все остальное пространство
отдано под диск D:. Обратите внимание, что информации о логических дисках в расширенном разделе D: в основной таблице разделов нет.
Глава 2
60
Starting Location
System
Ending Location
Boot
Side
Cyl
Sec
Side
Cyl
Sec
Relative
Sectors
Number of
Sectors
FAT32
Yes
1
0
1
254
254
63
63
4096512
FAT32x
No
0
255
1
254
929
63
4096575
10843875
unused
No
0
0
0
0
0
0
0
0
unused
No
0
0
0
0
0
0
0
0
Рис. 2.5. Представление таблицы разделов в редакторе
Логические диски, которые создаются в расширенном разделе, имеют в начальных секторах собственные таблицы разделов, аналогичные таблице разделов главной загрузочной записи. Правда, в отличие от адресации основных
разделов, логические диски адресуются по цепочке, например, в таблице разделов диска D: указываются параметры диска E: и т. д.
Политика деления дискового пространства
Со времени появления операционной системы MS-DOS пользователи регулярно пытаются разделить дисковое пространство на винчестере на четыре
раздела, как показано на рис. 2.6. Ведь наличие четырех независимых разделов — это увеличение надежности хранения данных, простота спасения информации при различных бедах.
Когда имеется четыре независимых дисковых раздела, то очень просто менять их размеры. Например, увеличить какой-либо раздел для работы с видеофайлами за счет других. Или изменить размер диска С: при переустановке
операционной системы. Принцип тут достаточно прост — переносим файлы с
изменяемых разделов на другие, а потом размеры "пустых" разделов изменяем. При работе с логическими дисками в расширенном разделе это тоже возможно, но весьма опасно. Конечно, существуют коммерческие программы
для проведения таких операций, но работают они чрезвычайно медленно.
Следует отметить, что попытки изменить установленный корпорацией Microsoft порядок разбиения дискового пространства на винчестере с помощью
программы Fdisk из комплекта MS-DOS или Windows 9x всегда оказываются
неудачными.
Основные понятия Linux
C:
D:
61
Е:
F:
Рис. 2.6. Оптимальная схема деления дискового пространства
Программа Fdisk, хотя и показывает наличие на винчестере четырех разделов, даже когда те созданы другими операционными системами, всегда
предлагает создать два раздела: диск С: и расширенный раздел, в котором
уже можно налепить много-много логических дисков. Если же пользователь
продолжает упорствовать в своем желании разделить дисковое пространство на винчестере по собственному желанию, ему необходимо искать программу "не от Майкрософт". Часто пользуются коммерческой программой
PartitionMagic корпорации PowerQuest (http://www.powerquest.com).
Рис. 2.7. Служба управления дисками в Windows XP
62
Глава 2
Конечно, можно изменить главную таблицу разделов вручную, но это дело
для хороших программистов, которые умеют работать на уровне аппаратных
ресурсов, а здесь описывать такой подход не имеет смысла. Для тех же, кто
имеет в своем распоряжении дистрибутив Linux, в главе 4 рассказывается о
простых способах корректного деления дискового пространства с помощью
программы DiskDrake (это программа, относящаяся к операционной системе
Linux), а также с помощью других аналогичных программ.
В Windows XP, особенно в доработанных версиях, пользователю предоставляется больше прав по делению дискового пространства. Причем можно воспользоваться не только графической утилитой Служба управления дисками,
но и командной строкой. При использовании командной строки следует учитывать, что с каждой доработкой Windows XP увеличивается число доступных пользователю команд.
Вызывается Служба управления дисками через контекстное меню Мой компьютер | Свойства. На рис. 2.7 приведен пример окна Управление компьютером, где активизирована служба Управление дисками.
Другие операционные системы и Windows
Несмотря на все удобства операционной системы Windows, работая с ней,
пользователю следует быть настороже, особенно, если используется программное обеспечение от фирм, конкурирующих с корпорацией Microsoft.
В частности, когда на компьютере в отдельном разделе на винчестере установлена операционная система Linux, то в программе Проводник раздел, не
относящийся к файловой системе FAT и NTFS, будет виден просто как Локальный диск (рис. 2.8). Попытка просмотреть такой диск вызовет системное
сообщение Windows Диск не отформатирован, показанное на рис. 2.9 (Windows XP SP2 реагирует не так остро и не требует немедленного форматирования).
Есть и еще ряд мелких неудобств, проистекающих из того, что программисты
Microsoft считают, будто все и всегда работают только в Windows. Например,
политика назначения букв латинского алфавита накопителям в Windows,
осуществляется, если можно так сказать, наобум. Никогда нельзя знать, какая
буква будет назначена для обозначения нового раздела, если используется
несколько винчестеров или устанавливается "чужая" операционная система.
Соответственно, остается только рекомендовать всегда присваивать разделам
собственные имена — скажем, DOS, Arhive, Video…
Основные понятия Linux
63
Рис. 2.8. Локальный диск в окне Мой компьютер
Рис. 2.9. Предупреждение операционной системы Windows
Приведем такой пример чересполосицы именования разделов в Windows для
системы с двумя винчестерами — сначала для первого раздела винчестера
Master c четырьмя разделами будет отведена буква С, потом для винчестера
Slave — буква D, потом будет отведена буква E для второго раздела первого
винчестера и т. д.
Операционная система Windows всегда считает, что расширенный
раздел на винчестере может быть только один, и он всегда последний. Отсюда следует вывод — основной раздел, в котором должна
быть установлена Linux, следует располагать после всех основных
разделов, предназначенных для доступа из Windows. Несоблюдение этого условия приводит к тому, что (см. рис. 2.7) если Linux поставить на диск
E:, то диск F:, вполне возможно, не будет виден в Windows или его нельзя будет
отформатировать программой Format (для MS-DOS).
Глава 2
64
СОВЕТ
Если вы активно используете операционную систему Windows, то лучше
всего устанавливать операционную систему Linux на последний основной
раздел винчестера.
Считаем память
Наиболее "темные" вопросы в Linux — сколько надо места на винчестере для
установки операционной системы, а также каков оптимальный объем оперативной памяти. Авторы книг и статей на эту тему приводят разные цифры,
которые, в основном, базируются на их собственном опыте установки системы. И чтобы не лезть в дебри, следует знать, что на компьютер, где имеется
хотя бы Windows 95, всегда можно установить Linux.
Но надо себе четко представлять, что можно ожидать от компьютера с установленной "впритык" операционной системой. Так, на слабеньком компьютере видеофильмы смотреть никто не будет, даже если это в принципе окажется
возможным. То есть как существует множество версий операционной системы Windows, так возможны и различные варианты установки Linux. Просто
надо понимать, какой компьютер для чего предназначен. Как бессмысленно
устанавливать на компьютер с процессором i486 операционную систему
Windows XP — не хватит аппаратных ресурсов — точно так же не стоит требовать, чтобы Linux показывал суперрезультаты на компьютере, который для
этого не предназначен.
После такого лирического отступления можно привести цифры, на которые
следует ориентироваться при выборе дистрибутива и его установке.
Оперативная память
Наиболее существенный фактор, который влияет на графические и мультимедийные возможности операционной системы Linux, — это объем оперативной памяти.
Для учебных целей и работы в качестве сервера, когда не требуется большой
производительности, вполне хватит и 8 Мбайт (если использовать только текстовый режим видеоадаптера). Можно работать и при еще меньшем объеме
памяти, но не надо забывать, что более простая операционная система Windows 95 при объеме ОЗУ в 4 Мбайт уже не работает.
Основные понятия Linux
65
Для современных приложений под Linux минимальный объем ОЗУ находится где-то в районе 32 Мбайт, но приемлемые результаты получаются
только при 128 Мбайт. А вот удовлетворение от работы системы массовый
пользователь получит, когда объем оперативной памяти будет равен 256–
512 Мбайт.
Причем только в последнем случае, при 512 Мбайт, не будут сказываться эффекты от использования кэш-памяти на винчестере. Видеофильмы станут
крутиться без запинок, а графические возможности поразят любого пользователя Windows. Кстати, и в Windows только при 512 Мбайт ОЗУ система перестает использовать swap-файл на винчестере (это справедливо для большинства программ, однако, например, для графического редактора Photoshop и
одного гигабайта не так уж много).
У современных персональных компьютеров объем оперативной памяти достигает 1–2 Гбайт. Дальнейшее увеличение объема памяти,
как правило, не дает выигрыша, поскольку большинство программ
для Windows не умеют использовать память более 2 Гбайт.
Swap-раздел
От объема оперативной памяти зависит величина размера swap-раздела на
винчестере, где традиционно для Linux кэшируется данные, для которых
временно не хватает места в ОЗУ.
Для очень слабеньких компьютеров считается, что объем swap-раздела должен быть в 2–4 раза больше, чем объем оперативной памяти. В переводе на
мегабайты это означает — от 64 до 128 Мбайт. Правда, практика показывает,
что для простых случаев хватит и 16 Мбайт, однако при этом интегрированные графические системы использовать будет невозможно.
Для современных компьютеров swap-раздел должен быть примерно 512 Мбайт
или 1 Гбайт. Это позволит без проблем трудиться над очень большими проектами, когда необходимо работать одновременно с графикой и текстовыми документами, а также параллельно слушать музыку.
Если в вашем компьютере установлен винчестер, объем которого исчисляется
уже в десятках и сотнях гигабайт, можно планировать при установке Linux
swap-раздел размером 1 Гбайт для всех случаев жизни, при необходимости
уменьшая его до 0,5 Гбайт. Кстати, считать с точностью до единиц килобайт
нет необходимости.
66
Глава 2
Объем Linux-раздела
на винчестере
Кроме swap-раздела на винчестере надо выделить место для установки файлов операционной системы и прикладных программ, а также для хранения
пользовательских данных — писем, текстовых файлов, MP3-файлов и пр. Соответственно, в зависимости от требований пользователя к мультимедийности и многофункциональности Linux, размер раздела на винчестере для установки новой операционной системы может варьироваться в больших
пределах. Например, для полной установки современного дистрибутива
Linux может потребоваться до 3–5 Гбайт.
При минимальной установке, когда не используется графика, вполне хватает 100 Мбайт. Автору удавалось ставить Linux на винчестер размером в
130 Мбайт и делать полезные вещи. Можно отметить, что по информации
разработчиков дистрибутива ALTLinux самый необходимый минимум дискового пространства на винчестере составляет 89 Мбайт.
Если есть желание использовать графическую среду интегрированной системы KDE и возможность работать с приложениями OpenOffice, то минимальный размер раздела на винчестере должен составлять 250 Мбайт.
Для настольного компьютера, на котором предполагается использовать мультимедийные приложения, чтобы не создавать себе проблем, необходимо выделять примерно 500–600 Мбайт. Правда, это больше касается старых дистрибутивов версий 6, 7 и, может быть, 8 (относительно нумерации Red Hat).
Как показывает практика, чтобы установить современный дистрибутив Linux,
не ломая голову над расчетами по выделению места на винчестере, можно
ориентироваться на 2 Гбайт. В этом случае, если не требовать установки всех
мыслимых приложений, стандартные варианты, которые предлагают разработчики, всегда будут установлены.
Правда, аппетит приходит во время еды, и если нет ограничений на выделение места под Linux, можно использовать следующие рекомендации. Для
системных файлов операционной системы Linux и прикладных программ
зарезервировать 5 Гбайт. Этого, как думается, будет достаточно, по крайней
мере, еще пару лет. Но одновременно с этим отвести дисковое пространство для пользовательских данных (каталога /home), начиная, примерно, от 10
Гбайт.
И еще одна рекомендация относительно каталога /home — хотя свои данные
пользователь может хранить и на FAT-разделах, но все же, в ряде случаев,
Основные понятия Linux
67
лучше хранить персональную информацию там, куда нет свободного доступа
из операционной системы Windows. В частности, это защита данных от посторонних и детей.
Вообще, можно порекомендовать всем — когда покупается новый винчестер,
а это много-много гигабайт, резервировать в самом конце дискового пространства 10–20 Гбайт. Это вполне можно сделать при помощи программы
Fdisk, которой размечается дисковое пространство в MS-DOS и Windows,
создав дополнительный логический диск. Когда нет Linux, этот раздел можно
использовать для хранения каких-либо редко используемых данных или установочных файлов Windows-программ.
Совместимость "железа" с Linux
"Железо" для персональных компьютеров производит множество компаний
по всему миру. Одни фирмы являются огромными транснациональными корпорациями, другие — совсем маленькими предприятиями с небольшим количеством работников. Но в компьютерных магазинах продается любая продукция, независимо от того, кто ее выпустил. А раз так, то у пользователя
всегда возникает вопрос — будет ли работать приобретаемое им устройство в
его персональном компьютере или придется устанавливать более новую версию операционной системы.
Проблема совместимости "железа" (а это чаще всего касается различных плат
расширения, например, звуковых карт и ТВ-тюнеров) достаточно нетривиальна даже для мира Windows, о чем рано или поздно узнает каждый пользователь. Но Windows поддерживает огромная софтверная компания, да и все
фирмы, выпуская новое "железо", всегда тестируют его на совместимость с
"мировой операционной системой". А что будет, если поставить на компьютер операционную систему Linux, которая для многих производителей то же
самое, что красная тряпка для быка5?
Если подходить с практической точки зрения, то любой современный персональный компьютер с процессором от корпорации Intel или AMD подходит
для установки операционной системы Linux.
5
Некоторые фирмы не хотят предавать гласности "фирменные" технологии, у других в
штате программисты, которые могут разрабатывать драйверы лишь для операционной
системы Windows.
68
Глава 2
Проблемы могут быть только с очень устаревшими или редкими периферийными устройствами, а также с упрощенными конструкциями, которые специально разрабатывались
для работы с операционной системой Windows. Новые периферийные платы и устройства, появляющиеся на рынке, либо поддерживают те технологии, которые известны
Linux, либо производители снабжают их фирменными драйверами (как, например, компания nVIDIA и ATI/AMD), либо для них очень
быстро пишутся драйверы.
Лучше, когда драйверы разрабатывают программисты компании-производителя, но и тут иногда возникают различные проблемы. В частности, драйверы для видеоадаптеров nVIDIA бывают и бесплатными, и коммерческими.
Бесплатные работают, но, увы, все же, помедленнее.
И все же проблема драйверов видеокарт для операционной системы
Linux существует. Как правило, в Linux отлично поддерживаются
старые видеокарты, неплохо — выпущенные пару лет назад, и отвратительно самые современные модели. Чаще всего проблемы
возникают с аппаратным ускорением 3D-графики.
Иногда крупная корпорация выпускает продукцию, для которой не удосуживается сделать поддержку в Linux. Иногда это происходит из-за смежников,
которые выпускают большие интегральные микросхемы (чипы). Например,
имеются сложности с подключением USB-модемов, в которых используется
чип Conexant компании Rockwell.
В ряде случаев возникают проблемы с устройствами, которые поддерживаются разработчиками ПО для Linux, но полная функциональность, которая
доступна в Windows, из-за закрытости фирменных технологий, невозможна в
Linux. Тут в качестве примера можно привести сканер Perfection 1260 корпорации EPSON. Он без проблем опознается в Linux, программа сканирования,
например, Sane, с ним правильно работает. Но вот алгоритм работы сканера
иной, и, кроме того, не работает система опознавания слайд-модуля.
В последнее время на Linux переходит все больше стран и корпораций, заметна также коммерческая заинтересованность таких корпораций, как IBM,
Intel, Novell, Sun и пр., поэтому можно рассчитывать, что в создании драйверов для Linux будут заинтересованы все производители компьютерного "железа". Соответственно, пользователям не придется гадать, подойдет или нет
Основные понятия Linux
69
новенькая покупка для его компьютера — в Linux она обязательно заработает. А вот по поводу Windows этого сказать будет нельзя — уже сейчас покупка нового устройства тянет за собой необходимость перехода на новую версию Windows, что часто означает и серьезную модификацию компьютера.
Для того чтобы узнать, какое "железо" сегодня поддерживается Linux, на сайтах производителей дистрибутивов всегда имеются веб-страницы, где приводится перечень совместимых и несовместимых устройств.
Надо также отметить, что многие современные дистрибутивы Linux, предназначенные для конечного потребителя, не поддерживают устаревшие компьютеры, в частности i386, i486, а также Pentium первого поколения (и аналогичные процессоры корпорации AMD). Чтобы решить такую проблему, надо
либо выбрать универсальный дистрибутив, например Fedora или Debian, либо
самостоятельно заменить ядро операционной системы Linux и код ряда приложений, что вполне доступно даже не очень опытному программисту.
Download