Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2013, 17:32   #1
Sense
 
Регистрация: 20.02.2013
Сообщений: 4
По умолчанию Задачи ОС

Завтра у меня "контрольная".
Вот задачи которые мне нужно сделать. Буду очень благодарен за помощь. Желательно ответить в развернутом виде
1) В какой очереди скармливается больше число процессов:
а) В интерактивных системах разделения времени
б) Система пакетной обработки.
2)В каких ОС реализована вытесняющая и не вытесняющая многозадачность?
3)Являются ли синонимами термины - планирование процессов и диспетчерезация процессов?
4)Представьте себе ОС, разработанную для компьютера, в которой отсутствует система прерывания. Какой алгоритм планирования процессов может быть реализован в такой ОС?
Заранее огромное спасибо.
Sense вне форума Ответить с цитированием
Старый 20.02.2013, 17:46   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
4)Представьте себе ОС, разработанную для компьютера, в которой отсутствует система прерывания. Какой алгоритм планирования процессов может быть реализован в такой ОС?
Система прерываний - это способ передать управление заданному коду посредством "внешних" событий, а не уже исполняемого на машине кода. Соответственно, если её нет, единственная возможность для кода ОС получить управление - это если пользовательский код оное управление любезно вернёт.
Вызовы, в которых пользовательский код обращается к коду ОС, носят название системных вызовов. Как можно видеть, только в этих точках для ОС становится возможным принять очередное решение о выделении "кванта" времени. Если же пользовательский код тратит значительное время, не обращаясь к системе вовсе, получается нечто в этом духе...
Цитата:
Начальника моего по молодости коллеги не любили. Потому что работал на БЭСМ-6. Потому что программировал на автокоде (разновидность ассемблера такая была). А ещё потому, что на БЭСМ-6 была корпоративная многозадачность. Переключение с задачи на задачу происходило только тогда, когда исполняемая программа обращалась к функциям ОС или, например, к стандартной математической библиотеке.

Начальник мой умудрился переписать стандартные функции на автокоде. Безобидно звучит, но поскольку программа совсем не обращалась за сервисами ОС, переключение задач не происходило. Машина уходила в глубокий вис и выходила из него, только рассчитав всё, что нужно было моему начальнику. А поскольку задачки порой считались по полсуток… Ну, вы понимаете. Сдаётся мне, что это был первый в мире ПК с однозадачной ОС.

Пришлось начальника повысить в должности, чтоб бросил программировать.
Abstraction вне форума Ответить с цитированием
Старый 20.02.2013, 21:29   #3
Sense
 
Регистрация: 20.02.2013
Сообщений: 4
По умолчанию

Спасибо. Помогите еще пожалуйста. Мне уже завтра нужно.
Sense вне форума Ответить с цитированием
Старый 20.02.2013, 21:52   #4
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

Почитайте Таненбаума. Там хоть и полно неактуальной инфы о современных ос (например он до сих пор утверждает, что под линукс нет драйвера под NTFS), про старые ОС он более-менее адекватные вещи говорит.

Цитата:
4)Представьте себе ОС, разработанную для компьютера, в которой отсутствует система прерывания. Какой алгоритм планирования процессов может быть реализован в такой ОС?
Да это целая тема для холивара.

ИМХО это возможно (но упорото) - ОС берет кусок программы (каким-то образом спрогнозировав его время выполнения) вставляет в конце куска кода jmp на "обработчик" системы и передает этому куску управление.
Правильный ответ - нет.

Цитата:
2)В каких ОС реализована вытесняющая и не вытесняющая многозадачность?
В многозадачных.
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс

Последний раз редактировалось ROD; 20.02.2013 в 21:57.
ROD вне форума Ответить с цитированием
Старый 21.02.2013, 21:41   #5
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,379
По умолчанию

1) В какой очереди скармливается больше число процессов:
а) В интерактивных системах разделения времени
б) Система пакетной обработки.

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

2)В каких ОС реализована вытесняющая и не вытесняющая многозадачность?
Цитата:
В многозадачных.
В системах реального времени, например, QNX - не вытесняющая многозадачность.
В таких системах, обычно, работает небольшое число пользовательских процессов.

3)Являются ли синонимами термины - планирование процессов и диспетчерезация процессов?
Так думаю, что нет. Планировщик работает до создания процесса.
Диспетчеризация выполняется с уже запущенными процессами.
Тут точнее и полнее:
http://www.studfiles.ru/dir/cat32/su.../view3354.html

4)Представьте себе ОС, разработанную для компьютера, в которой отсутствует система прерывания. Какой алгоритм планирования процессов может быть реализован в такой ОС?
Заранее огромное спасибо.
Цитата:
Система прерываний - это способ передать управление заданному коду посредством "внешних" событий, а не уже исполняемого на машине кода
Не совсем так. Кроме "внешних" событий есть события, формируемые кодом - программные прерывания - software interrupt.

Так, только о ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 22.02.2013, 07:17   #6
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
(например он до сих пор утверждает, что под линукс нет драйвера под NTFS)
А разве есть? В смысле число линуксный, а не сторонняя разработка? Обычно из коробки при установки ядро способно поддерживать чего-то около 40-ка файловых систем (просто в популярных осях убрали, SlackWare кажись до сих пор предлагает выбор), но ntfs я че-то не встречал там.

Цитата:
ИМХО это возможно (но упорото) - ОС берет кусок программы (каким-то образом спрогнозировав его время выполнения) вставляет в конце куска кода jmp на "обработчик" системы и передает этому куску управление.
Правильный ответ - нет.
Правильный ответ - интерпретация команд. Тогда интерпретатор самостоятельно будет отслеживать ситуации требующие прерывания, переключения процессов и т.д.. Медленно, но возможно. То есть предлагается эмуляция процессора, но уже с системой прерываний.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 22.02.2013 в 07:26.
Utkin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решается судьба.. Надо решить две задачи.Мне задачи, вам практика и мое уважение) romichj Общие вопросы C/C++ 3 30.03.2012 00:33
ребят я не могу понять как решать эти задачи!может кто помочь в решении представленной задачи? Andrusha07 Помощь студентам 0 09.03.2012 23:08
2 задачи на C# Pu5h Помощь студентам 0 02.02.2012 16:50
4 задачи в системе Mathematica(задачи уже решены) Toni Milano Фриланс 2 08.02.2011 19:28
Задачи в делфи. информационная модель задачи. @leks@ Помощь студентам 2 17.10.2010 19:15