рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Многозадачные пакетные системы

Многозадачные пакетные системы - раздел Образование, Обзор операционных систем   Процессору Часто Приходилось Простаивать Даже При Автоматичес...

 

Процессору часто приходилось простаивать даже при автоматическом вы­полнении заданий под управлением простой пакетной операционной системы. Проблема заключается в том, что устройства ввода-вывода работают намного медленнее, чем процессор. На рис. 2.4 представлены соответствующие расчеты, выполненные для программы, которая обрабатывает файл с записями, причем для обработки одной записи требуется в среднем 100 машинных команд. В этом примере 96% всего времени процессор ждет, пока устройства ввода-вывода за­кончат передачу данных в файл и из него. На рис. 2.5,а показана такая ситуа­ция для одной программы. Некоторое время процессор исполняет команды; за­тем, дойдя до команды ввода-вывода, он должен подождать, пока она не закон­чится. Только после этого процессор сможет продолжить работу.

 

Чтение одной записи из файла 0.0015 s

Выполнение 100 машинных команд 0.0001 s

Внесение одной записи в файл 0.0015 s

Всего 0.003 Is

О 0001

Степень использования процессора = 0,0001/0.0031= 0.032 = 3.2%

 

Рис. 2.4. Пример использования системы.

 

Эффективность использования процессора можно повысить. Мы знаем, что памяти должно хватить, чтобы разместить в ней операционную систему (резидентный монитор) и программу пользователя. Представим, что в памяти достаточно места для операционной системы и двух программ пользователя. Те­перь, когда одно из заданий ждет завершения операций ввода-вывода, процессор может переключиться на другое задание, для которого в данный момент ввод-вывод, скорее всего, не требуется (рис. 2.5,6). Более того, если памяти достаточно для размещения большего количества программ, то процессор может выпол­нять их параллельно, переключаясь с одной на другую (рис. 2.5,в). Такой режим известен как многозадачность (multiprogramming) и является основной чертой современных операционных систем.

 

Рис. 2.5. Пример многозадачности

 

Приведем простой пример, иллюстрирующий преимущества многозадачно­сти. Рассмотрим компьютер, имеющий 256 К слов памяти, не используемых операционной системой, диск, терминал и принтер. На обработку одновременно приняты три программы, JOB1, JOB2 и JOB3, атрибуты которых перечислены в (табл. 2.1.) Предположим, что для выполнения заданий JOB2 и JOB3 использова­ние процессора минимально, и задание JOB3 постоянно обращается к диску и принтеру. В простой среде с пакетной обработкой эти задания выполняются по­следовательно. Для завершения JOB1 требуется 5 мин. Задание JOB2 должно ждать, пока пройдут эти 5 мин, после чего оно выполняется в течение 15 мин. По истечении 20 мин начинает работу задание JOB3; его выполнение заканчива­ется через 30 мин после того, как оно было принято на обработку. Средний про­цент использования ресурсов, производительность и время отклика показаны в столбце табл. 2.2, соответствующем однозадачности, а на рис. 2.6,а показано ис­пользование различных устройств в этом режиме. Очевидно, что эффективность использования всех ресурсов, усредненная по всему периоду времени (30 мин), является крайне низкой.

Таблица 2.1. Свойства трех программ-примеров

 

JOB1 JOB2 JOB3 Тип задания Интенсивные Интенсивный Интенсивный вычисления ввод-вывод ввод-вывод   Продолжительность 5 мин 15 мин 10 мин Требуемая память 50 К 100 К 80 К Требуется ли диск Нет Нет Да Требуется ли терминал Нет Да Нет Требуется ли принтер Нет Нет Да

 

Таблица 2.2. Влияние многозадачности на использование ресурсов

 

Однозадачность Многозадачность Использование процессора 22% 43% Использование памяти 30% 67% Использование диска 33% 67% Использование принтера 33% 67% Затраченное время 30 мин 15 мин Производительность 6 заданий/час 12 заданий/час Среднее время отклика 8 мин 10 мин

 

Теперь предположим, что задания выполняются одновременно под управле­нием многозадачной операционной системы. Из-за того что они используют раз­ные ресурсы, их совместное выполнение на компьютере длится минимальное время (при условии, что заданиям JOB2 и JOB3 предоставляется достаточно процессорного времени для поддержки осуществляемого ими ввода и вывода в активном состоянии). Для выполнения задания JOB1 потребуется 5 мин, но к этому времени задание JOB2 будет выполнено на треть, а задание JOB3 — на половину. Все три задания будут выполнены через 15 мин. Если посмотреть на столбец табл. 2.2, соответствующий многозадачному режиму, его преимущества станут очевидны, как и из гистограммы, приведенной на рис. 2.6,б.

 

