OSDev

для всех
Текущее время: 29 мар 2024, 02:18

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
СообщениеДобавлено: 21 июл 2019, 17:43 

Зарегистрирован: 26 янв 2019, 14:00
Сообщения: 34
Добрый день.

Дописываю мультизадачность. Функция создания нового процесса кажется работает верно. Я пробовал создавать процессы, проверял директории страниц, переключаются ли и защищены ли. Вроде все работает. Но возникла трудность после. Я скомпилировал парочку elf программ, в которых просто циклично вызывается системный вызов печати на экран. Работает верно. Добавил системный вызов fork, вызвал из одной скомпилированной программы и получил какую то ерунду. Родительский процесс из которого собственно и был вызван fork продолжает работу. Форк создал новый процесс и почему то вернул ноль два раза. Это крайне странно. В добавок условие после форка вызова форка, которое проверяет родительский или дочерний процесс, не выполняется в теле условия с дочерним процессом, а с родительским - выполняется. Следовательно после вызова форка он туда вовсе не вернулся. Даже примерно не могу предположить что пошло не так.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 21 июл 2019, 19:37 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
Так и должно быть, потому что родительскому и дочернему процессу возвращаются разные значения. Родительскому - номер дочернего процесса, а дочернему процессу только 0. Поэтому и условие по результату функции отрабатывает по-разному.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB