Rambler's Top100
Сообщество Linux Kernel Энтузиастов

Все новости      Новости ядра: <Стабильные | Разрабатываемые | Дополнения | Все>      Документация: <О ядре | Не о ядре | Вся>      Утилиты      Новости сайта

User login

 
  • user warning: Table 'lkru_sessions' is marked as crashed and last (automatic?) repair failed query: SELECT COUNT(sid) AS count FROM lkru_sessions WHERE timestamp >= 1284004423 AND uid = 0 in /home/l/linuxkeru/public_html/includes/database.mysql.inc on line 172.
  • user warning: Table 's' is marked as crashed and last (automatic?) repair failed query: SELECT u.uid, u.name FROM lkru_users u INNER JOIN lkru_sessions s ON u.uid = s.uid WHERE s.timestamp >= 1284004423 AND s.uid > 0 ORDER BY s.timestamp DESC in /home/l/linuxkeru/public_html/includes/database.mysql.inc on line 172.
Submitted by friackazoid on 20 February, 2009 - 10:57.

Позволте представится)
Я начинающий разработчик ядра. В настоящий момент работаю в деелоперской фирме. Опыт разработки пользовательских приложений под линукс достаточно большой но всегда больше интересовало системное программирование. И вот последнее время занимаюсь этим достаточно плотно.
Мы с другом разработали пару небольших проэктов и сейчас на подходе еще один достаточно крупный проэкт.
В прошлых проэктах мы занимались сетевой подсистемой и подсистемой шифрования о чем и написали на нашем блоге http://42-friki-v01and.blogspot.com/
В настоящий момент мы занимаемся исследованиямы работы ядра с памятью.
Просьба не сразу начинать кидатся тапками))

»
Submitted by kda on 22 November, 2008 - 15:26.

Linux journal:

http://www.linuxjournal.com/article/8144 - sleeping inside kernel
http://www.linuxjournal.com/article/8172 - Linux as Ethernet bridge
http://www.linuxjournal.com/article/4852 - inside the linux packet filter
http://www.linuxjournal.com/article/7356 - Netlink socket
http://www.linuxjournal.com/article/7316 - udev
http://www.linuxjournal.com/article/1312 - network buffers and memory management
http://www.linuxjournal.com/article/7660 - network programming in the kernel
http://www.linuxjournal.com/article/5617 - inside the linux packet filter 2
http://www.linuxjournal.com/article/4659 - linux socket filter
http://www.linuxjournal.com/article/7104 - using DMA
http://www.linuxjournal.com/article/6946 - dynamic interrupt request allocation
http://www.linuxjournal.com/article/7562 - HTB (QoS)
http://www.linuxjournal.com/article/7905 - Kprobes
http://www.linuxjournal.com/article/1044 - porting linux to alpha
http://www.linuxjournal.com/article/7321 - storage improvements

Linuxgazette:

http://linuxgazette.net/156/jangir.html - simple network driver
http://linuxgazette.net/155/krishnakumar.html - HugeTLB support
http://linuxgazette.net/153/pfeiffer.html - populating fs with random data
http://linuxgazette.net/153/prestia.html - basic networking and IP forwarding
http://linuxgazette.net/149/melinte.html - VPN networking

»
Submitted by TwisT on 9 July, 2008 - 21:52.

Да, наконец таки диплож инженера защищен, на отлично ).Теперь таки смогу занятся тем чем хочу, а именно погрузится в код ядра. впереди нас ждет год магистратуры, может быть за одно свояю что нибудь такое на диссертацию. Трудно себе отдать отчет в том, что за пол года не плохо освоил системное программирование под окна[злой руководитель настоял над разработкой дипломной работы именно в виндах, т.к. он считает что окна - фарева], ну и ладно, забудем это как страшный сон. Кстати, что интересно, прочтенная книга Р.Лава очень помогла в этом, т.к. многие понятие общие для большинства ОСей.
План минимум на лето:
1.Быстренько пробежатся по имеющейся литературе о ядре и освежить знания;
2.Наконец таки прочесть книги о tcp/ip;
3.Закрепить полученные знания на практике;