Рис. 2.6. Гистограммы использования ресурсов

 

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

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

Системы, работающие в режиме разделения времени

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

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

Как пакетная обработка, так и разделение времени используют многозадач­ность. Основные отличия этих двух режимов перечислены в табл. 2.3.

Таблица 2.3. Пакетная многозадачность и разделение времени

 

    Пакетная многозадачность Разделение времени  
Основная цель Максимальное использование процессора Уменьшение времени отклика
Источник указаний операционной системе Команды языка управления заданиями, помещаемые в задание Команды, вводимые с терминала

 

Одной из первых операционных систем разделения времени была система CTSS (Compatible Time-Sharing System) [CORB62], разработанная в Массачусетском технологическом институте группой, известной как Project MAC. Первона­чально система была разработана для IBM 709, а затем перенесена на IBM 7094.

По сравнению с более поздними системами, CTSS была довольно примитивна. Она работала на машине с основной памятью емкостью 32000 36-битовых слов, из которых 5000 слов занимал монитор. Когда управление должно было быть передано очередному интерактивному пользователю, его программа и данные загружались в остальные 27000 слов основной памяти. Программа всегда загружалась так, что ее начало находилось в ячейке номер 5000, что упрощало управление как монитором, так и памятью. Приблизительно через каждые 0.2 с системные часы генерировали прерывание. При каждом прерывании таймера управление передавалось операцион­ной системе, и процессор мог перейти в распоряжение другого пользователя. Таким образом, данные текущего пользователя через регулярные интервалы времени вы­гружались, а вместо них загружались другие. Перед считыванием программы и дан­ных нового пользователя программа и данные предыдущего пользователя записыва­лись на диск для сохранения до дальнейшего выполнения. Впоследствии, когда оче­редь этого пользователя наступит снова, код и данные его программы будут восстановлены в основной памяти.

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

Предположим, что всего работает четыре пользователя, которым нужны сле­дующие объемы памяти:

• JOB1: 15000

• JOB2: 20000

• JOB3: 5000

• JOB4: 10000

 

Рис. 2.7. Работа CTSS

Сначала монитор загружает задание JOB1 и передает ему управление (а). Затем он принимает решение передать управление заданию JOB2. Из-за того, что JOB2 занимает больше памяти, чем JOB1, сначала нужно сохранить данные JOB1, а затем можно загружать JOB2 (б). Затем для обработки загружается JOB3. Но поскольку это задание меньше, чем JOB2, часть задания JOB2 может оставаться в основной памяти, сокращая время записи на диск (в). Позже мони­тор вновь передает управление заданию JOB1. Чтобы загрузить его в память, на диск необходимо записать еще часть задания JOB2 (г). При загрузке задания JOB4 в памяти остается часть заданий JOB1 и JOB2 (д). Если теперь будет акти­визировано задание JOB1 или JOB2, то потребуется лишь частичная его загруз­ка. Следующим в этом примере запускается задание JOB2. Для этого требуется, чтобы JOB4 и оставшаяся в памяти часть JOB1 были записаны на диск, а в па­мять была считана недостающая часть JOB2.

Подход CTSS по сравнению с современными принципами разделения време­ни является примитивным, но вполне работоспособным. Его простота позволяла использовать монитор минимальных размеров. Из-за того что задание всегда загружалось в одно и то же место в памяти, не было необходимости применять во время загрузки методы перемещения (которые рассматриваются позже). Необхо­дим был лишь метод записи, позволяющий уменьшить активность диска. Рабо­тая на машине 7094, CTSS могла обслуживать до 32 пользователей.

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

 

– Конец работы –

Эта тема принадлежит разделу:

Обзор операционных систем

ЭВОЛЮЦИЯ ОПЕРАЦИОННЫХ СИСТЕМ... Пытаясь понять основные требования предъявляемые к операционным систе мам а также значение основных возможностей...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Многозадачные пакетные системы

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Обзор операционных систем
2.1. Предназначение и функции операционных систем 2.2. Эволюция операционных систем 2.3. Основные достижения 2.4. Характеристики современных операционных систем

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

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

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

