Планировщик ОС. Алгоритмы планирования.

### Работа без блокировок: Read-copy-update Невозможно разрешить одновременный доступ для чтения и записи к общим структурам данных без блокировок. В некоторых случаях можно позволить процессу, ведущему запись, обновить структуру данных, даже если ею пользуются другие процессы. Здесь важно обеспечить, чтобы каждый считывающий процесс читал либо старую, либо новую версию данных, но не некую непонятную комбинацию из старой и новой версий.

ИСТОРИЯ ЧИСЕЛ

До появления нашей позиционной нумерации одной из наиболее известных систем была римская — ее по-прежнему используют для нумерации столетий. Хотя римские цифры выглядят странновато, эта система относится к простым. Математики называют ее аддитивной, и это означает, что цифры, стоящие рядом, нужно складывать. Положение каждого символа не влияет на его значение. Вертикальная палочка (I) = 1, две вертикальные палочки (II) = 2, а три вертикальные палочки (III) = 3. Если палочек станет чересчур много, легко запутаться, поэтому римляне ввели следующие символы: V = 5, X = 10, L = 50, C = 100, D = 500, а M = 1000. Так же как и при подсчете единиц, можно подсчитать количество десяток, сотен и тысяч. Значит, XXX = 30, а MMM = 3000. И все же римляне придумали одну хитрость. Чтобы сократить количество символов, они составили правило, позволяющее вычитать меньшее число из большего, если меньшее находится перед большим. Поэтому число 4 обозначается как IV (5 ‒ 1), а число 9 — как IX (10 ‒ 1). Получается, что XIV значит 14 (10 + 5 ‒ 1), а XXXIV — 34 (10 + 10 + 10 + 5 ‒ 1).

OpenThtread кодовый минимум.

Python. Классы. Заметки.

## Общая картина В чем сущность ООП в Python? ООП предназначено для многократного использования кода. В чем отличие между объектом класса и объектом экземпляра? Классы являются своего рода фабриками для создания множества экземпляров. Классы также поддерживают методы перегрузки операций, которые экземпляры наследуют, а любые функции, вложенные внутрь классов, трактуются как методы для обработки экземпляров.

Заметки по книге Git Pro

### Снимки состояний, а не изменений Каждый раз, когда вы создаете новую версию или сохраняете состояние проекта в Git, по сути, делается снимок всех файлов в конкретный момент времени и сохраняется ссылка на этот снимок. Для повышения продуктивности вместо файлов, которые не претерпели изменений, сохраняется всего лишь ссылка на их ранее сохраненные версии. Git воспринимает данные скорее как поток снимков состояния (stream of snapshots). ### Три состояния