»
Submitted by inch on 16 April, 2008 - 14:58.

If you are interested in starting a digital printing there are several steps that you must take. This is not the type of business that you start on a whim, and hope that you become a success overnight. With that being said, anybody can start a digital printing if this is an industry that they are truly interested in. To get started, it is important to have a plan that will guide your growth. This may not seem like a big deal, but in the competitive world of digital printing it is more than necessary.

Here are several steps that go into starting your own digital printing business.

1. Learn about the industry before you dive in. If you have already worked for a digital printing company, you will know the ins and outs. Of course, if you are starting fresh there will be a lot of knowledge to gather. The more that you know about every aspect of digital printing the better off you will be.

2. Make a comprehensive list of the services that you are going to offer. This is very important for a couple of reasons. First off, it will help you to decide what type of equipment you need. Additionally, a service list will also assist when putting together a marketing plan. Obviously, your services have a lot to do with the clientele that you will be chasing.

3. Where is your digital printing going to be based? This is one of the biggest problems that you may run into. Do you have a building in mind? If not, where are you going to search? You will have many options ranging from expensive downtown space to more affordable options in the suburbs. Before you decide to lease or buy workspace, make sure that you do your homework. Not only do you want to impress clients, but you also need to have enough room. And remember, you may expand in the future.

»
Submitted by iriska on 7 March, 2008 - 15:27.

Всех девушек, девочек и не только поздравляю с праздником весны! Желаю удачи и любви!И чтоб сбылись все ваши мечты!
Прям стихами заговорила!:-)
P.S Дорогие парни(мужчины)не забудьте об этом празднике!

»
Submitted by pavel sokolov on 3 December, 2007 - 19:33.

Написал драйвер для нового сканера. Железка по сути не имеет никакого протокола, просто тупо по USB отсылает данные прям с матрицы построчно.
URB на чтение и никаких проблем. Дёшево и сердито.
Есть еще возможность настройки матрицы по control ep, но калибровка будет проводиться на заводе.
Драйвер в результате получился малюсенький.

»
Submitted by aizdes on 1 December, 2007 - 11:21.

Ну вот и все стало ясно. Идея рассматривать исходники открытых ядер при изучении операционных систем не прошла. Студентов обучать я не буду. Эх, а какие были перспективы. Ну да ладно.

»
Submitted by pavel sokolov on 27 November, 2007 - 16:51.

Сегодня решил перенести систему на новое ядро, благо патч на сайте
http://maxim.org.za/at91_26.html
появился уже давно.
Просмотрел changelog и подметил что
Removed leds-at91 driver - converted to use generic leds-gpio driver.
Пришлось старый код для работы с led'ами почикать.
Портирование моих наработок на новое ядро не заняло много времени. Был приятно удивлён потому что в 2.6.23 добавили CRC-ITU и теперь не придется патчить.
Dataflash на SPI окончательно переехала на новую SPI систему, поэтому я ждал что он наконец то заработает. Но увы:
spi0.0: status error 255
Сам SPI работает на ура, а вот dataflash не опознается.
Так же при конфигурации подметил что теперь
Dallas DS1337 and DS1339 Real Time Clock (DEPRECATED)
Драйвер что идет с I2C саб-системой устарел и надо использовать тот что RTC.
Сказано сделано.
К сожалению на новом драйвере часики не заработали, впрочем как и на старом.
Часы единственный баг, который не позволяет перетащить систему на свежее ядро. Будем разбираться.

»
Submitted by iriska on 24 November, 2007 - 18:59.

ХОЧУ ФЕДОРУ CORE 8 WEREWOLF

»
Submitted by pavel sokolov on 23 November, 2007 - 19:59.

