Выбрать главу

Еще в 1995 году была начата разработка проекта FreeCiv - клона популярной игры Civilization. FreeCiv обеспечивала режим коллективной игры через Интернет еще за несколько месяцев до того, как компания Hasbro Interactive включила подобные возможности в свой продукт.

Но самый большой вклад в дело убеждения разработчиков и пользователей в том, что к Linux как к платформе для игр можно относиться серьезно, внесла другая игра - Quake, которая вышла в 1996 году. К 1997 году один из основателей фирмы Id Software Джон Кармак (John Carmack) предложил сообществу разработчиков Quake на условиях лицензии GNU General Public License, а программист Дейв Кирш (Dave Kirsh) из той же компании перенес эту игру на Linux. Сегодня компании используют Quake III для демонстрации новейшей аппаратуры и дистрибутивов Linux. Кармак (и его компания) активно поддерживает идею игр на Linux; он перенес на открытую платформу и Quake III: Arena.

Таким образом, к настоящему времени все типы популярных компьютерных игр доступны в версиях для ОС Linux. Для Linux созданы и аркадные игры, и симуляторы, и стратегии, и "стрелялки", и игры любых других типов. В составе дистрибутивов полного комплекта игр вы, конечно, не найдете. Если у вас есть желание поиграть в такие игры, их надо устанавливать дополнительно, для чего либо купить их, либо скачать из Интернета.

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

Начните знакомство с миром игр с чтения "Linux Gamers’ HOWTO" (http://www.dirac.org/linux/LG-HOWTO.txt). Русский перевод этого документа сделал Дмитрий Самойлов. Самую свежую версию перевода можно найти по адресу http://linuxgames.hut.ru/data/docs/HOWTO/LG-HOWTO-ru.html.

После этого можно отправиться на сайт http://freshmeat.com, где вы найдете около 300 различных игр. На русскоязычном сайте http://linuxgames.hut.ru имеется база данных по играм, в которой 184 игры, в том числе 143 - свободно распространяемые.

На сайте http://linuxgames.org.ru/games.php3 вы найдете перечень игр под Linux, классифицированных по жанрам, с кратким описанием и ссылками на статьи с более подробными сведениями.

Если вы не нашли нужной игры на этих сайтах, можете заглянуть еще по следующим адресам:

• Linux Games (http://www.linuxgames.com);

• Linux Game Tome (http://happypenguin.org);

• Loki Entertainment Software (http://www.lokigames.com);

• Hyperion Software (http://www.hyperion-software.com);

• Tribsoft (http://www.tribsoft.com/);

• Unreal Tournament (http://www.unrealtournament.com/).

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

Глава 16. Обратная сторона файловой системы

16.1. Типы файловых систем, поддерживаемых в Linux

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

Но, прежде чем перейти к описанию конкретных механизмов, стоит отметить, что Linux умеет работать с несколькими типами файловых систем. Основной файловой системой для Linux является "вторая расширенная файловая система" (second extended filesystem), которую кратко обозначают как ext2fs. Именно ее механизмы будут подробно рассматриваться в настоящем разделе. Но прежде, чем перейти к ее рассмотрению, ненадолго отвлечемся для того, чтобы кратко перечислить некоторые типы файловых систем, которые поддерживаются в Linux. Их список приведен в табл. 16.1.

Таблица 16.1. Типы файловых систем, поддерживаемые Linux

Тип ФС Назначение minix Файловая система minix - это первая файловая система, которая использовалась в Linux. Она имела массу недостатков: ограничения размера раздела жесткого диска 64 мегабайтами; длина имени файла была ограничена 30 символами и т. д. Она продолжает использоваться для дискет и RAM-дисков extfs Еще одна из ранних версий файловой системы для Linux, расширение файловой системы minix. В настоящее время заменена файловой системой ext2 и уже не используются ext2fs Вторая расширенная файловая система (second extended filesystem) была создана как расширение файловой системы extfs. ext2fs обеспечивает более высокую производительность (в части скорости и использования центрального процессора), поддерживаются длинные имена и большие размеры файлов xiaf Файловая система Xiaf была создана на основе minix с целью обеспечения большей устойчивости и безопасности. Она обеспечивает выполнение основных функций файловой системы без излишней сложности msdos Файловая система, используемая для разделов, сформатированных в MS-DOS и Windows. Имена файлов в msdos должны удовлетворять стандарту 8.3 umsdos Файловая система UMS-DOS является расширением файловой системы DOS, используемым под Linux. В ней добавлено использование длинных имен файлов, идентификаторы пользователя и группы (UID/GID), разрешения в стиле POSIX и специальные файлы (устройства, именованные каналы и т. д.) при этом совместимость с DOS не потеряна hpfs Файловая система для разделов OS/2. В Linux обеспечивается только чтение из разделов hpfs proc Это файловая система, которая используется для обращения к структурам данных ядра. Файлы этой системы не занимают дискового пространства. Подробнее см. страницу man proc(5) nfs Сетевая файловая система, используемая для доступа к дискам, расположенным на удаленных компьютерах swap Раздел или файл свопинга OC Linux sysv Файловая система Unix System V. Она поддерживает файловые системы Xenix FS, SystemV/386 FS и Coherent FS iso9660 Файловая система для монтирования CD-ROM, соответствующая стандарту ISO 9660 vfat Файловая система FAT-32. Поддерживаются длинные имена файлов smb Это сетевая файловая система, которая поддерживает протокол SMB, используемый Windows, Windows NT и Lan Manager. Для того, чтобы использовать эту файловую систему, надо иметь специальную программу монтирования smbmount ncpfs Это сетевая файловая система, обеспечивающая поддержку протокола NCP, применяемого в Novell NetWare. Для того, чтобы использовать эту файловую систему, надо тоже иметь специальную программу, которую можно найти на сайте ftp://linux01.gwdg.de/pub/ncpfs