Форум по операционной системе GNU/Linux и свободному программному обеспечению
Текущее время: 11 дек 2018, 00:39

Часовой пояс: UTC + 3 часа


Правила форума


Запрещается помещать сообщения, не имеющие отношения к обсуждаемой статье. Все такие сообщения будут удаляться непосредствено после обнаружения.



Начать новую тему Ответить на тему  [ Сообщений: 187 ]  На страницу Пред.  1 ... 15, 16, 17, 18, 19
Автор Сообщение
 Заголовок сообщения: Re: проект книги: "Модули ядра Linux"
Непрочитанное сообщениеДобавлено: 01 ноя 2013, 19:50 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11350
Откуда: Харьков
Olej писал(а):
xor.kruger писал(а):
Скажите пожалуйста, собираетесь ли Вы в ближайшее время выкладывать обновленную версию книги?
В Вашем блоге она уже давненько не обновлялась :(
Заранее спасибо за любой ответ.


Пока не собирался. ;-)
По очень простой причине:
- все вопросы для себя, которые у меня вызывали неясности - я разрешил (для себя)...
- всё, что я хотел сказать - я сказал
- сейчас у меня нет конкретной работы в этой области, которая давала бы материал для дальнейшего разбирательства...
- если бы у кого-то из читателей (у вас, к примеру ;-) ) возникали конкретные вопросы (как сделать так чтобы...?) - то мы бы разобрали и нашли решение; таким образом и появились многие главы в теперешнем виде рукописи...


Вот и возникла прогнозируемая ситуация, связанная с изменениями обработчиков операции ioctl(), см. не проходит вызов ioctl();

Вопрос, в общем, понятен и решён...
Я сейчас "причешу" этот этот вариант (это будет редакция 173) и примеры, и обновлю выложенное в блоге.


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: проект книги: "Модули ядра Linux"
Непрочитанное сообщениеДобавлено: 07 ноя 2013, 15:41 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11350
Откуда: Харьков
Olej писал(а):


У developerWorks возникли технические накладки + они мне об этом не сообщили:
- они указали ссылку на 70-ю статью в тексте 69-й ...
- но 70-ю статью забыли выложить...
- а потом продолжили выкладывать следующие: 71, ?2, ...
- получился разрыв в связности

Этот дефект не устранён и на сегодня! :-o


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: проект книги: "Модули ядра Linux"
Непрочитанное сообщениеДобавлено: 07 ноя 2013, 15:52 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11350
Откуда: Харьков
Olej писал(а):


- 13.08.2013:
Инструменты программирования в ядре: Часть 71. Параллелизм и синхронизация. Новый интерфейс потоков
Инструменты программирования в ядре: Часть 72. Параллелизм и синхронизация. Синхронизация в коде
Инструменты программирования в ядре: Часть 73. Параллелизм и синхронизация. Блокировки. Часть 1

- 14.08.2013:
Инструменты программирования в ядре: Часть 74. Параллелизм и синхронизация. Блокировки. Часть 2

- 29.10.2013:
Отладка и тестирование модулей ядра: Часть 75. Отладка в ядре. Общие положения
Отладка и тестирование модулей ядра: Часть 76. Отладка в ядре. Практические советы
Отладка и тестирование модулей ядра: Часть 77. Отладка в ядре. Сборка и установка ядра

Это действительно полное завершение серии публикаций на IBM developerWorks.


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: проект книги: "Модули ядра Linux"
Непрочитанное сообщениеДобавлено: 07 ноя 2013, 20:18 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11350
Откуда: Харьков
Olej писал(а):
Этот дефект не устранён и на сегодня! :-o


И это исправили:

- 07.11.2013:

Инструменты программирования в ядре: Часть 70. Параллелизм и синхронизация. Потоки ядра


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: проект книги: "Модули ядра Linux"
Непрочитанное сообщениеДобавлено: 07 ноя 2013, 20:23 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11350
Откуда: Харьков
Olej писал(а):
И это исправили:


Итого, эта, последняя, заключительная серия статей имеет вид:

