44900 (663961), страница 2

Файл №663961 44900 (Лекции по операционным системам) 2 страница44900 (663961) страница 22016-07-31СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

При организации работы с вычислительной системой в диалоговом режиме можно говорить об однопользовательских (однотерминальных и мультитерминальных ОС) в мультитерминальных ОС могут работать одновременно несколько пользователей, каждый со своего терминала. Для организации мультитерминального доступа к вычислит. системе необходимо обеспечить мультипрограммный режим работы. Примером мультитерминальной ОС явл. Linux.

3) По способу взаимодействия с системой. Основной особенностью ОС реального времени является обеспечение обработки поступающих заданий в течение заданных интервалов времени, которые нельзя превышать. Мультипрограммирование является основным средством повышения производительности системы. Лучшие характеристики по производительности обеспечиваются для систем реального времени однотерминальными ОС реального времени. Средства организации мультипрограммного режима всегда замедляют работу системы в целом, но расширяют функциональные возможности системы. Одной из таких систем является QNX.

4) По способу построения. По своему архитектурному принципу ОС разделяются на микроядерные и монолитные, примером микроядерной является ОС QNX, примером монолитной – Windows 9.XX, 200.

  1. С какой целью в ОС вводится специальный программный модуль, наз. супервизор прерываний?

Во многих ОС 1 секция обработки прерываний выделяется в специальный программный модуль наз. супервизором прерываний.

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

Обработка прерываний при участии супервизора ОС.


  1. отключение прерываний. Производится в соотв. модулях ОС. Сохранение контекста прерванной задачи. Установка режима системы прерываний.

  2. определение адреса программного модуля. который обслуживает запрос на прерывание и передача управления на него. Включение подпрограммы обработки прерываний.

Диспетчер задач: выбор готовой к выполнению задачи на основе принятой дисциплины обслуживания. Восстановление контекста прерванной задачи. Установление прежнего режима работы системы прерываний и передача управления этой задаче.

№4

  1. Системы программирования. Утилиты.

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

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

  1. Объяснить понятия task, process, thread

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

  1. Перечислите дисциплины обслуживания прерываний, как можно реализовать каждую из этих дисциплин.

№5

  1. Системные библиотеки.

  2. Многопоточность. Использование потоков.

Thread (поток, тред) 0 легковесный процесс.

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

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

Многопоточность. Главное, что обеспечивает многопоточность – возможность параллельного выполнения нескольких видов операций в одной прикладной программе. Параллельные вычисления часто реализуются на уровне тредов. программа оформленная в виде нескольких тредов, в рамках одного процесса может быть выполнена быстрее за счет параллельно выполненных отдельных ее частей. Особенно эффективно можно использовать многопоточность для выполнения распределенных приложений. Например многопоточный сервер может выполнять запросы сразу нескольких клиентов.

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

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

Для того чтобы можно было эффективно организовать параллельное выполнение потоков и процессов в архитектуре современных компьютеров включена возможность работать со специальной информационной структурой, которая описывает процессы или потоки. Для этого уже на уровне архитектуры микропроцессора исполняются некоторые задачи. И это понятие объединяет в себе обычные и легковесные процессы и поддерживает для него на уровне аппаратуры информационные структуры, позволяющие в дальнейшем при разработке ОС построить соответствующие дескрипторы как для процесса, так и для треда. Отличаться эти дескрипторы будут тем, что дескриптор потока или треда может хранить только контекст приостановленного вычислительного процесса, тогда как дескриптор процесса должен содержать поля, которые описывают ресурсы выделенные этому процессу.

Использование потоков. В случае использования однопроцессорной системы множество параллельных потоков часто не ускоряют работу приложения, поскольку в каждой отдельно взятой промежуток времени возможно выполнение только одного потока. Кроме того, чем больше потоков, тем больше нагрузка на систему, поскольку затрачиваются ресурсы. Если процесс имеет более 2 потоков, то такая мультизадачность не сделает работу быстрее, если каждый из потоков не будет требовать частого ввода/выводы.

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

3 Потокам можно назначить определенный приоритет, для того чтобы наименее значимые процессы выполнялись в фоновом режиме (путь частичного разделения ресурсов CPU). Однако всегда нужно помнить, что процессор 1 – а потоков много.

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

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

6 Не следует возлагать на потоки несколько функций. Сложные функциональные отношения затрудняют понимание общей структуры приложения всего алгоритма. Чем проще и менее многозначно каждая из рассматриваемых ситуаций, тем больше вероятность, что ошибок удастся избежать.

  1. Для чего каждая задача получает свой дескриптор. Какие поля, как правило, содержатся в дескрипторе процесса (задачи). Что такое контекст задачи.

№6

  1. Дескриптор ОС реального времени

В ОС реального времени количество процессов фиксируется, поэтому полезно определить количество дескрипторов процессов. Каждый дескриптор процессов постоянно располагается в оперативной памяти, с целью ускорить работу диспетчера задач, для более эффективной обработки данных. В системах реального времени целесообразно иметь постоянные дескрипторы задач, полностью или всегда существующие в системе, независимо от того, поступают на них требования или нет. каждая конкретная задача обладает некоторой собственной областью оперативной памяти, независимо от того исполняется задача или нет. Это так наз. ОЗУ резидентные задачи. Эта область может использоваться для хранения данных полученных задачей ранее. Данные могут хранится в ней тогда, когда задача находится в состоянии ожидания или бездействия.

Аппаратная поддержка дескрипторов задач. Для аппаратной поддержки работы ОС с дескрипторами задач в процессорах реального времени реализованы соответствующие механизмы. Начиная с Intel 80286 в котором реализован регистр наз: TR task Register, указывающий местонахождение сегмента состояния задачи, в котором при переключении с задачи на задачу автоматически сохраняется содержание регистров процессора. В современных ОС регистр задачи включает в себя сегмент состояния задачи TSS task state segment Дескриптор задачи больше по размерам чем TSS и включает в себя такие общие поля, как идентификатор задачи, имя, приоритет, тип, и т. д.

Характеристики

Тип файла
Документ
Размер
1,42 Mb
Тип материала
Учебное заведение
Неизвестно

Список файлов реферата

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6985
Авторов
на СтудИзбе
262
Средний доход
с одного платного файла
Обучение Подробнее
{user_main_secret_data}