Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

А. Организация потоков на уровне пользователя.




Список вопросов для подготовки к экзамену «Операционные системы, среды и оболочки»

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

1) Загрузка нужного транслятора;

2) Запуск транслятора и получение программы в машинных кодах;

3) Связывание программы с библиотечными подпрограммами;

4) Загрузка программы в ОЗУ;

5) Запуск программы;

6) Вывод результатов работы на печатающее или другое периферийное устройство.

2. Что такое операционная система, операционная среда, операционная оболочка? Дайте определение.

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

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

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

3. Что такое однопрограммная пакетная обработка? Как определить классическое мультипрограммирование?

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

Стратегия режима заключается в следующем:

· Часть первых программ в пакете переводится в состоянии "задача" но, возможно, на разных стадиях,

· Часть из них может находиться в состоянии ожидания. Это задачи, для которых производится загрузка данных.

· Другая часть программ может находиться в состоянии счет. Это задачи, для которых загружены данные и они готовы к обработке на процессоре. Одна из них находится в стадии выполнения команд процессором. Остальные – ожидают своей очереди на обработку.

 

 

4. Что относится к базовому программному обеспечению ранних компьютерных систем?

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

5. Что такое многопрограммная пакетная обработка?

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

6. Что такое мультипроцессорная обработка, чем она отличается от мультипрограммирования?

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

7. Перечислите поколения операционных систем. Назовите основные отличительные признаки поколений.

Е годы ХХ века.

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

Первое поколение ОС.

Е годы ХХв.

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

Второе поколение ОС.

Середина 60-х г.

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

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

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

ОС реального времени использовались в ВМ, которые управляли какими-либо машинами или устройствами. Как правило, скорость реакции устройства меньше скорости реакции ЭВМ, ОС реального времени искусственно замедляли работу ЭВМ, приближая ее к скорости устройства или машины.

 

Третье поколение ОС.

Е годы ХХв.

Это поколение ОС предназначалось для ВМ, построенных на основе интегральных схем, как ЭВМ общего пользования. ЭВМ впервые стали использоваться в промышленности, медицине и т.д.

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

Но именно в этот период были заложены все основные черты современных ОС.

Четвертое поколение ОС.

Е годы ХХв.

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

Это поколение включает в себя все основные черты ОС предыдущих поколений, а так же имеют следующие особенности:

1. Управление работой сетей ЭВМ.

2. Управление работой сложных многопроцессорных вычислительных комплексов.

3. Появление ОС ПК.

4. ОС начали использовать «дружественный» интерфейс, т.е. ОС строятся в расчете на не подготовленных или малоподготовленных пользователей.

8. Что такое архитектура операционной системы? Какие архитектуры ОС вы можете охарактеризовать?

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

Наиболее общим подходом к структуризации операционной системы является разделение всех ее модулей на две группы:

· ядро — модули, выполняющие основные функции ОС;

· модули, выполняющие вспомогательные функции ОС.

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

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

9. Что такое виртуальная машина? В чем Вы видите преимущества использования виртуальных машин?

Виртуальная машина

· программная и/или аппаратная система, эмулирующая аппаратное обеспечение некоторой платформы и исполняющая программы для этой платформы (target — целевая или гостевая платформа) на другой платформе (host — хост-платформа, платформа-хозяин)

· или виртуализирующая некоторую платформу и создающая на ней среды, изолирующие друг от друга программы и даже операционные системы (см.: песочница);

· также, спецификация некоторой вычислительной среды (например: «виртуальная машина языка программирования C»).

Виртуальная машина исполняет некоторый машинно-независимый код (например, байт-код, шитый код, p-код) или машинный код реального процессора. Помимо процессора, ВМ может эмулировать работу, как отдельных компонентов аппаратного обеспечения, так и целого реального компьютера (включая BIOS, оперативную память, жёсткий диск и другие периферийные устройства). В последнем случае в ВМ, как и на реальный компьютер, можно устанавливать операционные системы (например, Windows можно запускать в виртуальной машине под Linux или наоборот). На одном компьютере может функционировать несколько виртуальных машин (это может использоваться для имитации нескольких серверов на одном реальном сервере с целью оптимизации использования ресурсов сервера).

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

Виртуальные машины могут использоваться для:

· защиты информации и ограничения возможностей программ (см.: песочница);

· исследования производительности ПО или новой компьютерной архитектуры;

· эмуляции различных архитектур (например, эмулятор игровой приставки);

· оптимизации использования ресурсов мейнфреймов и прочих мощных компьютеров (см., например: IBM eServer);

· вредоносного кода для управления инфицированной системой: вирус PMBS, обнаруженный в 1993 году, а также руткит SubVirt, созданный в 2006 году в Microsoft Research, создавали виртуальную систему, которой ограничивался пользователь и все защитные программы (антивирусы и прочие).

· моделирования информационных систем с клиент-серверной архитектурой на одной ЭВМ (эмуляция компьютерной сети с помощью нескольких виртуальных машин).

· упрощения управления кластерами — виртуальные машины могут просто мигрировать с одной физической машины на другую во время работы.

· Тестирования и отладки системного программного обеспечения;


 

·

10. Дайте определение процессу и потоку. Чем поток отличается от процесса?

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

Потоки это наборы команд, которые могут получать время процессора. Время процессора выделяется квантами. Квант времени — это минимальный интервал, в течение которого только один поток использует процессор.

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

Почему мы используем потоки вместо процессов, хотя, при необходимости, приложение может состоять и из нескольких процессов? Дело в том, что переключение между процессами — значительно более длительная операция, чем переключение между потоками. Другой довод в пользу применения потоков — то, что они специально задуманы для совместного использования ресурсов; разделить ресурсы между процессами (имеющими раздельное адресное пространство) не так-то просто.

11. Перечислите основные задачи ОС по управлению процессами.

Её задачи:

● создание процессов и потоков.

● обеспечение процессов и потоков необходимыми ресурсами.

● изоляция процессов.

● планирования выполнения процессов и потоков.

● диспетчеризация потоков.

● организация межпроцессного взаимодействия.

● синхронизация.

● завершение и уничтожение процессов и потоков.

 

12. Как можно представить модель процесса и потока? Назовите возможные состояния процесса.

Простейшая модель процесса предполагает, что он имеет 2 устойчивых состояния – выполняется и не выполняется. Если бы все процессы имели равный приоритет, всегда были готовы к выполнению, то очередь по данной схеме работала бы эффективно по принципу обслуживания в порядке поступления, а процессор обслуживал бы поступающие процессы круговым методом (Round-Robin). Каждому процессу отводится определенный промежуток времени (t кванта), после которого процесс возвращается в очередь или, если он решен полностью, выгружается из ОЗУ. Однако не все процессы одновременно готовы к выполнению – часть из них по какой-то причине заблокирована (например, ожидают соответствующий ресурс). Поэтому при наличии одной очереди диспетчер вынужден просматривать её всю для поиска первого незаблокированного процесса.

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

Модели потоков:

А. Организация потоков на уровне пользователя.

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

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...