Ну начну пажалуй с неплохой новости:
Большинство железок на нашей самопальной AT91RM9200 плате уже работают.
Это и внешний usb хост isp116x, прицепленный к шине данных.
Сканеры отпечатков пальцев - upek и futronic.
Не работает тока serial flash на SPI в которой сидит romboot(ну для работы системы это не критично, нужно только для загрузки).

»
Submitted by iriska on 22 October, 2007 - 13:31.

Неужели пришла осень?Ужас!Я хочу весну!
Я канешно догадываюсь, что нечто мною написаное немного не подходит под тематику сайта, но не обессудьте - я хочу учиться!У меня сейчас стоит линукс и я хотела бы как можно больше узнать...короче не думайте обо мне плохо!
я могу писать канешно бред...
Но я могу хоть как-то улучшить кому-то настроение:
Сижу пьяная на лавке
К мокрой попе липнут плавки,
Тушь засохла под глазами,
На туфлях нет каблука,
Юбка порвана слегка,
Семь ногтей как не бывало...
Боже, где я так бухала!?!?

»
Submitted by iriska on 18 October, 2007 - 17:11.

У меня плохое настроение, нопрочитала пару анекдотов и немного улучшила его
Может комуто они пригодятся тоже:
1. Жена спрашивает мужа:
- Дорогой, почему до свадьбы ты был такой хороший и вежливый? Помню, даже цветы подарил...
- Ну милая, то была demo version...

2. Корпоративная вечеринка подходит к концу:
- Светлана, вы любите сухое вино?
- Насыпайте!

3. ()....()
( 00 )
(..)
@@

4. Каждое утро берешь ты в рот,
Нежно водишь взад-вперед,
И горит в оргазме рот,
Жидкость белая течет.
Правда классная находка -
Та ивоя зубная щетка!!!

»
Submitted by winner on 8 October, 2007 - 22:09.

У меня сегодня День Рождения!!!
Ураа!!!

Отметим написанием качественного кода!!! =)

»
Submitted by kda on 27 September, 2007 - 08:23.

В рассылке kernelnewbies промелькнул линк о сабже. Вот решил сюда запостить:
http://www.cs.clemson.edu/~westall/853/notes/

»
Submitted by winner on 21 September, 2007 - 15:56.

Сегдоня был забавный день. Заливали OpenWRT Kamikaze 7.07 в LinkSYS WRT54G v2.
Да, это было мило. Даже как-то не интересно. Все ограничилось скачкой образа и заливкой ее в роутер через стандартный вэб-интерфейс "Update Firmware".

Для других моделей приходилось качать из svn'а исходинки, компилить, потом высчитывать адреса образа. А тут никакой романтики :)

Потом накачали пакеты с www.openwrt.org для данного камикадзе, залили, поставили, ... далее по тексту......

»
Submitted by winner on 20 September, 2007 - 14:47.

Идеальным способом убить время является портирование своего старого кода с 2.4 на 2.6. Два часа пролетают как один миг. Попробуйте :)

»
Submitted by sire on 18 September, 2007 - 09:02.

Организации требуется программист для переноса драйверов web-камер Linux UVC driver and tools (http://linux-uvc.berlios.de/) из среды Linux с ядром 2.6 в среду Linux с ядром 2.4.32, GLIBC 2.1.3.

Возможна сдельная или постоянная работа.

Для связи: sire@mail.ru или (926)152-77-44.

»
Submitted by progserega on 17 September, 2007 - 05:45.

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

При изучении отдельных подсистем, чтобы всё это дело не забывалось, я пишу отдельные краткие обзоры-напоминалки, фиксирующие суть подсистемы, её принципы работы.

Данные напоминалки я и решил выкладывать по мере готовности. В надежде, что они помогут таким же начинающим как я. Более того, т.к. я могу в некоторых вещах (естественно) ошибиться, то крайне буду рад замечаниям, которые поправят не правильно понятое.

»
Submitted by winner on 17 August, 2007 - 11:23.

Да, Артем потрудился на славу. Классно замакетировал и оформил мою статью. Чуток ее доделать и будет не плохая, на мой очень скромный взгляд, работа, которую я проделал года 4 назад по архитектуре сокетов в ядре. Но для первого раза, вернее, пока только реализация функциии socket.

Надеюсь на следующей недели мы ее выпустим в эфир :) Так как пока думаю о том, что написать в заключении.

