Различия между потоками и процессами? [закрыто]

«ETA» означает «Расчетное время прибытия».

В программном обеспечении для передачи файлов термин «ETA» используется для обозначения того, сколько времени осталось до окончания передачи. Оценка основана на скорости передачи. Так что, если скорость передачи изменится быстро, то же самое произойдет и с «ETA».

0
06.03.2018, 12:29
1 ответ

Ну, это зависит от определения. В разных системах могут быть разные обычаи или разные названия одной и той же вещи.

Определение POSIX заключается в том, что процесс идентифицируется адресным пространством (памяти, видимой для процесса ), и что многие/большинство ресурсов ОС принадлежат процессу. (идентификатор процесса (очевидно ), идентификаторы пользователей, рабочий каталог, файловые дескрипторы...)

С другой стороны, поток определяется как «поток управления» внутри процесса, включая среду выполнения (регистры ЦП, состояние с плавающей запятой ), и например приоритет планирования.

Обычно :процесс < -> ресурсы, поток < -> планирование.


Но это не обязательно должно быть именно так. В Linux ресурсы, совместно используемые процессом и его дочерними процессами, могут быть установлены с помощью системного вызоваclone(2), так что, по крайней мере, представляется возможным иметь два процесса с общими файловыми дескрипторами, но с разными адресными пространствами. Или наоборот.

Кроме того, в прежние времена в Linux фактически не было надлежащего различия между процессами и потоками, были только процессы на уровне ядра. (Технически то, что мы обычно рассматриваем как поток, по-прежнему называется ядром «процессом», а процесс в обычном смысле называется «группой процессов».)


Некоторые потоки могут быть реализованы исключительно в пользовательском пространстве без поддержки со стороны операционной системы. В этом случае потоки не будут планироваться той же системой, что и процессы, поскольку планировщик ОС даже не будет знать об их существовании. Но даже в этом случае реализация пользовательского пространства должна иметь какой-то способ определить, какой поток запускать. (Реализации пользовательского -пространственного потока устарели в системах, которые реализуют правильные потоки, но это единственная ситуация, которую я могу придумать, которая даже близка к вашему третьему пункту.)

3
28.01.2020, 02:24

Теги

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