170 похожих чатов

Я правильно понимаю, что процессы создаются вызовом fork, а треды

- облегченные процессы - вызовом clone (под капотом каких-нибудь posix-threads или аналогов, если есть)?

44 ответов

11 просмотров

нет, треды ни в каком смысле не являются облегченными процессами

И процессы и thread-в используют системный вызов clone, но с разными флагами

1. Это не относится к C++ 2. в Windows нет никакого fork :)

Илья Грошев
А чем тогда?

треды являются единицами, с которыми работает шедулер и которые занимают кванты времени. процессы являются условными конструкциями, которые включают в себя некоторое количество тредов, общее между ними адресное пространство. процесс концептуально представляет одну запущенную программу. также самое низкоуровневое разграничение прав производится именно между процессами короче говоря, это понятия разного уровня

Илья-Грошев Автор вопроса
Boris Usievich
1. Это не относится к C++ 2. в Windows нет никаког...

По моему программирование на любом языке в том или ином виде подразумевает взаимодействие с ядром И я имел ввиду линукс

Илья-Грошев Автор вопроса
Илья-Грошев Автор вопроса
Гражданин Котейко
с каким ядром? я на микроконтроллере один!

Еххпе ну там же сейчас тоже часто операциогнки стоят наверное) Не знаю)

Alexander Pshenichnikov
Это про win?

я написал достаточно общие слова, чтобы по идее и к линуксам, и к бсд относилось (в голове при написании был линукс)

ок, а код самого ядра по-вашему из астрального плана является и его никто не программирует?

Илья-Грошев Автор вопроса
Гражданин Котейко
ок, а код самого ядра по-вашему из астрального пла...

Ну это вы же докопались Большинство людей все таки не ядра программируют Но я вас понял)

Илья Грошев
Ну это вы же докопались Большинство людей все таки...

ну тут можно пойти не в низы, а в верхи ещё, когда ядро есть, но оно там где-то далеко внизу или вообще за забором песочницы

Ivan Sokolov
я написал достаточно общие слова, чтобы по идее и ...

Написали, как всегда грамотно. Просто тогда уточню, что исторически Linux не всегда поддерживал posix thread-ы, только процессы. В итоге thread-ы были реализованы на базе процессов. В Windows, насколько знаю, сразу плясали от модели, где потоки - это единица, с которой работает планировщик, а процесс - контейнер потоков.

Ни "тредов" ни "процессов" нет. Это все абстракции. Есть только поток исполнения процессора, который, к слову, никогда не останавливается. И область виртуальной памяти внутри которой все живёт.

Не совсем правильно Дело в том что Fork- это вызов специфичный для одной или нескольких операционных систем в общем Как создаются процесс с точки зрения языка c++ не определено

Int Unsigned
Ни "тредов" ни "процессов" нет. Это все абстракции...

Вот это была хорошая попытка но неудачная Дело в том что потоки есть в рамках языка c++, есть стандартный API для их инициализации и последующей работе с ними, Ну есть Может быть не формализованная в рамках языка Но Определение потока, а если есть определение потока, то есть и определение процесса как его антагониста, Хотя общего API для создания процесса у нас в c++ пока нет

Бррр... Моё определение, а скорее видение этих сущностей более прозрачное и правильное. Всегда был против попыток оторвать с++ от железа. С++ - это язык в конечном итоге работающий на железе. Программируя на с++ нужно всегда хотя бы немного себе представлять что получится из 2+2 и из std::thread.

Dmitriy [Отпуск]
К слову, последнее весьма неочевидно ;)

Философия Для первого тоже можно придумать заковыристую архитектуру, что тоже будет не очевидно. Здесь молодежь просто вопросами мается ни разу проц (сиську) руками не щупав. Им путь правильный задать надо. Правильный путь в плюсах - это понимать железо. Плюсы - не абстракция типа жабы. Они на конкретном проце работают. Всегда.

https://habr.com/ru/companies/selectel/articles/525542/

Iam
https://habr.com/ru/companies/selectel/articles/52...

о, это я умею volatile size_t i = 42; while (i++) {}

Илья-Грошев Автор вопроса
Int Unsigned
Ни "тредов" ни "процессов" нет. Это все абстракции...

А что такое тогда для вас технология multithreading? Логические ядра так называемые Я думаю, процессоры развиваются в соответствии с "потребностями" операционок, и уже нельзя так однозначно утверждать, что тредов в процессорах прям таки вообще нет Не такая уж это абстракция, треды

Int Unsigned
Ни "тредов" ни "процессов" нет. Это все абстракции...

* многоядерный процессор смотрит с недоумением *

Int Unsigned
Философия Для первого тоже можно придумать заковы...

Не не не, вовсе не факт. А всё поведение с железом в рамках с++ скорее всего сводится к вариантам UB