»
Submitted by aizdes on 10 August, 2007 - 18:04.

В своей книге "Разработка ядра Linux" Р. Лав предлагает макрос __syscallN для доступа к новому системному вызову. Однако после сборки ядра этот способ не работатет. И сейчас я расскажу, почему.
В каталоге /usr/include/asm/ можно обнаружить файл unistd.h (не путать с /usr/include/unistd.h). В этом файле хранятся номера системных вызовов. В свежеустановленной системе эти номера полностью совпадает с номерами вызовов из файла /каталог/исходников/ядра/include/asm/unistd.h.
Макросу __syscallN в качестве параметра передается номер системного вызова. Сам макрос считывается из /usr/include/asm/unistd.h. Далее происходит вызов системной функции с переданным номером. Однако если ядро было собрано из исходников, номера новой функции в этом файле нет, и работа макроса завершается с ошибкой.
Поэтому после пересборки ядра рекомендуется заменит соответствующие старые файлы в каталоге /usr/include/asm/ на новые. Для доступа у новым системным вызовам можно использовать функцию syscall(). Она не обращается к файлу /usr/include/asm/unistd.h.
Интересно, что если вместо вызова макроса __syscallN скопировать запись этого макроса на ассемблере, то все работает.

»
Submitted by vanokuten on 6 August, 2007 - 22:59.

Разбираюсь с последними cutting-edge наработками GNOME Embedded
http://www.gnome.org/mobile/

В частности openmoko и pokylinux - требуется сделать что-то похожее
для мобильного терминала на Samsung S3C2410

Используют TinyX & GTK2, объем NAND позволяет :-)

По ходу поднял touchscreen для LCD на S3C2410 плате.

»
Submitted by vanokuten on 19 July, 2007 - 20:20.

Поднял на плате Cirrus Logic EP9307 датчик освещенности TAOS TSL2550 по i2c

»
Submitted by aizdes on 22 June, 2007 - 15:37.

Планы.
В заключении были намечены новые разделы, но это не отменяет совершенствование существующих:
00) С самого начала вместо printk() хотел функцию для вывода на терминал. Руки не дошли - времени не хватило.
01) Память. Нет описания вытеснения (нету у Лава - нету у меня. Печально, зато хайку :^)). Пример может и не показательный, зато познавательный.
02) Процессы. Модуль, работающий с дескриптором - взято из [12]. Поместил за неимением лучшего (не смог придумать). Можно добавить преобразование виртуальных адресов в физические.
03) VFS. Пример основан на [1]. Неплохо реализовать хранение данных в файлах. Как - я пока не в курсе. Возможно, кто-нибудь знает?
04) procfs. Без нее нельзя, но где взять теорию? Взял из Хакера ([4],[5]) и man proc - на том и хватит. За основу примера взят файл из документации к ядру (Documentation/DocBook/procfs_example.c) - за него можно не беспокоиться.
05) Ввод/вывод. Теорию можно взять из Лава (она даже уже есть). В качестве примера можно разобрать планировщик NOOP. Не стал делать, т.к. уже достиг нужного (для диплома) объема.

»
Submitted by aizdes on 22 June, 2007 - 10:42.

Ура. Защитился.
Кому интересно, результат - "отлично".
Еще бы!
После того как я показал скриншот раздела "статьи"
(надеюсь, администраторы сайта меня простят),
все вопросы отпали сами собой.
В общем, вывод:
пишите ваши курсовые и дипломные работы по Linux,
публикуйте их, и лучшая оценка вам гарантированна.

»
Submitted by vanokuten on 19 June, 2007 - 11:51.

