С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Кому многозадачность?
fork() реализован, переключение процессов тоже. Осталась фигня - как-то скомпилировать системные утилиты.
(в аттаче форкующийся инит, который на скрине)
А либы есть?
Я почему с юзикса пытаюсь начать - там они много функций реализовали в либах, приложения их соответственно используют, без либ не собирутся.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
чтото не нравится мне, что при переключении каждый раз копируется по 768 байт в обе стороны.
Если я правильно понимаю, то U_DATA - это область, через которую ядро взаимодействует с процессором.
Она лежит по адресу 5B00.
У каждого процесса имеется копия этой области, лежащая в окне процесса по адресу FD00 и обзываемая U_DATA__STASH.
При входе в процесс - происходит копирование 786 байт из U_DATA в U_DATA__STASH.
При выходе в ядро - обратно - из U_DATA__STASH в U_DATA.
то есть полтора килобайта копируется кждые 20 мс.
Если ядро влазит в 48к, то смысла такого копирования я не вижу. Проще сразу задать U_DATA=FD00 и щёлкать страницы.
Единственный случай, когда на 128к может понадобиться копирование U_DATA в ядро и обратно - это написание модульных драйверов - т.е. когда драйвер не в ядре, а в иной странице памяти.
В Pentevo - ещё проще. Можно, например, процессы так и оставить в 0xC000, а драйвера включать в доп. страницы с 0x8000. Тогда копирование вообще не понадобится.
В чём я не прав?
---------- Post added at 13:25 ---------- Previous post was at 13:08 ----------
И ещё вопрос - что за запись по адресу #0000 происходит в lowlevel-z80.s ?
Что за флаг такой?
---------- Post added at 13:27 ---------- Previous post was at 13:25 ----------
Кстати, а что за PID у инита такой хитровыделанный? 25907 ?
Последний раз редактировалось SfS; 22.11.2014 в 10:39.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
В том, что ядро не влазит в 48к, конечно
---------- Post added at 13:24 ---------- Previous post was at 13:23 ----------
Вообще, я изначально так и собирался сделать. И оно даже реализуемо, если хорошо раскидать сегменты по памяти. Но пока что решил, что это преждевременная оптимизация и корень всех зол.
---------- Post added at 13:30 ---------- Previous post was at 13:24 ----------
ну а прикинь завтра фюьзикс в космос надумают отправлять, а в нём y38k не решен!и отправят ELKS какой-нибудь. Позор на всю жизнь же!
---------- Post added at 13:32 ---------- Previous post was at 13:30 ----------
---------- Post added at 14:26 ---------- Previous post was at 13:32 ----------
Это на деле оказался не PID, а указатель на структуру описателя процесса. Надо убрать, это мой отладочный kprintf
ЗЫ я знаю, почему у тебя нижний правый квадратик - белый![]()
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)