Главная » Статьи для тега "которые"

Кратко об объектах kobjec t и файловой системе sysfs

Добавлено Дата: 11 April, 2012 категория: Ядро Linux

В  этой главе рассматривается модель представления устройств, файловая  система sysfs,  объекты  kobjec t и уровень событий ядра. Описание материала главы было бы невозможно без рассмотрения родственных вещей: были также описаны множества kset , подсистемы, атрибуты, типы ktype и счетчики ссылок kref. Эти структуры предназначены для использования  разными людьми в разных местах. Разработчикам драйверов необходимо только ознакомление с внешними интерфейсами. Большинство подсистем драйверов эффективно скрывают внутренние механизмы использования объектов kobjec t и других, близких к ним структур. Понимание основных принципов работы и знание основного назначения интерфейсов, таких как   sysfs_create_file( )  , является достаточным для разработчиков драйверов. Однако для разработчиков, которые занимаются разработкой основного кода ядра, может потребоваться более детальное понимание принципов функционирования объектов kobject . Объекты kobjec t могут оказаться еще более важными,  так как их могут использовать и те  разработчики, которые вообще не занимаются разработкой подсистем драйверов!!!

Читать »

Моделирование реальности

Добавлено Дата: 9 April, 2012 категория: Microsoft SQL Server, Базы данных

С точки зрения принципов информационной архитектуры (см. главу 1) целью моделирования данных является удовлетворение потребностей заказчика за счет определения такой структуры данных, которая логически представляет конкретные объекты и события.

Основным элементом данных является их элементарный контейнер. Большинство людей представляют себе этот контейнер как ячейку в электронной таблице— пересечение экземпляра сущности (строки) и его атрибута (столбца). Моделирование данных является искусством помещения этого элементарного контейнера в правильное место среди миллионов ячеек, формирующих всю систему данных. Чтобы моделировать данные, нужно рассматривать каждую ситуацию, сцену и документ с точки зрения элементов данных и целостности реляционной модели.

Читать »

С чего необходимо начать

Добавлено Дата: 8 April, 2012 категория: Ядро Linux

Итак, готовы  ли вы начать  охоту за ошибками? Этот путь может  оказаться длинным  и полным разочарований. Некоторые ошибки ставили  в тупик  все сообщество разработчиков ядра на несколько месяцев. К счастью, на каждую  из таких злостных ошибок находятся простые, которые легко  исправить. Если  вам повезет, то все проблемы, с которыми вы столкнетесь, будут простыми и тривиальными. Однако чтобы это  проверить, необходимо начать  исследования. Для  этого  понадобится следующее.

Читать »

Области памяти

Добавлено Дата: 7 April, 2012 категория: Ядро Linux

 (memory areas)   представляются  с  помощью  объектов областей памяти,  которые хранятся в  структурах  типа  vm_area_struct .  Эта  структура  определена  в файле  <linux/mm.h> .   часто  называются областями  виртуальной памяти (virtual memory area, или VMA).

Читать »

API, POSIX и библиотека С

Добавлено Дата: 5 April, 2012 категория: Ядро Linux

Обычно  прикладные  программы  не  разрабатываются  с  непосредственным  использованием  системных  вызовов,  при  этом  используются  программные  интерфейсы  приложений  (Application  Programing Interface,  API).  Это  является важным,  так как  в таком  случае нет необходимости  в корреляции  между интерфейсами, которые используют  приложения, и интерфейсами, которые  предоставляет  ядро.  Различные API  определяют набор  программных интерфейсов,  которые используются приложениями. Эти  интерфейсы могут  быть  реализованы с помощью одного  системного вызова,  нескольких  системных  вызовов,  а также  вообще  без использования системных вызовов.  В действительности,  может  существовать один  и  тот  же  программный интерфейс приложений для  различных операционных систем, в то  время  как  реализация  этих API может для разных  ОС   существенно  отличаться.

Читать »

Когда лучше использовать данные, связанные с процессорами

Добавлено Дата: 4 April, 2012 категория: Ядро Linux

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

Читать »

Прерывания и обработка прерываний

Добавлено Дата: 4 April, 2012 категория: Ядро Linux

правление аппаратными устройствами, которые подключены к вычислительной  машине, — это одна из самых ответственных функций ядра.  Частью  этой работы является необходимость взаимодействия с отдельными устройствами машины. Поскольку процессоры обычно  работают  во много  раз быстрее, чем аппаратура, с которой они должны  взаимодействовать, то для ядра  получается неэффективным отправлять запросы и тратить  время, ожидая  ответы  от потенциально более  медленного оборудования. Учитывая небольшую скорость отклика оборудования, ядро должно  иметь  возможность оставлять на  время  работу  с оборудованием и выполнять  другие  действия, пока  аппаратное устройство не закончит обработку  запроса. Одно  из возможных решений этой  проблемы — периодический опрос оборудования (polling).  Ядро  периодически может  проверять состояние аппаратного устройства системы и соответственным образом реагировать. Однако такой  подход  вносит  дополнительные накладные расходы, потому  что, независимо от того, готов  ответ  от аппаратного устройства или  оно  еще выполняет запрос, все равно  осуществляется постоянный систематический опрос  состояния устройства через постоянные интервалы времени. Лучшим  решением является обеспечение механизма, который позволяет  подавать  ядру сигнал  о необходимости уделить  внимание оборудованию. Такой