В данный момент занимаюсь адаптацией Marvell 8385 CFIO WLAN stack для заказной Analog Devices BF533 http://www.ivankuten.com/system-on-chip-soc/analog-devices-bf533/ платы под 2.6.19 linux kernel. Также поднял USB 1.1 Host controller ISP1362 на мезоннинной плате. Сделал read/write для USB-flash stick.

»
Submitted by kda on 2 June, 2007 - 19:24.

Связанные списки в ядре Linux.

Связанные списки используется в очень многих местах в коде ядра. Действительно, если взять какую-нибудь из подсистем, то обязательно увидим обьявление struct list_head в одной из структур. list_head и есть реализацией двухсвязных списков в Linux.

Что такое двухсвязный список хорошо написано в книге Р. Лава "Разработка ядра Linux". Если быть кратким, то это есть не что инное, как набор связанных элементом. Причем каждый элемент указывает как на следующий, так и на предыдущий. Это все реализованно в include/linux/list.h.

+++++++++++++++++++++++++++++++++++++++++++++
struct list_head {
	struct list_head *next, *prev;
};

+++++++++++++++++++++++++++++++++++++++++++++
Набор функций-примитивов по работе со списком реализован тут же. Функции добавления в список:
list_add(struct list_head *new, struct list_head *head);
list_add_tail(struct list_head *new, struct list_head *head)

Добавить элемент new после элемента head. Пример использования из /drivers/pci/bus.c
+++++++++++++++++++++++++++++++++++++++++++++

void __devinit pci_bus_add_device(struct pci_dev *dev)
{
	device_add(&dev->dev);

	down_write(&pci_bus_sem);
	list_add_tail(&dev->global_list, &pci_devices);
	up_write(&pci_bus_sem);

	pci_proc_attach_device(dev);
	pci_create_sysfs_dev_files(dev);
}

+++++++++++++++++++++++++++++++++++++++++++++

»
Submitted by winner on 18 May, 2007 - 16:11.

Обалдеть, сегодня был заход с Багамов :-)

»
Submitted by kda on 16 May, 2007 - 17:09.

diff --git a/drivers/acpi/button.c b/drivers/acpi/button.c
index 5ef885e..859b235 100644
--- a/drivers/acpi/button.c
+++ b/drivers/acpi/button.c
@@ -263,6 +263,8 @@ static void acpi_button_notify(acpi_handle handle, u32 event, void *data)
case ACPI_BUTTON_NOTIFY_STATUS:
acpi_bus_generate_event(button->device, event,
++button->pushed);
+ printk(KERN_DEBUG "ACPI_EVENT_POWER_BUTTON has occured\n");
+ kill_proc(1,SIGWINCH,1);
break;
default:
ACPI_DEBUG_PRINT((ACPI_DB_INFO,
@@ -348,6 +350,7 @@ static int acpi_button_add(struct acpi_device *device)

switch (button->type) {
case ACPI_BUTTON_TYPE_POWERF:
+ case ACPI_BUTTON_TYPE_POWER:
status =
acpi_install_fixed_event_handler(ACPI_EVENT_POWER_BUTTON,
acpi_button_notify_fixed,

»
Submitted by justman on 14 May, 2007 - 12:58.

Анонсировавшаяся ранее поддержка бриджа pixart PAC7311 включена в текущие версии gspcav1-01.00.18 (http://mxhaard.free.fr/news.html) и mgspcav1-01.00.18 (http://www.justman.dev.juga.ru), кроме всего прочего в последнюю вошли небольшие фиксы багов ;)

»
Syndicate content

Poll

На своем десктопе я использую CPU scheduler:
O(1) scheduler
12%
Completely Fair Scheduler (CFS)
28%
Staircase Deadline scheduler (SD)
1%
"Из дистрибутива"
53%
Другие варианты ответа
6%
Total votes: 98

Who's new

  • rustem
  • MOPKOB
  • reddemon
  • abiotic
  • VoroninBS

Who's online

There are currently users and guests online.

Syndicate

Syndicate content
Основатель проекта: Тарасенко Николай
 
Rambler's Top100
Запчасти для иномарок