Комментарии 29
Моск взорван. Web-програмеру тяжело читать про системное программирование (:
А вы пробовали не читать? Должно полегчать… :)
Что вы. Читать полезно.
Просто как-то крайне абстрактно, хотя вроде и относительно доступно описано все (:
Просто как-то крайне абстрактно, хотя вроде и относительно доступно описано все (:
Если вам нужны комментарии — меняйте тему. Сделайте обзор китайского смартфона, обязательно с анбоксингом, или напишите про то, как вы ненавидите копирайт и копирастов, и как вы сейчас всем объясните, как можно жить без копирайта. (trollface).
«Отсутствие комментариев к двум моим предыдущим постам, несмотря на большое число лайков, привели меня к выводу, что подавляющее большинство ничего не поняли. „
Или же может многое из того, что вы описали, уже знакомо, скажем, из тех же “Операционных систем» В. Столлингса)
Или же может многое из того, что вы описали, уже знакомо, скажем, из тех же “Операционных систем» В. Столлингса)
Совсем не понял зачем Вы в статьи код вставляете? Если есть какие-то готовые и компилируемые реализации чего-то, то выложите на github куда-нить и дайте ссылку… Зачем какие-то отстранённые куски вставлять в статьи?
Обычно код вставляют для того, чтобы показать, как абстрактная идея работает на практике. Мне же это тем более приятно, так как это мой код. Кроме того, есть вероятность того, что внимательный читатель найдёт какую-либо ошибку, за что я буду ему благодарен.
В куске кода, вырванном из контекста вряд ли вам кто что-либо найдёт. Мало ли какие феньки для оптимизации вы используете и какие очевидно (мне) нужные вещи реализуете за скобками и как.
Вот именно это я и имею ввиду, кусок кода по данной теме выранный из контекста только засоряет текст статьи… Реализовать то, что автор описывает можно 10000+1 способом… зачем нужны конкретные буквы по данной теме… непонятно…
Класс! Но я бы советовал Вам попробовать написать визуальную оболочку под экспериментальную ОС Singularity, она полностью написана на защищенном коде, на подобии языка C#. Было бы очень интересно и полезно! Можно начать кикстратер компанию собрать программеров описать проект, нечто вроде Linux 2.0, может быть и получилась национальная ОСь за которую не стыдно!
Капитан Пикар плакал…
НЛО прилетело и опубликовало эту надпись здесь
Что-то своё, наверное. Слишком много специфики, в силу которой JVM или CLR не подойдут. В частности, это связанно с поддержкой персистивности и распределённости. Но до этого пока очень далеко. Сейчас нужно заниматься базовой системой (отображение всей памяти на адресное пространство, разработка API, поддерживающего персистивность...)
Баловался когда-то. С одной стороны было легче, т.к. на 8086, без PM, с другой — из литературы только Бах. Это нереальное ощущение крутости, когда даешь структурам названия типа task и sheduler.
Тема интересная и завораживающая. После таких статей так и хочется нырнуть поглубже и познакомиться со всей этой магией :)
Добавил в список 2read, 2try, 2taste на досуге!
Добавил в список 2read, 2try, 2taste на досуге!
Этот участок:
можно переписать, например, так:
Смысл в том, чтобы избежать инвалидации строк кеша, соответствующих адресу лока, у всех процессоров. Это происходит, так как инструкция nxchgb осуществляет запись в память, а алгоритм поддержки согласованости кешей оповещает об этом кеши всех остальных процессоров. Выполняя проверку простым чтением избавляются от инвалидации, при этом каких-либо побочных эффектов метод, насколько мне известно, не имеет.
Другими словами на Wikipedia.
do ASMV("mov $1, %%al\nxchgb %%al, %0" : "+m"(lock->busy), "=&a"(al));
while (al && --tries);
можно переписать, например, так:
do {
if (lock->busy) {
al = 1;
} else {
ASMV("mov $1, %%al\nxchgb %%al, %0" : "+m"(lock->busy), "=&a"(al));
}
} while (al && --tries);
Смысл в том, чтобы избежать инвалидации строк кеша, соответствующих адресу лока, у всех процессоров. Это происходит, так как инструкция nxchgb осуществляет запись в память, а алгоритм поддержки согласованости кешей оповещает об этом кеши всех остальных процессоров. Выполняя проверку простым чтением избавляются от инвалидации, при этом каких-либо побочных эффектов метод, насколько мне известно, не имеет.
Другими словами на Wikipedia.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Пишу игрушечную ОС (доступнее о планировщике)