Мьютексы, Для того, чтобы вспомнить и улучшить знания |
Здравствуйте, гость ( Вход | Регистрация )
Мьютексы, Для того, чтобы вспомнить и улучшить знания |
AD |
18.11.2011, 8:30
Сообщение
#1
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Хотел бы задать вопрос для того, чтобы вспомнить позабытые со времен университета вещи. Чем плохи мьютексы? Какие есть альтернативы мьютексам? Хотелось бы вкратце вспомнить! За ссылки на какие-то краткие описания буду благодарен, а вот на толстые учебники, спасибо, но не надо. Просто хочется освежить знания.
Сообщение отредактировал AD - 18.11.2011, 8:30 |
|
|
Iron Bug |
18.11.2011, 12:57
Сообщение
#2
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
Это ты начала ыхх... сложно говорить с юзерами верхнего уровня! хардварная атомарность не имеет отношения к вводу-выводу. обращение к железу - это какой-то запрос на использование периферии, как правило, через шину. конечно, в какой-то мере можно рассматривать команду процу как как запрос на использование CPU, но это не ввод-вывод в юзерском понимании. это исполнение вполне себе линейного сегмента кода, в его самой простой форме. вот что я имею в виду. а реализованы атомарные операции именно за счёт особенностей конкретного чипа (процессора). без поддержки железа, просто сбоку, их прилепить очень сложно, практически нереально. это архитектура железа. есть железки у которых нет ОС и нет такого понятия как модуль ядра в принципе это ты МНЕ рассказываешь? я программировала всё от микрочипов до FPGA, причём на низком уровне. мой отладчик - высокочастотный осциллограф, а документация - доки на железо и схемы ясен пень, что в подавляющем числе случаев никакой оси нет. либо она разрабатывается производителем или сторонней компанией, отдельно от самого контроллера и часто вовсе не бесплатно. смотря какая задача, смотря какой чип, смотря что ты собрался делать. просто часто сам пишешь свой простой загрузчик и подобие мелкого ядра. так удобнее: девайс не должен выходить из строя, должна быть возможность обновления микрокода и юзер должен иметь возможность его прошивать. а кто его будет прошивать? это либо ставить ещё один контроллер (который, опять же, надо программировать!), либо писать загрузчик, который жёстко сидит в защищённой области и уже сам грузит что-то с флэшки. мы делаем когда как: если триггеров в запасе дофига - тогда проще сделать загрузчик. а если ресурс ограничен и конфигурация какая-то сложная, где много DSP-шек на одной плате шьются параллельно - можно и отдельно чип поставить. и вот я пишу то самое программное обеспечение. я программист отдела аппаратного обеспечения Сообщение отредактировал Iron Bug - 18.11.2011, 12:59 |
|
|
BRE |
18.11.2011, 13:21
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
ыхх... сложно говорить с юзерами верхнего уровня! Это ты про меня? хардварная атомарность не имеет отношения к вводу-выводу. Какая хардварная атомарность? Мы говорим о реализации атомарных операций на пользовательском уровне... Если говорить про архитектуру x86, то они довольно просто реализуются на пользовательском уровне с использованием ассемблера. Инструкция
а точнее ее опкод, это четкая команда железке под названием процессор загрузить содержимое внутреннего регистра ebx в регистр eax. Это можно рассматривать как обращение к железу! |
|
|
Текстовая версия | Сейчас: 25.11.2024, 16:28 |