Читать »

Использование компонента FLVPlayback

Добавлено Дата: 4 April, 2012 категория: ActionScript

Компонент FLVPlayback позволяет включить видеопроигрыватель в приложение Adobe Flash CS4 Professional для воспроизведения последовательно загружаемых видеофайлов с использованием протокола HTTP, или для воспроизведения потоковых видеофайлов с сервера Adobe Macromedia Flash Media Server или Flash Video Streaming Service (FVSS).

Читать »

Электронные звуки

Добавлено Дата: 2 April, 2012 категория: Программирование звука

Все  слышимые  нами  звуки   это,  в  некотором  смысле,  последовательности волн   давления.   Если   мы   возьмем   очень   чувствительный   измеритель   давления и подсоединим его к перьевому графопостроителю, то получим линию,

Читать »

Проблемы могут быть больше, чем их отражение в зеркале

Добавлено Дата: 1 April, 2012 категория: Архитектура ПО

Дэйв Куик

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

Читать »

Версии ядра Linux

Добавлено Дата: 31 March, 2012 категория: Ядро Linux

Ядро  Linux  поставляется  в двух  вариантах-:  стабильном  (stable)   и  разрабатываемом  (development).  Версии стабильного ядра  это  выпуски продукции промышленного уровня,  которая готова  для  широкого использования.  Новые стабильные версии ядра  обычно выпускаются для  исправления ошибок и  для  предоставления новых  драйверов устройств. Разрабатываемые версии ядра,  наоборот,  подвержены быстрым изменениям.  По  мере  того  как  разработчики экспериментируют с новыми решениями, часто  вносятся радикальные изменения в ядро.

Читать »

Класс String Tokenizer

Добавлено Дата: 31 March, 2012 категория: Java

Класс StringTokenizer делит строку на части, используя для этого символы-разделители. Последовательность лексем, выделенных из строки, фактически представляет собой упорядоченный объект-перечисление, поэтому класс StringTokenizer реализует интерфейс Enumeration. Вы можете передавать объекты StringTokenizer методам, которые обрабатывают объекты-перечисления, или воспользоваться методами Enumeration для проведения итераций. StringTokenizer также предоставляет ряд методов с более конкретной типизацией. Перечисление StringTokenizer не гарантирует фиксации

Читать »

Компоненты окна

Добавлено Дата: 29 March, 2012 категория: Java

Я  не буду описывать все компоненты Swing в этой книге, но вы можете найти ссылку на онлайн учебник  по Swing, в разделе Материалы для дополнительного чтения.  В этом руководстве есть подробные описания всех компонентов Swing. Наш калькулятор использует только JButton, JLabel и JTextField. Вот список других доступных компонент:

Читать »

Некоторые другие слушатели событий

Добавлено Дата: 24 March, 2012 категория: Java

Существуют  и  другие  слушатели в  Java  в  пакете  java.awt,  которые неплохо  было бы знать:

?? Слушатель  фокуса (FocusListener) посылает сигнал вашему классу, когда компонент окна получает или теряет фокус. Например, говорят, что текстовое поле имеет фокус, если в нем мигает курсор.?? Слушатель  элемента (ItemListener) реагирует на выборэлементов  в обычном или выпадающем списке.?? Слушатель  клавиш (KeyListener) реагирует на  нажатияклавиш. ?? Слушатель  мыши  (MouseListener)  реагирует,  когда нажимают  на  кнопку  мыши,  или  она  входит  в  область компонента  окна или выходит из нее.?? Слушатель   движений   мыши  (MouseMotionListener) сообщает вам,  когда  мышь двигается  или  что-­?то тащит. Тащить (drag) означает двигать  мышь  с  нажатой  клавишей. ?? Слушатель окна (WindowListener)  дает  вам  шанс  уловить  моменты, когда пользователь открывает, закрывает,  уходит  из окна или заходит в него.В  следующей таблице вы увидите имена интерфейсов слушателей, иметоды,  которые эти интерфейсы объявляют.

Читать »

Перед тем как начать

Добавлено Дата: 23 March, 2012 категория: Ядро Linux

Эта  книга  посвящена ядру  Linux:  как  оно  работает, почему  оно  работает и  чему следует  уделить  внимание. Далее  будут  описаны  принципы  работы   и  реализация основных подсистем ядра, а также  интерфейсы и программная семантика. Эта книга касается практических вопросов, и в ней  используется подход  на основании золотой серединки указанных выше  направлений. Такой интересный подход  в сочетании с анекдотами из личной практики автора  и советами по хакерским приемам позволяет быть  уверенным в том, что  книга  станет  хорошим стартом.

Читать »