Илья Грошев
А что такое тогда для вас технология multithreadin...

Ну это некоторая концепция, которую накрутили поверх процессоров, но про которую формально процессор ничего не знает

Iam
https://habr.com/ru/companies/selectel/articles/52...

Ох... Весьма поверхностно :)

Ilya Zviagin
Вот это была хорошая попытка но неудачная Дело в т...

Там гугл диктант подглючил, я имел в виду что определение потока в рамках языка есть, а процесса - нет, и API нет для процессов

Dmitriy [Отпуск]
Ох... Весьма поверхностно :)

https://uefi.org/htmlspecs/ACPI_Spec_6_4_html/16_Waking_and_Sleeping/sleeping-states.html

Ilya Zviagin
Не не не, вовсе не факт. А всё поведение с желез...

Я Вас прекрасно понимаю. В первом классе школы, когда дети изучают таблицу умножения, нужно ли упомянуть о Гильбертовых пространствах и интегрированию по Лебегу? Некоторые преподаватели для простоты просто отметают эту "ересь". Я с таким подходом не согласен. Нужно это все упомянуть. И таблице умножения учить надо и перспективы раскрывать тоже.

Dmitriy [Отпуск]
Ох... Весьма поверхностно :)

Всегда есть уровень ниже. Под логикой физика твердого тела и т.д. )

Int Unsigned
Я Вас прекрасно понимаю. В первом классе школы, ко...

интегралы по лебегу надо рассказать тогда, когда чел их сможет осознать

Int Unsigned
Я Вас прекрасно понимаю. В первом классе школы, ко...

Зря, это - единственно правильный подход.

Ilya Zviagin
Зря, это - единственно правильный подход.

У меня есть заочка по практической психологии. Исходя из этих компетенций могу говорить что.. Способности к абстрактному мышлению проявляются у человеческого существа в период от 22-х до 45-лет. У всех по разному. Очень и очень редко раньше и очень и очень редко позже. Многие просто живут, едят и срут не проявляя никакой способности. Искры божьей нет. Но! В отношении тех у кого эта божья искра есть можно воздействовать, чтобы она проявилась раньше! Мы все дети своей генетики от родителей, но и воспитания от воздействия своего окружения. Поэтому, если бить, пинать, объяснять, и всячески заставлять думать, - умных будет больше.

Mikail Bagishov
интегралы по лебегу надо рассказать тогда, когда ч...

Раз речь зашла про интегралы, может кто знает библиотеки для численного расчета производных, интегралов, уже задавал этот вопрос, но никто не смог ответить в группе экспертов, может кто из академической среды сможет подсказать?

Int Unsigned
Философия Для первого тоже можно придумать заковы...

1) в рамках стандартной модели нет никакого железа 2) вы расскажете плохо 3) скорее всего ещё покажете сишный стиль, вместо адекватного

Int Unsigned
Я Вас прекрасно понимаю. В первом классе школы, ко...

Нужно упомянуть вещи, которые напрямую не влияют на написание кода, а являются бесполезной информацией. Во время обучения нужно показывать полезные вещи: ну банально рассказать про кеши и тот факт, что если ты хранить std::vector<Data> - это кеш дружелюбно, если std::vector<unique_ptr<Data>>, то это уже одна индерекция, что больно, если std::vector<std::variant<Data1, Data2>>, то опять кеш дружелюбно, но есть другие затраты на

Похожие вопросы

Обсуждают сегодня

коллеги, добрый вечер! А никто не знает как модальная форма может себя закрыть? Ну допустим модальная форма определила, что смысла ей работать нет и хочет вернуть modalResult...
Михаил
83
средствами IBX как-то можно выполнить запрос insert ... returning?
Igor
31
объясните, я прада не понимаю. зачем в перле нужен аниивент? кому он пригодился в действительно нагруженных проектах?
nerv
30
Никто случаем не знает, как по-хорошему делается дозапись текста в edit на винапи?
The Bird of Hermes
25
Составить программу для подсчета числа нулевых символов с использованием команд управления циклом loop. Мы проходили TASM, если вдруг нужно будет. Если никто не хочет помогать...
Гарри Поттер
10
А какие у этого try практические плюсы перед eval?
Oleg Volkov
41
Hi there everyone Is there anyone who have not started hamster bot yet? I need only one, I'll be glad if you do this for me DM if you haven't yet
Mehrshad
53
Hi, I installed mysql 8 like this: wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.11-1_all.deb sudo dpkg -i mysql-apt-config_0.8.11-1_all.deb sudo apt-get install mysq...
Liran
1
Ребзя, а кто-нибудь делал на сайте Турбо Страницы Яндекса? Какую-то пользу они дают или нет? Приносят ли трафик?
Андрей [aharito] Харитонов
20
А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Карта сайта