Последовательная обработка данных
  В самых первых компьютерах, в период от конца 40-х до средины 50-х го­дов, программы непосредственно взаимодействовали с аппаратным обеспечением машины; операционных систем в то вре

Простые пакетные системы
Первые машины были очень дорогими, поэтому было важно использовать их как можно эффективнее. Простои, происходившие из-за несогласованности расписа­ния, а также время, затраченное на подготовку зад

ОСНОВНЫЕ ДОСТИЖЕНИЯ
  Операционные системы относят к числу самых сложных программ. В этом проявляется стремление их разработчиков сделать системы такими, чтобы они удовлетворяли требованиям удобства и эф

Процессы
  Одной из основополагающих концепций, помогающих понять структуру опера­ционных систем, является концепция процессов. Этот термин впервые был применен в 60-х годах разработчиками опе

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

Защита информации и безопасность
  С ростом популярности систем разделения времени — а впоследствии с воз­никновением компьютерных сетей — возникла проблема защиты информации. В зависимости от обстоятельств природа у

Совместное использование ресурсов и управление ими
Одной из важных задач операционной системы является управление имею­щимися в ее распоряжении ресурсами (основной памятью, устройствами ввода-вывода, процессором), а также их распределение между раз

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

ХАРАКТЕРИСТИКИ СОВРЕМЕННЫХ ОПЕРАЦИОННЫХ СИСТЕМ
  Год за годом происходит эволюция структуры и возможностей операцион­ных систем. В последнее время в состав новых операционных систем и новых версий уже существующих операционных сис

История возникновения
  Операционная система W2K появилась в результате развития операционной системы под названием MS-DOS (или PC-DOS), разработанной фирмой Microsoft для первого персонального ком

Однопользовательская многозадачность
  Операционная система W2K является типичным представителем операци­онных систем для микрокомпьютеров (в качестве других примеров можно при­вести OS/2 и MacOS). Она была вызвана к жиз

Архитектура
  На рис. 2.13, взятом из [SOLO98b], представлена общая структура операци­онной системы W2K. Модульная структура этой системы делает ее довольно гибкой. Она в состоянии работать на са

Организация операционной системы
  В операционной системе W2K трудно однозначно выделить микроядро. Вместо этого W2K имеет структуру, которую фирма Microsoft называет модифицированной архитектурой микроядра. Как и об

Пользовательские процессы
  Операционная система W2K поддерживает четыре основных типа пользова­тельских процессов. • Специальные процессы системной поддержки. К таким процессам относ

Модель клиент/сервер
  Структура исполнительной системы, защищенных подсистем и прило­жений выполнена в соответствии с вычислительной моделью кли­ент/сервер — общепринятой моделью распределенных вычислени

Потоки и симметричная многопроцессорность
  Возможности поддержки потоков и поддержки симметричной многопроцес­сорности, о которых мы говорили в разделе 2.4, — две важные характеристики операционной системы W2K. Ниже перечисл

Объекты Windows 2000
  Устройство операционной системы W2K в значительной мере основано на объектно-ориентированных концепциях. Этот подход способствует совместному использованию ресурсов и данных различн

Историческая справка
Историю возникновения операционной системы UNIX часто можно встре­тить во многих книгах, поэтому здесь она приводится лишь схематично — ос­новные этапы развития изображены на рис. 2.14, взятом из [

Описание
  Рис. 2.15 дает общее представление об архитектуре системы UNIX. Лежащее в основе аппаратное обеспечение окружено программным обеспечением операционной системы. Операционную систему

СОВРЕМЕННЫЕ СИСТЕМЫ UNIX
  В процессе развития операционной системы UNIX появилось много ее реа­лизаций, каждая из них обладала своими полезными возможностями. Впослед­ствии возникла необходимость создать реа

Solaris 2.x
Система Solaris — это версия операционной системы UNIX, разработанная фирмой Sun на основе SVR4. На время написания книги последней вышедшей вер­сией Solaris была версия 2.8. Реализации системы Sol

История возникновения
Система Linux возникла как вариант операционной системы UNIX, предназначенный для персональных компьютеров с IBM-совместимой архитектурой. Первоначальная версия была написана Линусом Торвальдсом (L

Модульная структура
  Ядра большинства версий операционной системы UNIX являются монолит­ными. Напомним, что монолитное ядро — это ядро, которое виртуально включа­ет в себя все возможности операционной с

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги