Цитата(romez777 @ Aug 23 2005, 07:44)
Может быть не совсем по теме конференции, но ничего ближе не нашлось

Читал в литуратуре, но пока не догоняю смысл терминов "атомарный", "атомарность". Может кто на пальцах изложить, либо если есть документ в интернете - то с удовольствием почитаю.
Атом - неделимый. Атомарность, соответственно, - "неделимость. В констексте ОС под атомарностью понимается ситуация, когда операция (фрагмент кода) не может быть прервана и управление отдано другому процессу (задаче). Имеет смысл в вытесняющих ОС. Например, когда надо, чтобы код выполнялся гарантировано без передачи управления, его можно поместить в критическую секцию - прерывания будут запрещены, все операции критической секции будут выполнятся одна за другой.
В контексте процессоров понятие "атомарность" обычно применяется к инструкциям процессора. Например, в одном процессоре операция инкремента ячейки памяти делается одной инструкцией (хотя и за много тактов), а в другом это требует загрузки значения в регистр, инкремент регистра, сохранение ячейки обратно. Первая операция будет атомарной - ее нельзя прервать. Вторая - не атомарна, - если во время этой последовательности произойдет прерывание, где осуществляется доступ к инкрементируемой ячейке, то, скорее всего, будут коллизии в программе. Это, так сказать, смысл, который стоит за понятием "атомартность".
В любом случае, имеется в виду, что при атоматной операции те или иные действия выполняются неразрывно.
«Отыщи всему начало, и ты многое поймёшь» К. Прутков