Комментарии 5
Если сделать вызов yeild() неявным, т.е. по таймеру, то получим вытесняющую многозадачность, вместо кооперативной. Правда в фунции switch_context() придется сохранить/восстановить все регистры, а не только сохраняемые по конвенции. И функцию yeild() придется подшаманить.
Код "Minix", если я не путаю, как раз был около 1200 строк кода :)
Вспомнил тут про 13-ти летнего школьника "Xi-816" на ютубе, который пишет свою операционную систему на ассемблере. Вдруг кому-то будет интересно https://www.youtube.com/@yglyglya/videos
В разделе "Изменения в обработчике прерываний" наверное лучше использовать слово "исключение".
И вы пропустили раздел "08. Exception" из оригинальной книги. Без него выше указанный раздел не клеется никак :(
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Операционная система в 1 000 строк кода (часть 3)