Инструменты программирования в ядре: Часть 63. Механизмы управления памятью
Инструменты программирования в ядре: Часть 64. Распределители памяти
Инструменты программирования в ядре: Часть 65. Работа с динамическими структурами памяти
Инструменты программирования в ядре: Часть 66. Служба времени: базовые понятия
Инструменты программирования в ядре: Часть 67. Служба времени: измерение интервалов
Инструменты программирования в ядре: Часть 68. Служба времени: абсолютное время и задержки выполнения
Инструменты программирования в ядре: Часть 69. Таймеры ядра
Инструменты программирования в ядре: Часть 70. Параллелизм и синхронизация. Потоки ядра
Инструменты программирования в ядре: Часть 71. Параллелизм и синхронизация. Новый интерфейс потоков
Инструменты программирования в ядре: Часть 72. Параллелизм и синхронизация. Синхронизация в коде
Инструменты программирования в ядре: Часть 73. Параллелизм и синхронизация. Блокировки. Часть 1
Инструменты программирования в ядре: Часть 74. Параллелизм и синхронизация. Блокировки. Часть 2

Отладка и тестирование модулей ядра: Часть 75. Отладка в ядре. Общие положения
Отладка и тестирование модулей ядра: Часть 76. Отладка в ядре. Практические советы
Отладка и тестирование модулей ядра: Часть 77. Отладка в ядре. Сборка и установка ядра


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: проект книги: "Модули ядра Linux"
Непрочитанное сообщениеДобавлено: 16 июн 2014, 09:10 
Ошибка в описании функций
long copy_from_user( void *to, const void __user * from, unsigned long n );
long copy_to_user( void __user *to, const void *from, unsigned long n );

Каждый из этих вызовов возвращает реально скопированное число байт или код ошибки операции (отрицательное значение).
На самом деле возвращают количество байтов, которые они не смогли скопировать в случае ошибки.


Вернуться к началу
  
 
 Заголовок сообщения: Re: проект книги: "Модули ядра Linux"
Непрочитанное сообщениеДобавлено: 16 июн 2014, 22:31 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11350
Откуда: Харьков
rishatgaliulin писал(а):
Ошибка в описании функций
long copy_from_user( void *to, const void __user * from, unsigned long n );
long copy_to_user( void __user *to, const void *from, unsigned long n );

Каждый из этих вызовов возвращает реально скопированное число байт или код ошибки операции (отрицательное значение).
На самом деле возвращают количество байтов, которые они не смогли скопировать в случае ошибки.


Хороший вопрос! ;-)

То как выглядит это в тексте зависит от редакции текста (когда написано), и в последней редакции 217 (10 июня 2014) это написано так:
Цитата:
Каждый вызовов этой группы API возвращает нулевое значение в качестве признака успешной операции, либо исходно переданное значение параметра n (положительное целое), как признак недоступности области для копирования.


Про то, что "возвращают количество байтов, которые они не смогли скопировать в случае ошибки"(с) - это написано в знаменитой книжке LDD3, и оттуда пересказывается с места на место...
Откуда они это взяли, я не знаю ... наверное в более ранних версиях ядра так и было.
Но смотрим код реализации :

- верс. 3.15:
Код:
255 static inline long copy_from_user(void *to,
256                 const void __user * from, unsigned long n)
257 {
258         might_fault();
259         if (access_ok(VERIFY_READ, from, n))
260                 return __copy_from_user(to, from, n);
261         else
262                 return n;
263 }
264
265 static inline long copy_to_user(void __user *to,
266                 const void *from, unsigned long n)
267 {
268         might_fault();
269         if (access_ok(VERIFY_WRITE, to, n))
270                 return __copy_to_user(to, from, n);
271         else
272                 return n;
273 }

__copy_from_user() & __copy_to_user() (с подчёркиванием) - тупо возвращают всегда константно 0 (стр.109).

Здесь возвращается всегда возвращает: или 0 или n ... и ничего более.
И всё так же во всех версиях от 2.6.35 до 3.15 (по той же ссылке).


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 187 ]  На страницу Пред.  1 ... 15, 16, 17, 18, 19

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
[ Time : 0.139s | 15 Queries | GZIP : On ]