Аллен Питер В.
Шрифт:
int (*fasync)(int, struct file*, int);
int (*lock)(struct file*, int, struct file_lock*);
ssize_t (*readv)(struct file*, const struct iovec*,
unsigned long, loff_t*);
ssize_t (*writev)(struct file*, const struct iovec*,
unsigned long, loff_t*);
ssize_t (*sendpage)(struct file*, struct page*, int, size_t,
loff_t*, int);
unsigned long (*get_unmapped_area)(struct file*, unsigned long,
unsigned long, unsigned long, unsigned long);
};
Как использовать структуру file_operations, думаю, ясно. Например, нам нужно описать обработчики записи и чтения устройства — функции device_write и device_read:
struct file_operations FO = {
open: device_open,
release: device_close,
read: device_read,
write: device_write
};
Обработчики чтения и записи пишутся «по образу и подобию» обработчиков открытия и закрытия устройства, то есть сначала нам нужно определить младший номер с помощью вызова MINOR, а затем произвести операцию с устройством.
Приложение
Таблицы соответствия Windows- и Linux-программ
С помощью приведенных ниже таблиц вы сможете подобрать достойный аналог для вашей Windows-программы. При заполнении таблицы я руководствовался простым правилом: чтобы Windows-программа и ее Linux-аналог были в одной весовой категории, то есть обладали примерно одинаковыми возможностями.
Работа в Интернет
| Windows-программа | Linux-аналог | Комментарий |
|---|---|---|
| Internet Explorer | Netscape Navigator/Mozilla | Думаю, что обе эти программы в представлении и особых комментариях не нуждаются — мы их знаем еще со времен Windows |
| Konqueror | Вряд ли Завоеватель сможет выступить в роли Internet Explorer'а. Но для походов на не очень «навороченные» (с использованием Flash, VRML, апплеты Java) сайты его возможностей вполне хватит | |
| Galeon | Данный браузер основан на движке Mozilla, поэтому он с успехом может заменить самого Mozill'у! | |
| IE for Linux | Компания Microsoft портировала программу IE на платформу Linux. Честно говоря, «ослика ИА для Линукс» я в глаза не видел, но судя по отзывам, программа линуксоидам не понравилась | |
| Opera | Opera for Linux | Уже вышла восьмая версия этого популярного браузера, и она доступна пользователям Linux. Но рекомендуется воспользоваться стабильной версией 7.54 — это проверенная временем, надежная версия |
| Mozilla for Windows | Mozilla for Linux | Linux-аналог обладает всеми возможностями Windows-программы |
| Outlook | Ximian Evolution | Полный аналог знаменитой программы Outlook — программы похожи друг на друга как две капли воды |
| K Mail | K Mail вполне справится с возложенной на него задачей — служить заменителем для Outlook. Организация учетных записей K Mail очень напоминает Outlook, что делает эти две программы несколько похожими друг на друга. Конечно, K Mail и Outlook не очень похожи внешне, но идея остается прежней. Нужно заметить, что K Mail не заменит полную версию Outlook, скорее всего, он «потянет» на роль аналога Outlook Express | |
| Outlook (чтение новостей) | Knode | Программа обладает достаточно удобным интерфейсам, что позволяет ставить ее в один ряд с клиентом новостей программы Outlook |
| Netscape Messenger | Messenger — это более зрелый, по сравнению с Knode, продукт, позволяющий читать не только почту по протоколам POP3 и IMP3, но и новости | |
| The Bat! | Sylpheed | Программа The Bat! давно стала культовой, а ее разработчики видно, не спешат портировать программу на платформу Linux. К счастью, мир не без добрых людей: разработчик Hiroyuki Yamamoto (скорее всего, японец) написал Linux-аналог программы The Bat! Программа Sylpheed заслуживает отдельного разговора, поэтому о ней мы поговорим немного позже |
| The Bat! | K Mail | Программа K Mail тоже может выступать в роли аналога для программы The Bat!, но с меньшим успехом, чем программа Sylpheed |
| FlashGet, Reget, Go!zilla (менеджеры закачки файлов) | Downloader for X | Мне очень понравилась эта программа — по своим возможностям она не уступает ни одной из перечисленных Windows-программ |
| Kget (или Caitoo) | Довольно неплохой загрузчик файлов | |
| Wget | Данная программа работает в консоли, то есть не имеет графического интерфейса, но возможности данной программы заслуживают уважения | |
| Teleport Pro (полная загрузка сайта) | Downloader for X | Программа Downloader for X может использоваться как для загрузки одного файла, так и для закачки целых сайтов |
| Wget | То же самое можно сказать и о программе wget | |
| FTP-клиенты (Bullet Proof FTP) | 1. Gftp 2. Ifgp 3. ncftp | Первые две программы более удобны, поскольку они являются графическими приложениями. Третья программа — ncftp — работает в консоли, но обладает довольно полезными функциями, например, докачка файла в случае разрыва соединения или закачка файлов по шаблону |
| ICQ, MSN, AIM | 1. licq 2. aicq 3. micq 4. Gaim 5. Simple Instant messenger | Существует много разновидностей ICQ-клиента. Вы можете выбрать один из них на свой вкус |
| Mirc (IRC-клиент) | Xhat, Kvlrc, Ksirc | С IRC-клиентами также никогда не было проблем — это только три наиболее удобные на мой взгляд IRC-клиенты |
| Firewall (BlackICE, ATGuard, ZoneAlarm) | iptables или ipchains | Обе эти программы являются стандартными и устанавливаются при установке любого дистрибутива Linux. Использовать графические оболочки для iptables или ipchains (Kmyfirewall, Firewall Builder) я не рекомендую, поскольку ни одна оболочка не позволяет гибко настроить firewall |
| VisualRoute, CyberKit | Xtraceroute, VisualRout for Linux, traceroute, ping, tcpdump | Программу VisualRoute с успехом можно заменить программой Xtraceroute или ее текстовой версией traceroute. Пакет CyberKit можно заменить набором стандартных программ — traceroute, ping, nslookup и tcpdump; полученная смесь будет мощнее, чем CyberKit |
| Фильтрация данных и роутинг (BlackICE, ATGuard, WinRoute, WinGate) | Squid и route | Обе эти программы являются стандартными и обладают значительно большими возможностями, чем их Windows-аналоги |
| VentaFax | efax Gfax | Эти программы смогут заменить знаменитую программу VentaFax |
| Vdialer, E-type dialer (дозвон к провайдеру) | Kppp Gppp Kinternet | Звонить к провайдеру Linux также умеет — не сомневайтесь, ведь Linux создан для сети, как птица для полета |
| Загрузка канала | kpppload kisdnload | Первая программа отображает график загрузки PPP-канала, а вторая — канала ISDN |
| Remote Administrator | telnet ssh X-terminal | В отличие от Windows, где для удаленного администрирования нужно устанавливать отдельную программу, в Linux есть стандартные средства, с помощью которых можно управлять удаленной машиной |
| HyperTerminal | minicom | Небольшая программа с большими возможностями |
Работа с файлами
| Windows-программа | Linux-аналог | Комментарий |
|---|---|---|
| Norton Commander, Volcov Commander, FAR | Midnight Commander | Программа Midnight Commander полностью заменяет популярную программу NC. Интерфейс программ практически одинаковый: MC, как и NC, обладает двумя панелями синего цвета и работает в текстовом режиме. Так как MC — это файловый менеджер Unix (Linux), то он обладает специфическими для этой ОС функциями: операции с правами доступа, создания символических ссылок, поддержка сети (NFS. FTP) |
| Windows Commander (Total Commander) | Midnight Commander | Программа MC обладает всеми функциями указанных Windows-программ. Правда, в отличие от Windows Commander, MC работает в текстовом режиме. Хотя имеется возможность запуска MC в терминале X: при этом программа будет реагировать на события X (например, щелчок мыши на кнопке Копировать) |
| LinCommader | Удобный файловый менеджер. Программа доступна по адресу http://www.ussr.to/Russia/vvi/lcmd.html | |
| Krusader | Программа обладает удобным интерфейсом и предназначена для работы в KDE. Поддерживает различные форматы архивов, обладает встроенными FTP-клиентом и просмотрщиком графических файлов. Программа доступна по адресу http://krusader.sourceforge.net/ |
Прикладные и системные программы
| Windows-программа | Linux-аналог | Комментарий |
|---|---|---|
| Блокнот | kedit, gedit, xedit | Любая из этих программ в состоянии заменить Блокнот |
| Bred, Rpad32, Aditor | Kate | Программа Kate поддерживает 38 различных кодировок и подсветку синтаксиса для С, С++, Java, Pascal, PHP, HTML, Bash и других языков программирования |
| Программы-переводчики (Prompt) | Пока нет ни одного нормального переводчика | |
| Словари (Socrat, Lingvo) | Mueller, Mova, Ksocrat | Любой из этик словарей способен заменить Lingvo, хотя я не обещаю, что замена будет равноценной |
| RAR/WinRAR | RAR for Linux | Версия популярного архиватора для Linux — комментарии излишни |
| Ark | Программа входит в состав утилит KDE (пакет kdeutil) и поддерживает распространенные форматы архивов | |
| WinZIP | Ark | Все тот же Ark |
| GnoZIP | Удобный архиватор для среды GNOME, Программу можно качать по адресу http://www.geocities.com/SiliconValley/9757/gnozip.html | |
| PGP | PGP for Linux | Полный аналог Windows-версии |
| DrWeb, AVP | DrWeb for Linux, AVP for Linux | Программы доступны по адресамисоответственно |
| Msconfig | Drakconf, LinuxConf (в Mandrake) setup (в Red Hat) redhat-config-XXXX (в RH 8.0) | Думаю, с конфигураторами проблем у вас не будет |
| System Commander, PowerQuest Boot Magic | LILO Grub ASPLoader Acronis OS Selector | Первые два загрузчика являются стандартными, и вы можете использовать любой из них на свой вкус. Третий — это стандартный загрузчик ОС ASP Linux, а последний — это альтернативный загрузчик, доступный по адресу http://www.acronis.ru/ |
| Диспетчер задач | ps, Top, Gtop, Ktop, … | Без комментариев |
| MBMonitor, PCAlert (измерение температур и напряжений на материнской плате) | KHealthCare (для KDE) | Программа не входит в состав KDE, поэтому ее нужно скачать самостоятельно http://homepages.fh-giessen.de/~hg7229/khealthcare/main.html |