атомарность - не обращение к железу. вообще, ассемблер - это просто протокол общения с процом. некоторые возможности открыты для юзера. когда речь не идёт о вводе-выводе.
Цитата(BRE @ 18.11.2011, 14:55)
это делает BIOS.
ну да. просто я имею в виду без оси. биос поставляет производитель железа, это не относится к оси. без него вообще ничего не будет работать: только выдирать флэшку и перепрошивать программатором
смысл-то был в том, что юзер в принципе не должен управлять железом. а если он очень хочет, то нужно писать сначала драйвер кернел мода(в этой области я уже не умею говорить по-русски
), потом, возможно, драйвер юзерского уровня - для повышения эффективности использования и программирования политик и интерфейсов. и уже потом юзать вызовы своего драйвера верхнего уровня.
плюс современные операционки накладывают массу требований на драйверы. то есть, кроме собственных эгоистических попыток управлять какими-то ножками контроллера ты должен обеспечить общесистемные требования по распределению питания, по всяческим слипмодам в четырёх режимах, по загрузке-выгрузке-паузе и прочие такие вещи, которые изрядно отравляют жизнь и отнимают время при написании дров
хотя, до сих пор есть любители писания своих осей. меня тут как раз недавно спрашивали в личке про системное программирование. да, пишут люди свои оси. но многое (в частности, микрокоды прошивки процессоров) тащат из линюкса. ибо это неподъёмный труд для одного человека.
а напрямую с железом уже давно никто не работает. ну, кроме тех, кто, как мы, разрабатывает своё железо с нуля. вот у меня работа такая: запускать новые железяки, взаимодействуя с прошивкой какого-то контроллера на шине. а если ещё и пишешь прошивку, то тут уже сам себе режиссёр: сам пишешь загрузчик, сам пишешь приложение, сам его грузишь с конкретной флэшки по конкретному протоколу для данного чипа, сам распределяешь режимы питания. но это именно уникальная разработка конкретных девайсов. почти любой достаточно сложный электронный девайс - маленький прототип компа. там есть процессор(контроллер), память, клоки, ввод-вывод. просто в компе этого всего гораздо больше и программировать это гораздо более сложно.
это уже глубокий хардварный оффтоп