![]() |
|
Модераторы: LSD |
![]()
|
|
| Sun |
|
|||
|
Account removed ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1611 Регистрация: 14.8.2002 Репутация: 3 Всего: 48 |
Возник тут у нас спор с VectorMan по поводу сабжа
Есть ли разница? -------------------- Account removed |
|||
|
||||
| VectorMan |
|
|||
|
Antihero ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 9.4.2006 Репутация: нет Всего: 4 |
Заметил неточность в своих словах: "процесс - это просто группа потоков" относилось именно к Винде
Многозадачные ОС переключают процессор с одной задачи на другую (типа preemptive multitasking) но в win такие задачи называются потоками, а в nix - процессами.
что касается того, что от чего и как изолированно - это уже часности, разделять страницы памяти можно и между процессами, не говоря уж про наследование дескрипторов/хэндлов (в nix - это по дефолту, в win - один из параметров функции CreateProcess) Это сообщение отредактировал(а) VectorMan - 23.12.2006, 22:48 |
|||
|
||||
| Gregorian |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 192 Регистрация: 18.12.2006 Репутация: 1 Всего: 2 |
Потоки существуют в контексте процесса, имеют в нем своё адресное пространство и смежное пространство общих данных. Плюс к этому в unix процессы могут передавать информацию через каналы (не путать с сокетами). Под многопоточность в unix понимают клонирование процессов, что занимает больше памяти.
--------------------
Вступил на путь доморощенного жабиста дилетанта! |
|||
|
||||
| SparF |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 387 Регистрация: 14.9.2006 Где: Санкт-Петербург/М осква Репутация: 2 Всего: 18 |
чего бы это вдруг???? Многопоточность Другой вопрос в том, что в том же Linux достаточно интересная реализация потоков: поток представляет собой просто специальный тип процесса. Просто эти процессы делят между собой некоторые ресурсы. К примеру память у них - общая. В отличии от Linux той же винде, солярисе, к примеру, есть явные средства поддержки потоков. Добавлено @ 01:16 Вообще сам сабж странный. Несколько неразумно спорить по поводу "Processes vs Threads" - одно ли это, или абс разные понятия. Если взять теорию операционных систем - то несомненно понятия разные, а вот если смотреть на реализацию, то где-то (Linux) разница не так заметна. Что же касается того, как работает планировщик при распределении процессорного времени, то сколько материалов не читал по данной теме - везде процессорные ресурсы делились между потоками, а не между процессами и это логично. -------------------- Люди, не пользуйтесь пиратским программным обеспечением - переходите на Linux! |
|||
|
||||
| Dude03 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 28.4.2006 Репутация: нет Всего: 6 |
||||
|
||||
| MAKCim |
|
||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 8 Всего: 207 |
linuxthread создается через сlone() linuxthread - процесс, который делит с родителем: VM (CLONE_VM), FS (CLONE_FS), FILES (CLONE_FILES), SIGHAND (CLONE_SIGHAND) т. е адресное пространство у них общее
слышал про COW (Copy On Write)? Это сообщение отредактировал(а) MAKCim - 24.12.2006, 11:33 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||
|
|||||
| Hidrag |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 877 Регистрация: 9.4.2005 Где: JDK Репутация: нет Всего: 25 |
Это что получается, если я на Java напишу многопоточное приложение оно на разных платформах поразному работать будет?
-------------------- |
|||
|
||||
| Sun |
|
|||
|
Account removed ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1611 Регистрация: 14.8.2002 Репутация: 3 Всего: 48 |
Работать оно будет одинаково с точки зрения пользователя, но в разных ОС оно конечно будет выполняться по-разному, с точки зрения системных процессов. В Linux и Windows многопоточное приложение будет жить в одном процессе, тогда как на FreeBSD это будет несколько процессов. -------------------- Account removed |
|||
|
||||
| Hidrag |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 877 Регистрация: 9.4.2005 Где: JDK Репутация: нет Всего: 25 |
Хм... а косяков не возникнет на фряхе с тем что в программе эти потоки используют общие ресурсы, переменные, рисуют в ГУИ?
-------------------- |
|||
|
||||
| Sun |
|
|||
|
Account removed ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1611 Регистрация: 14.8.2002 Репутация: 3 Всего: 48 |
Ну строго говоря фряха не сертифицирована для работы с Java. Последняя версия которая была сертифицирована, если не ошибаюсь - Java 1.3. Все остальные джавы - это просто порт с Linux. Коллизии конечно возникают, не без этого. Но вроде как-то там джава живёт. Ещё инетерсно что в этом плане с MacOS. Она ведь построена на ядре фряхи. Правда они перепилили там всё вдоль и поперек. По крайней мере джава, судя по слухам, работает лучше чем в винде -------------------- Account removed |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 8 Всего: 207 |
смотря что используем: Linuxthreads или NPTL -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
![]()
|
| Правила ведения Религиозных войн | |
|
|
1. Уважайте собеседника 2. Собеседник != враг 3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez" С уважением, Smartov. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Религиозные войны | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |