Обновить

Комментарии 17

Спасибо! Конечно же продолжайте!
Несомненно продолжайте, изложено все очень и очень доступно.
Вообще все просто и понятно!)))
Видите сколько много комментариев?!
У кого есть вопросы по статье — задавайте.
Автор, думаю, с удовольствием на них ответит.
PS: я точно понял две вещи: 1.автору — РЕСПЕКТ!!!, 2. мой мозг еще не готов усваивать этот левел.
выдыхайте :)
Ну да… 2-й пункт — действительно неверный. Уже готов! )))
Заминусовали. Бугагага
у меня такой вопрос: а разве компилятор не сохраняет большинство изменяемых регистров самостоятельно при входе в функцию (кроме регистров общего назначения)?
А то получается, что при каждом вызове другой функции он должен всё сохранять, но не встречал такого в дизассемблере. Т.е. достаточно ли дополнительно сохранить EAX...EDX, а не всё-всё-всё?

Еще одная интересная статья по входу в прерывания
Обычно функция сохраняет в стеке лишь те регистры, которые использует, чтобы вернуть старые значения перед выходом.
Некоторые регистры функция может свободно изменять. Это чётко прописано в ABI. Например, для x86_64 читаем:

Registers %rbp, %rbx and %r12 through %r15 “belong” to the calling function and the called function is required to preserve their values. In other words, a called function must preserve these registers’ values for its caller. Remaining registers “belong” to the called function. If a calling function wants to preserve such a register value across a function call, it must save the value in its local stack frame.
В случае с прерываниями по-любому придётся сохранять регистры, чтобы можно было единообразно их изменять/копировать, например, во время планирования.
НЛО прилетело и опубликовало эту надпись здесь
А откуда возьмутся приложения под Вашу ОС?
а вот автор возьмет, и posix level реализует — и эта «проблема» отпадет;)))
НЛО прилетело и опубликовало эту надпись здесь
Хочу использовать Вашу ОС как пример для своих студентов. Можно ли получать от Вас информационную поддержку по некоторых вопросах.
Легко. Только пока это совсем не ОС, а, скорее, simple OS-like program.
Позвольте взглянуть на статью с чисто практической точки зрения)
Здесь немало людей, которым интересно что-то новое, и которые хотят в первом же абзаце услышать простой и ясный ответ на: «ради чего это делается? „

ну правда, надо бы попросить каждую статью от всех авторов начинать ответами на стандартные вопросы:

1.я — профессионал/любитель, у меня была вот такая конкретная проблема. я хотел сделать стандартными средствами, смотрел здесь и здесь, но не нашел аналогов или меня они не устроили по этим и этим причинам. Поэтому выкладываю для конструктивной критики свою поделку.
2.это вот такая штука. она нужна для вот этого.
конец первого абзаца.

под катом:
1.может применяться вами еще вот здесь и здесь.
2.работает вот так. она справляется настолько-то успешно. сравнение моей поделки и уже существующих аналогов.
3.а вот это и это осталось реализовать.
4.опрос “как считаете, это нужная вещь? вы будете ее покупать?»
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации