Помогите разобраться в сути.
Заранее спасибо.
Главная iXBT.com Конференция Блоги Games Видео Market Prosound ПроБизнес РегистрацияВойти | |
ArtemNet Member Автор теРСВВВВВР РЋРІР‚в„– 24 года на iXBT, с апреля 2000 Чаще Р С—Р СвЂВВВВшет Р Р†"Консоли" (26%) |
Р В Р’ВВВВВнфо
ОтветРСвЂВВВВть
Подскажите, что такое есть многозадачность? Есть ли ОС, которые могут работать с двумя и более процессами в одну единицу времени? Другими словами, что значит фраза моего препода по информатике, что многозадачных ОС нет. Если это так, то что же со знаменитой демкой QNX на трех дискетах, где колеса ворочались? Помогите разобраться в сути. Заранее спасибо. |
LastAid unregistered | ArtemNet а ты спроси у него про мэйнфреймы - это что, баааальшой PC под управлением DOS? |
4D man unregistered | Просто в одну единицу времени проц сможет сделать только одну операцию. А мультизадачность заключается в разделение времени проца на несколько задач. Т.е. в один такт для одной задачи посчитал, в другой - другой задачи,в следующий- опять первой задачи. |
sy-uname Member 23 года на iXBT, с июня 2001 Чаще Р С—Р СвЂВВВВшет Р Р†"Прикладное ПО" (21%) |
Р В Р’ВВВВВнфо
ОтветРСвЂВВВВть
D_CPU350: Причём здесь количество процессоров? Несколько задач могут выполняться параллельно на одном процессоре.Два и более проца - и вот многозадачность 4D man Просто в одну единицу времени проц сможет сделать только одну операцию. Устаревшие сведения.ArtemNet В конце концом, мы ведь не знаем, что твой препод понимает под терменом задача, вполне возможно, что с точки зрения его формулировки действительно нет многозадачных систем! Всё зависит от точки зрения |
Ups unregistered | ИМХО многозодачность подразумевает под собой способность системы выполнять несколько процессов в одно время. Но тут надо оговориться, "в одно время" это значит что она не в одну единицу времени работает с двумя процессами а просто одновременно работаю несколько процессов, и распределение времени процессора для них происходит посредством сигналов, семафоров, критических зон и так далее.... А вобще вопросик то философский |
4D man unregistered | Устаревшие сведения. По крайней мере мне так объяснял информатик. |
Dmitry.Karpov unregistered | У-у-у, тут еще надо вспомнить, что есть архитектуры фон'Неймана и есть более другие... Система с одним фон'Неймановским процессором в каждый момент времени выполняет только одну задачу. Но в реально-многозадачных системах процессор может переключаться на другую (до этого спавшую) задачу по аппаратному прерыванию, в т.ч. по таймеру, перепрограммировать который она задачам не дает. А многопроцессорные системы (частный случай - несколько ПК, объединенных сетью) - всегда многозадачные, для них специально распараллеливают задачу, если она только одна. |
ArtemNet Member Автор теРСВВВВВР РЋРІР‚в„– 24 года на iXBT, с апреля 2000 Чаще Р С—Р СвЂВВВВшет Р Р†"Консоли" (26%) |
Р В Р’ВВВВВнфо
ОтветРСвЂВВВВть
Давайте быть проще, без философии Пусть задача или процесс - приложение, которое использует ресурсы компьютера в данный момент. Долгими распросами я установил, что препод считает вот как: все процессы, работающие в сколь угодно малую единицу времени на самом деле работают не вместе, а по очереди. Т.е. все процессы записываются в очередь. Над каждым процессом из этого списка ОС работает определенное количество времени, затем принудительно его (процесс) прерывает и переходит к следующему (интервал работы с процессом при этом определяет приоритет, что, на первый взгляд, кажется логичным, но куда тогда девать приоритет реального времени для ядра ОС в WinNT/2K? По его (препода) теории получается, что кроме самой ОС вобще ничего больше работать не может?) На подобии очереди печати, только следующий документ печатается не после завершения предыдущего, а после определенного интервала времени. Затем принтер возвращается к старому документу. Это что-ж, FIFO в ОС? По мнению препода мы не видим задержек в исполнении приложений из-за высокой тактовой частоты CPU. Что-ж, и это не лишино смысла. Здесь мне в голову ничего не приходит. При этом препод клятвенно божиться, что существует фоновый режим работы программ, когда "менее ресурсоемкое приложение работает на фоне более ресурсоемкого". Как понимать? ОС подмешивает инструкции "маленькой" проги к "большой", а потом выхватывает результат и обновляет "маленькую" прогу?
Так или иначе, куда девать большие машины? Я сейчас говорю про именно супер-компьютеры - SGI, CRAY... Что, то же все в очереди? UNIX тот же? Как тогда вобще, на примере сети организовать работу? Поясняю: 4D man |
Dmitry.Karpov unregistered | > все процессы, работающие в сколь угодно малую единицу времени Эта единица времени называется "такт процессора" и измеряется по его внутренней частоте, т.е. типа одной миллиардной доли секунды. А еще есть такт таймера = 1/50 доля секунды. > на самом деле работают не вместе, а по очереди. Например, есть у меня несколько задач с одинаковым приоритетом и больше ничего. Как часто будет переход от одной к другой? Думаешь, при каждом такте таймера? Так будет слишком часто перезагружаться кэши процессора, да и свопец скоро наступит; поэтому каждой дается по несколько тактов таймера. А если задача хочет хапнуть память или реально полезть на диск, то еее притормозят, зато потом дадут наверстать (т.е. задача, хапнувшая память, быстрее пройдет участок, требующий много памяти). > Над каждым процессом из этого списка ОС работает > (интервал работы с процессом при этом определяет приоритет, > По его (препода) теории получается, что кроме самой ОС > На подобии очереди печати, только следующий документ > По мнению препода мы не видим задержек в исполнении > При этом препод клятвенно божиться, что существует > Только сейчас пришло в голову... А как быть с видеокартой > Так или иначе, куда девать большие машины? > UNIX тот же? Как тогда вобще, > 2-ой клиент при этом работал на сервере в режиме > Т.е. его траффик принебрежимо мал по сравнению с пользователем 1. > Она же будет продолжать слать инфу? > Ну и что получится, когда сервер снова переключится на 1-ого? > Повторный отсыл пакетов? А если пользователей 20? > 4D man |
заблокирован в конференции 23 года на iXBT, с августа 2001 Чаще Р С—Р СвЂВВВВшет Р Р†"OС и сист. ПО" (28%) Web-странРСвЂВВВВца |
Р В Р’ВВВВВнфо
ОтветРСвЂВВВВть
ArtemNet но куда тогда девать приоритет реального времени для ядра ОС в WinNT/2K? По его (препода) теории получается, что кроме самой ОС вобще ничего больше работать не может?) У системных задач ОС наивысший приоритет. Когда они отработали - время дается задачам приложений. Это что-ж, FIFO в ОС? Да, для равноприоритетных задач. Как только необходимо время задачи с более высоким приоритетом, то она прерывает эту очередь. Многозадачная система ОС - это стркутура с множ-вом приоритетов и очередью каждого приоритета. При этом препод клятвенно божиться, что существует фоновый режим работы программ, когда "менее ресурсоемкое приложение работает на фоне более ресурсоемкого". Как понимать? ОС подмешивает инструкции "маленькой" проги к "большой", а потом выхватывает результат и обновляет "маленькую" прогу? Получаем, что на моем 300MHZ проце за секунду ОС проскакивает с одного процесса на другой _минимум_ 44080 раз? Это ж как ОС должена очереди менять? Или я в этом месте сильно заблуждаюсь? Ты попал в точку. Более того, чаще всего, в настоящих многозадачных системах реального времени единицой времени является секунда. Допустим, один клиент работает с сервером достаточно интенсивно, что бы загрузить все 10 мегабит. 2-ой клиент при этом работал на сервере в режиме "сервер приложений" и лобал в ворде текст. Т.е. его траффик принебрежимо мал по сравнению с пользователем 1. Что получается, сервер пять секунд поработал с 1-м, затем отослал ответ 2-у. А машина 1-ого откуда знает, что на сервере с ней больше не работают? Она же будет продолжать слать инфу? Ну и что получится, когда сервер снова переключится на 1-ого? Повторный отсыл пакетов? А если пользователей 20? Все встанет... Или я сильно ошибаюсь? |
ArtemNet Member Автор теРСВВВВВР РЋРІР‚в„– 24 года на iXBT, с апреля 2000 Чаще Р С—Р СвЂВВВВшет Р Р†"Консоли" (26%) |
Р В Р’ВВВВВнфо
ОтветРСвЂВВВВть
Ну, мужики, запутался на%рен. Итак, Pavel1111971. ---- Многозадачная система ОС - это стркутура с множ-вом приоритетов и очередью каждого приоритета. --- Т.е. все потоки выполняются раздельно, в любой конкретный момент выполняется только один, а приоритеты "плавают" в соответствии с заданными алгоритмами? Теперь к сетям. Ладно, к черту сети, мы отвлеклись Многозадачность. |
DiAx unregistered | ArtemNet Многозадачность Во вторых, как раз два процесса могут выполнятся В третьих, странный у вас препод какой-то. |
дебил unregistered | Хм, дайте мне свой поток сознания вылить :) Процесс есть программа, т.е. набор машинных команд. Эти команды специально написаны для их последовательного исполнения (для intel). Если процессоров 2 штуки или больше, то на каждом из них выполняется своя копия ОС. Эти копии договариваются между собой (используя память, которая одна, общаяя для всех) договариваются о том какие процессы кто будет исполнять. А препод твой п№;%т и нихрена не знает, посоветуй ему поучиться маленько :) Хотя нет, слушай препода, и заучивай его слова наизусть, а то хрен зачет получишь (или че там у тебя?) |
damonz unregistered | А почему же тогда при форматировании дискетки больше ничего делать нельзя? |
дебил unregistered | damonz "А почему же тогда при форматировании дискетки больше ничего делать нельзя" Потому чот у старая операционка - у меня можно делать все. :) И не только при форматировании дискетки, но и при записи болванки итд :) |
LDS unregistered | Dmitry.Karpov Offtopic: Вы с UJ'ем училились, что ли, вместе? Sorry, почитал инфо, понял, что учиться вместе вы не могли никак. Тогда учили? Исправлено: LDS, 14-10-2001 16:50 |
damonz unregistered | дебил При записи болванки у меня тоже все фунициклирует без траблем. А вот при форматировании флопповода - хренушки. |