Рубрика «kernel» - 8

картинка для привлечения внимания(пост из серии «я склонировал себе исходники hotspot, давайте посмотрим на них вместе»)
Все, кто сталкивается с многопоточными проблемами (будь то производительность или непонятные гейзенбаги), неизбежно сталкиваются в процессе их решения с терминами вроде «inflation», «contention», «membar», «biased locking», «thread parking» и тому подобным. А вот все ли действительно знают, что за этими терминами скрывается? К сожалению, как показывает практика, не все.

В надежде исправить ситуацию, я решил написать цикл статей на эту тему. Каждая из них будет построена по принципу «сначала кратко опишем, что должно происходить в теории, а потом отправимся в исходники и посмотрим, как это происходит там». Таким образом, первая часть во многом применима не только к Java, а потому и разработчики под другие платформы могут найти для себя что-то полезное.

Перед прочтением глубокого описания полезно убедиться в том, что вы в достаточной мере разбираетесь в Java Memory Model. Изучить её можно, например, по слайдам Сергея Walrus Куксенко или по моему раннему топику. Также отличным материалом является вот эта презентация, начиная со слайда #38.
Читать полностью »

После выхода RHEL 6.2 начал переводить "What's new in Red Hat Enterprise Linux 6.2", но т.к. постоянно появлялись более интересные материалы, закончил перевод только сейчас (немного сократил его). Надеюсь, что актуальность поста не совсем потеряна.

Что нового в Red Hat Enterprise Linux 6.2В конце 2011 года, спустя тринадцать месяцев после релиза Red Hat Enterprise Linux 6, выпущено второе обновление корпоративного дистрибутива Linux. Оно является логическим продолжением первого обновления и содержит не только исправления, вышедшие после RHEL 6.1, но и обширный список новых функций — значительно улучшены виртуализация, управление ресурсами и файловыми системами. Читать полностью »

Он посинел, ему плохо?

BSOD – реакция ядра на неразрешимую исключительную ситуацию. Если вы его видите, то это значит, что случилось что-то определенно нехорошее.

Среда ядра накладывает множество ограничений на свободу действий программиста: учитывай IRQL, синхронизируй доступ к разделяемым переменным, не задерживайся в ISR, проверяй любые данные из «юзерленда»… Нарушив хотя бы одно из правил, вы получите настоящий выговор из штампованных фраз в стандартном VGA-видеорежиме с худой палитрой.Читать полностью »

Ядро Linux 3.3 поддерживает Android
В воскресенье днем была выпущена последняя версия ядра Linux, и с версии 3.3 было добавлен функционал, о котором многие мечтали — код платформы Android интегрирован в ядро Linux! В теории должна быть возможность загрузить и работать с Android устройством. Однако работа над этим еще не завершена в плане управления питанием и спящим режимом во время блокировки. Но поскольку Android не нуждается в поддержке режима бодрствования* (Это очень быстро разряжает батарею) то наши смартфоны и планшеты можно считать официально поддерживаемыми Linux сообществом. И поверим обещаниям что режим wake-lock будет полностью поддерживаться в ядре версии 3.4.
Читать полностью »

Я думаю, довольно многим хочется иметь возможность записывать собственные телефонные разговоры на своём смартфоне за 20 тысяч рублей. Задача вроде бы банальная, и вроде бы API Android’а позволяют это делать. Но почему запись не работает почти на всех устройствах без всяких шаманств и танцев с бубном?

Закон

Всё дело в том, что в некоторых странах запись является нелегальной и производители не тратят время на добавление такой возможности. Но как же быть тем, кто живёт в странах, где записывать разговоры не запрещено. Например, в России нет запрета на запись собственных телефонных разговоров, даже не нужно предупреждать собеседника о записи. Только прослушивать записи ваших разговоров имеете только вы, т.е. если вы дадите прослушать запись третьему лицу, то это будет расцениваться, как нарушение 23-й статьи Конституции РФ.

Телефон

В некоторых устройствах ядро не содержит нужного драйвера, в некоторых устройствах запись отключена в системных библиотеках. Поэтому на этих телефонах запись не работает ни в одной из десятков программ в Market’e. Оно и не удивительно, ибо все они пишут разговоры одним и тем же способом. Но на некоторых телефонах запись работает без всяких танцев с бубном, например, на Samsung Galaxy S II. Но не на каждой прошивке, например, на Android 4 ICS запись уже не работает, видимо, Samsung посчитал, что пользователям она не нужна и убрал её.
Читать полностью »

Системное программирование / [Из песочницы] Учимся писать модуль ядра (Netfilter) или Прозрачный прокси для HTTPS
Эта статья нацелена на читателей, которые начинают или только хотят начать заниматься программированием модулей ядра Linux и сетевых приложений. А также может помочь разобраться с прозрачным проксированием HTTPS трафика.
Небольшое оглавление, чтобы Вы могли оценить, стоит ли читать дальше:Как работает прокси сервер. Постановка задачи.

Клиент – серверное приложение с использованием неблокирующих сокетов.

Написание модуля ядра с использованием библиотеки Netfilter.

Взаимодействие с модулем ядра из пользовательского пространства (Netlink)

P.S. Для тех, кому толькоЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js