Марк Митчелл - Программирование для Linux. Профессиональный подход

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.
Жалоба
Напишите нам, и мы в срочном порядке примем меры.
Описание книги "Программирование для Linux. Профессиональный подход"
Описание и краткое содержание "Программирование для Linux. Профессиональный подход" читать бесплатно онлайн.
Данная книга в основном посвящена программированию в среде GNU/Linux. Авторы применяют обучающий подход, последовательно излагая самые важные концепции и методики использования расширенных возможностей системы GNU/Linux в прикладных программах. Читатели научатся писать программы, к интерфейсу которых привыкли пользователи Linux; освоят такие технологии, как многозадачность, многопотоковое программирование, межзадачное взаимодействие и взаимодействие с аппаратными устройствами; смогут улучшить свои программы, сделав их быстрее, надежнее и безопаснее; поймут особенности системы GNU/Linux, ее ограничения, дополнительные возможности и специфические соглашения.
Книга предназначена для программистов, уже знакомых с языком С и имеющих базовый опыт работы в GNU/Linux.
% cat /proc/version
Linux version 2.2.14-5.0 ([email protected])
(gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release))
#1 Tue Mar 7 21:07:39 EST 2000
Здесь сказано, что в системе используется ядро Linux версии 2.2.14, которое было скомпилировано программой EGCS версии 1.1.2 (эта программа является предшественницей широко распространенного в настоящее время пакета GCC).
Для наиболее важных параметров, а именно названия операционной системы и номера версии/модификации ядра, созданы отдельные записи в файловой системе /proc. Это файлы /proc/sys/kernel/ostype, /proc/sys/kernel/osrelease и /proc/sys/kernel/version.
% cat /proc/sys/kernel/ostype Linux
% cat /proc/sys/kernel/osrelease 2.2.14-5.0
% cat /proc/sys/kernel/version #1 Tue Mar 7 21:07:39 EST 2000
7.4.2. Имя компьютера и домена
В файлах /proc/sys/kernel/hostname и /proc/sys/kernel/domainname содержатся имя компьютера и имя домена соответственно. Эту же информацию возвращает функция uname(), описанная в разделе 8.15, "Функция uname()".
7.4.3. Использование памяти
Файл /proc/meminfo хранит сведения об использовании системной памяти. Указываются данные как о физической памяти, так и об области подкачки. Во второй и третьей строках значения даны в байтах, в остальных строках — в килобайтах. Приведем пример:
% cat /proc/meminfo
total: used: free: shared: buffers: cached:
Mem: 529694720 519610368 10084352 82612224 10977280 82108416
Swap: 271392766 44003328 227389440
MemTotal: 517280 kB
MemFree: 9848 kB
MemShared: 80676 kB
Buffers: 10720 kB
Cached: 80184 kB
BigTotal: 0 kB
BigFree: 0 kB
SwapTotal: 265032 kB
SwapFree: 222060 kB
Как видите, в системе имеется 512 Мбайт ОЗУ, из которых 9 Мбайт свободно. Для области подкачки выделено 258 Мбайт, из которых свободно 216 Мбайт. В строке, соответствующей физической памяти, показаны три других значения.
■ В колонке "shared" отображается общий объем совместно используемой памяти, выделенной в системе.
■ В колонке "buffers" отображается объем памяти, выделенной для буферов блочных устройств. Эти буферы используются драйверами устройств для временного хранения считываемых и записываемых блоков данных.
■ В колонке "cached" отображается объем памяти, выделенной для страничного кэш-буфера. В этом буфере сохраняются страницы файлов, отображаемых в памяти.
Ту же самую информацию можно получить с помощью команды free.
7.5. Дисководы, точки монтирования и файловые системы
В файловой системе /proc находится также информация о присутствующих в системе дисковых устройствах и смонтированных на них файловых системах.
7.5.1. Файловые системы
Файл /proc/filesystems хранит информацию об известных ядру типах файловых систем. Этот список не очень полезен, так как он не полный: файловые системы могут подключаться и отключаться динамически в виде модулей ядра. В файле /proc/filesystems перечислены типы файловых систем, которые либо статически подключены к ядру, либо присутствуют в настоящий момент.
7.5.2. Диски и разделы
В файловой системе /proc находятся данные об устройствах, подключенных как к IDE-так и к SCSI-контроллерам (если таковые имеются). Обычно в каталоге /proc/ide есть один или два подкаталога (ide0 и ide1) для основного и дополнительного IDE-контроллеров системы.[25] В этих подкаталогах будут другие подкаталоги, которые соответствуют физическим устройствам, подключенным к контроллерам. В случае, если устройство не распознано системой, подкаталог не создается. В табл. 7.1 указаны путевые имена каталогов для четырех возможных IDE-устройств.
Таблица 7.1. Каталоги, соответствующие четырем возможным IDE-устройствам
Контроллер Устройство Подкаталог Основной Главное /рroc/ide/ide0/hda/ Основной Подчиненное /proc/ide/ide0/hdb/ Дополнительный Главное /proc/ide/ide1/hdc/ Дополнительный Подчиненное /proc/ide/ide1/hdd/В каталоге каждого IDE-устройства есть несколько файлов, хранящих конфигурационные данные устройства. Перечислим наиболее важные из них.
■ model. Содержит строку идентификации устройства.
■ media. Описывает тип носителя. Возможные значения: disk, cdrom, tape, floppy и UNKNOWN.
■ capacity. Определяет емкость устройства (в 512-байтовых блоках). Для дисководов CD-ROM значением будет 2³¹-1, а не емкость компакт-диска, вставленного в дисковод. Находящееся в данном файле значение представляет емкость всего физического диска. Емкость файловых систем, содержащихся в разделах диска, будет меньше.
Ниже показано, как определить тип носителя и идентификатор главного устройства, подключенного к дополнительному IDE-контроллеру:
% cat /proc/ide/ide1/hdc/media
cdrom
% cat /proc/ide/ide1/hdc/model
TOSHIBA CD-ROM XM-6702B
В данном случае это дисковод CDROM компании Toshiba.
Если в системе есть SCSI-устройства, в файле /proc/scsi/scsi будет находиться сводка их идентификаторов. Содержимое этого файла выглядит примерно так
% cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: QUANTUM Model: ATLAS_V__9_WLS Rev: 0230
Type: Direct-Access ANSI SCSI revision: 03
Host: scsi0 Channel: 00 Id: 04 Lun: 00
Vendor: QUANTUM Model: QM39100TD-SW Rev: N491
Type: Direct-Access ANSI SCSI revision: 02
В системе присутствует один одноканальный SCSI-контроллер (обозначен как scsi0), к которому подключены два дисковых накопителя Quantum со SCSI-номерами 0 и 4.
В файле /proc/partitions содержатся сведения о разделах распознанных дисковых устройств. Для каждого раздела указываются старший и младший номера, число однокилобайтовых блоков, а также имя устройства, соответствующего этому разделу.
Файл /proc/sys/dev/cdrom/info хранит различные данные о возможностях дисководов CD ROM. Записи этого файла не требуют особых пояснений:
% cat /proc/sys/dev/cdrom/info
CD-ROM information, Id: cdrom.с 2.56 1999/09/09
drive name: hdc
drive speed: 48
drive # of slots: 0
Can close tray: 1
Can open tray: 1
Can lock tray: 1
Can change speed: 1
Can select disk: 0
Can read multisession: 1
Can read MCN: 1
Reports media changed: 1
Can play audio: 1
7.5.3. Точки монтирования
В файле /proc/mounts находится перечень смонтированных файловых систем. Каждая строка соответствует одному дескриптору монтирования и содержит имя устройства, имя точки монтирования и прочие сведения. Та же самая информация хранится в обычном файле /etc/mtab, который автоматически обновляется командой mount.
Ниже перечислены элементы дескриптора монтирования.
■ Первый элемент строки — это имя смонтированного устройства. Для специальных файловых систем, например /proc, здесь стоит значение none.
■ Второй элемент — это имя точки монтирования, т.е. места в корневой файловой системе, где появится содержимое монтируемой файловой системы. Для самой корневой системы точка монтирования обозначается символом /. Разделам подкачки соответствует точка монтирования swap.
■ Третий элемент — это тип файловой системы. В настоящее время на жестких дисках Linux в основном устанавливаются файловые системы типа ext2, но диски DOS и Windows могут монтироваться с файловыми системами других типов, например fat или vfat. Тип файловых систем большинства компакт-дисков — iso9660. Список типов файловых систем приведен на man-странице команды mount.
■ Четвертый элемент — это флаги монтирования. Они указываются при добавлении точки монтирования. Пояснение этих флагов также дано на man-странице команды mount.
В файле /proc/mounts последние два элемента всегда равны нулю и никак не интерпретируются.
Подробнее о формате дескрипторов монтирования можно узнать на man-странице fstab. В Linux есть функции, позволяющие анализировать содержимое дескрипторов монтирования. За дополнительной информацией обратитесь к man-странице функции getmntent().
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!
Похожие книги на "Программирование для Linux. Профессиональный подход"
Книги похожие на "Программирование для Linux. Профессиональный подход" читать онлайн или скачать бесплатно полные версии.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Отзывы о "Марк Митчелл - Программирование для Linux. Профессиональный подход"
Отзывы читателей о книге "Программирование для Linux. Профессиональный подход", комментарии и мнения людей о произведении.