Я смотрю на модификацию системы игрушечной ОС, и я просто пытаюсь изучить некоторый код и то, что он делает.Мне дали структуру «Поток», которая в качестве члена имеет структуру «pcb», которая является блоком управления процессом, который связывает поток с базовым физическим оборудованием, я полагаю.
В любом случае, в этой структуре "pcb" есть функция инициализации, которая инициализирует pcb вновь созданного потока.Вот определение функции:
void md_initpcb(struct pcb *, char *stack, void *data1, unsigned long data2,
void (*func)(void *, unsigned long));
Что касается кода, что означает последний аргумент?Относится ли это к коду или инструкциям
Концептуально, я не понимаю, как вещи вписываются в общую картину.Из того, что я знаю, поток - это единица выполнения кода;например, это может относиться к пользовательским программам, поэтому переключение между потоками быстро создает иллюзию параллельного запуска процессов.Хорошо, тогда этот поток нуждается в своем собственном стеке, регистрах (не понимаю) и некотором контроле (печатная плата).
Извините, если это повсеместно.Для справки я запускаю проект OS161 .
Спасибо.