Improve Article
Save Article
Improve Article
Save Article
Multiprogrammed, batched systems provided an environment where various system resources were used effectively, but it did not provide for user interaction with computer systems. Time sharing is a logical extension of multiprogramming. The CPU performs many tasks by switches are so frequent that the user can interact with each program while it is running. A time shared operating system allows multiple users to share computers simultaneously. Each action or order at a time the shared system becomes smaller, so only a little CPU time is required for each user. As the system rapidly switches from one user to another, each user is given the impression that the entire computer system is dedicated to its use, although it is being shared among multiple users. A time shared operating system uses CPU scheduling and multi-programming to provide each user with a small portion of a shared computer at once. Each user has at least one separate program in memory. A program loaded into memory and executes, it performs a short period of time either before completion or to complete I/O.This short period of time during which user gets attention of CPU is known as time slice, time slot or quantum.It is typically of the order of 10 to 100 milliseconds. Time shared operating systems are more complex than multiprogrammed operating systems. In both, multiple jobs must be kept in memory simultaneously, so the system must have memory management and security. To achieve a good response time, jobs may have to swap in and out of disk from main memory which now serves as a backing store for main memory. A common method to achieve this goal is virtual memory, a technique that allows the execution of a job that may not be completely in memory. In above figure the user 5 is active state but user 1, user 2, user 3, and user 4 are in waiting state whereas user 6 is in ready state.
- Active State – The user’s program is under the control of CPU. Only one program is available in this state.
- Ready State – The user program is ready to execute but it is waiting for it’s turn to get the CPU.More than one user can be in ready state at a time.
- Waiting State – The user’s program is waiting for some input/output operation. More than one user can be in a waiting state at a time.
Requirements of Time Sharing Operating System : An alarm clock mechanism to send an interrupt signal to the CPU after every time slice. Memory Protection mechanism to prevent one job’s instructions and data from interfering with other jobs.
Advantages :
- Each task gets an equal opportunity.
- Less chances of duplication of software.
- CPU idle time can be reduced.
Disadvantages :
- Reliability problem.
- One must have to take of security and integrity of user programs and data.
- Data communication problem.
Что такое система разделения времени?
разделение времени при обработке данных, метод работы, при котором несколько пользователей с разными программами почти одновременно взаимодействуют с центральным процессором (ЦП) большого цифрового компьютера. … Обычно используемые методы разделения времени включают многопроцессорность, параллельную работу и многопрограммирование.
Какова основная цель системы разделения времени?
Основные цели разделения времени: повысить производительность пользователя и / или общую производительность компьютерной системы.
Каковы преимущества операционной системы реального времени?
Преимущества операционных систем реального времени
- Планирование на основе приоритета.
- Абстрагирование информации о времени.
- Ремонтопригодность / Расширяемость.
- Модульность.
- Способствует развитию команды.
- Более легкое тестирование.
- Повторное использование кода.
- Повышенная эффективность.
Почему используется разделение времени?
Совместное времяпровождение позволяет совместно использовать центральный компьютер большому количеству пользователей, сидящих за терминалами. Каждая программа, в свою очередь, использует центральный процессор в течение фиксированного периода времени. Когда время истекло, программа прерывается, и следующая программа возобновляет выполнение.
В чем разница между операционными системами с мультипрограммированием и разделением времени?
В этом проблема недоиспользования процессора и памяти. решено, и несколько программ работают на CPU, поэтому это называется мультипрограммированием.
…
Разница между разделением времени и мультипрограммированием:
S.No. | СОВМЕСТНОЕ ВРЕМЯПРОВОЖДЕНИЕ | МУЛЬТИПРОГРАММИРОВАНИЕ |
---|---|---|
04 | ОС с разделением времени имеет фиксированный временной интервал. | ОС с мультипрограммированием не имеет фиксированного временного интервала. |
Также называется операционной системой с разделением времени?
Время процессора, которое распределяется между несколькими пользователями одновременно называется разделением времени. … Операционная система использует планирование ЦП и мультипрограммирование, чтобы предоставить каждому пользователю небольшую часть времени. Компьютерные системы, которые были разработаны в первую очередь как пакетные системы, были преобразованы в системы с разделением времени.
Какой планировщик является частью системы разделения времени?
8. Какой график является часть систем разделения времени? Пояснение: среднесрочный Планировщик является частью систем разделения времени..
Возможно ли разделение времени без перерывов?
Без перерывов, было бы невозможно реализовать мультипрограммирование или разделение времени. … Без прерывания таймера невозможно создать временные интервалы для разделения ЦП между заданиями. Синхронизация прерываний. Сами прерывания должны быть синхронизированы.
-
Ос с разделением времени
На рубеже 60-70 гг.
распространенным и не слишком дорогим
периферийным устройством становятся
мониторы (сначала монохромные и работающие
только в текстовом режиме). При этом
процессор и ОЗУ остаются самыми дорогими
и громоздкими устройствами вычислительной
системы. В этих условиях возникает и
быстро приобретает популярность
принципиально новый тип ОС – системы
с разделением времени.
К одной ЭВМ
подключается несколько десятков рабочих
мест, оборудованных дисплеем (монитор
+ клавиатура) и совместно использующих
вычислительные ресурсы ЭВМ. Процессорное
время делится на кванты длительностью
в несколько десятков миллисекунд и по
истечении каждого кванта процессор
может быть переключен на обслуживание
другого процесса, другого дисплея.
Поскольку теперь подготовку текстов
программ выполняют сами программисты
за дисплеями, а работа по редактированию
текста требует очень малых затрат
процессорного времени, процессор
успевает обслужить все рабочие места
практически без ощутимой задержки.
Большая часть времени процессора
уделяется небольшому числу рабочих
мест, где в данный момент запущены на
выполнение программы. При этом, разумеется,
средняя скорость работы каждой программы
уменьшается, по крайней мере во столько
раз, сколько программ выполняется
одновременно.
Режим разделения
времени стал огромным облегчением для
программистов, которые вновь смогли в
некоторой степени почувствовать себя
«хозяевами» ЭВМ и получили возможность
запускать программы на трансляцию и
отладку хоть каждые 5 минут. Это позволило
сократить сроки разработки и отладки
программ.
Для трудоемких
вычислительных заданий, предусматривающих
счет по ранее отлаженным программам,
режим разделения времени менее эффективен,
чем пакетный, поскольку частое переключение
процессора между выполняемыми программами
требует дополнительных затрат времени.
Системы разделения
времени используются в режиме диалога
с пользователем, поэтому вместо
громоздких, детализированных операторов
JCL в них используются
более простые команды, выполняющие
элементарные действия – запуск программы,
выдача на экран файла или каталога,
копирование или удаление файла и т.п.
Пользователю не нужно предвидеть заранее
все возможные исходы выполнения команды,
гораздо проще увидеть результат
выполнения на экране и после этого
принять решение, какую команду выполнять
следующей. В то же время, некоторые часто
повторяющиеся последовательности
команд удобно описать один раз в виде
«пакетного задания» и затем использовать
при необходимости. В этом плане системы
разделения времени сохраняют те удобные
возможности, которые предоставляли
пакетные системы.
Первоначально в
качестве аппаратной основы систем
разделения времени должны были
использоваться «большие» ЭВМ, которые
позднее стало принято называть
«мейнфреймами» (mainframes).
Позднее, по мере прогресса вычислительной
техники, это стало по плечу даже миниЭВМ
(так назывался в те годы класс компьютеров,
занимавших всего лишь один-два небольших
шкафчика). Следует особо упомянуть серию
миниЭВМ PDP-11, имевшую
широчайшее распространение во всем
мире в течение полутора десятков лет.
Этот период (70-е
годы в мире, 80-е в СССР) характерен
глубоким развитием теории и практики
создания мощных ОС, содержащих развитые
средства управления процессами и
памятью, реализующих многопользовательский
режим работы. Из большого числа подобных
систем особого упоминания заслуживает
UNIX – единственная система,
благополучно дожившая до нашего времени.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
12.04.2015929.79 Кб16Конспект_для_звукопроизношения.doc
- #
- #
- #
Разница между разделением времени и операционной системой реального времени
Автор:
Christy White
Дата создания:
9 Май 2021
Дата обновления:
17 Март 2023
Содержание
- Ключевое отличие — разделение времени по сравнению с реальным Время Операционная система
- Что такое операционная система с разделением времени?
- Что такое операционная система реального времени?
- В чем разница между разделением времени и операционной системой реального времени?
- Резюме —Разделение времени против реального Время Операционная система
Ключевое отличие — разделение времени по сравнению с реальным Время Операционная система
В ключевое отличие между разделением времени и операционной системой реального времени заключается в том, что Операционная система с разделением времени — это система, которая позволяет множеству пользователей из разных мест использовать систему одновременно, в то время как операционная система реального времени — это система, которая выполняет определенную задачу в пределах указанного временного ограничения.
Операционная система — это интерфейс между программным обеспечением и оборудованием. Он выполняет такие задачи, как управление памятью, управление процессами, управление файлами и управление устройствами ввода-вывода. Существуют разные типы операционных систем. Два из них — это операционные системы с разделением времени и реального времени.
1. Обзор и основные отличия
2. Что такое операционная система с разделением времени
3. Что такое операционная система реального времени
4. Параллельное сравнение — разделение времени и операционная система реального времени в табличной форме
5. Резюме
Что такое операционная система с разделением времени?
В операционных системах с разделением времени многие пользователи из разных мест могут использовать определенную компьютерную систему одновременно. В этих системах время процессора распределяется между несколькими пользователями одновременно. В этих системах ЦП выполняет несколько пользовательских программ. Процессор выполняет каждую пользовательскую программу за небольшой промежуток времени. Эти системы используют планирование ЦП и мультипрограммирование, чтобы обеспечить небольшой временной интервал для каждой пользовательской программы. Когда пользователь дает команду, система реагирует быстро.
Операционные системы с разделением времени предоставляют множество преимуществ. Это сокращает время ожидания процессора. Пользователи могут получить результат в короткие сроки, потому что время отклика минимально. Это также позволяет избежать дублирования программного обеспечения. Проблемы безопасности и проблемы передачи данных — это некоторые ограничения операционной системы с разделением времени.
Что такое операционная система реального времени?
Система реального времени — это система, которая требует минимального количества времени для обработки данных и ответа на входные данные для выполнения задачи. Правильность вывода системы зависит от логического результата вычислений и времени для получения результата. Он содержит методы для задач планирования в реальном времени. Есть два типа операционных систем реального времени. Это системы жесткого реального времени и системы мягкого реального времени.
Система жесткого реального времени должна работать в установленные сроки. Единичный сбой в срок — это полный или катастрофический сбой системы. Системы управления воздушным движением, ракеты и системы управления ядерными реакторами — вот некоторые примеры систем жесткого реального времени. Система мягкого реального времени менее строгая. Система должна выполнить задачу в срок, но возможен небольшой допуск. Несоблюдение крайнего срока не считается полным отказом системы, но производительность считается ухудшенной. Потоковое мультимедиа и виртуальная реальность — вот некоторые примеры систем мягкого реального времени.
В чем разница между разделением времени и операционной системой реального времени?
Совместное использование времени и операционная система реального времени |
|
Операционная система с разделением времени — это система, которая позволяет множеству пользователей в разных местах использовать определенную компьютерную систему одновременно. | Операционная система реального времени — это операционная система, которая выполняет определенную задачу в течение определенного времени. |
Время | |
Система разделения времени каждому пользователю дается небольшой квант времени. | Система реального времени работает с фиксированными временными ограничениями. |
Совместное использование ресурсов | |
В системе разделения времени пользователи могут делиться ресурсами. | В системе реального времени ресурсы остаются в течение фиксированного периода времени для процесса и по истечении этого времени могут быть перераспределены другому процессу. |
Пример системы | |
Онлайн-файловая система является примером системы с разделением времени. | Система управления воздушным движением является примером операционной системы реального времени. |
Резюме —Разделение времени против реального Время Операционная система
Разница между операционной системой с разделением времени и операционной системой реального времени заключается в том, что операционная система с разделением времени — это система, которая позволяет множеству пользователей из разных мест использовать систему одновременно, в то время как операционная система реального времени — это система, которая выполняет определенную задачу в пределах указанного ограничение времени.
Такие системы обеспечивают одновременное обслуживание многих пользователей, позволяя каждому пользователю взаимодействовать со своим заданием в режиме диалога. Эффект одновременного обслуживания достигается разделением процессорного времени и других ресурсов между несколькими вычислительными процессами, которые соответствуют отдельным заданиям пользователей. Операционная система предоставляет ЭВМ каждому вычислительному процессу в течение небольшого интервала времени; если вычислительный процесс не завершился к концу очередного интервала, он прерывается и помещается в очередь ожидания, уступая ЭВМ другому вычислительному процессу. ЭВМ в этих системах функционирует в мультипрограммном режиме.
Операционная система разделения времени может применяться не только для обслуживания пользователей, но и для управления технологическим оборудованием. В этом случае “пользователями” являются отдельные блоки управления исполнительными устройствами, входящими в состав технологического оборудования: каждый блок взаимодействует с определённым вычислительным процессом в течение интервала времени, достаточного для передачи управляющих воздействий на исполнительное устройство или приёма информации от датчиков.
Примеры: MS DOS, UNIX
ОС пакетной обработки с поддержкой мультипрограммирования
Более развитые операционные системы поддерживают режим мультипрограммирования –
одновременной обработки и размещении в памяти сразу нескольких пользовательских заданий.
Распределение памяти в такой системе изображено на
рис.
2.2.
Рис.
2.2.
Распределение памяти в системе пакетной обработки с поддержкой мультипрограммирования
В такой системе ОС занимает по-прежнему смежную область памяти по меньшим адресам, однако вслед за областью ОС размещаются несколько смежных областей памяти, занимаемых пользовательскими программами. Их число и размеры могут меняться.
Особенности ОС с поддержкой мультипрограммирования следующие.
Использование программ ввода-вывода, поддерживаемых операционной системой. При однозадачном режиме (см. предыдущий параграф) подобной необходимости не возникало: каждое очередное задание получало в полное распоряжение все ресурсы компьютера, в том числе – устройства ввода-вывода. При выполнении последнего процессор простаивал. В мультипрограммном режиме уже возникает потребность в реализации специальных подпрограмм для ввода-вывода, которые могли бы вызываться пользователем или операционной системой в необходимых случаях. Вызов в одной из пользовательских программ подпрограммы ввода-вывода означает для ОС возможность во время его выполнения предоставить процессор другому пользовательскому заданию.
Управление памятью. Поскольку заданий в памяти может быть несколько, причем число и размеры их областей могут меняться, перед операционной системой возникает задача распределения памяти для пользовательских заданий – выделения памяти для загружаемого пользовательского задания и ее освобождения после завершения каждого задания. При решении этой классической задачи возникает целый ряд проблем: хранение списков свободной и занятой памяти, реализация оптимального алгоритма поиска и выделения свободной области памяти, реализация освобождения памяти, фрагментация — дробление свободной памяти на мелкие участки, вследствие неточного совпадения размеров свободных и требуемых участков памяти и др. Все эти проблемы и общепринятые алгоритмы их решения подробно описаны в классической монографии Д. Кнута
[
15
]
и будут рассмотрены подробно в курсе.
Планирование загрузки процессора (CPU scheduling) – реализация в ОС алгоритмов выбора очередного задания из набора загруженных в память заданий и выделения кванта времени центрального процессора очередному выбранному заданию. В отличие от однозадачного режима, в режиме мультипрограммирования операционная система, таким образом, в определенные моменты времени должна сделать выбор, какое из нескольких загруженных в память заданий запустить. Алгоритмы планирования и диспетчеризации процессов подробно рассмотрены ниже в данном курсе.
Управление внешними устройствами и буферизация ввода-вывода. В однозадачном режиме загруженная в память пользовательская программа для вывода на печать могла выполнить специальную машинную команду, которая выводила на устройство печати очередную строчку, что не вызывало проблем и не приводило к какой-либо путанице, вследствие монопольности «владения» компьютером очередным заданием. Однако в мультипрограммном режиме ситуация иная. Если сохранить тот же режим вывода на печать, то на печатающее устройство могут быть выведены фрагменты, принадлежащие разным заданиям, что недопустимо. Для группировки и отделения выводимой информации различных заданий друг от друга в мультипрограммной ОС используется буферизация вывода (spooling) – хранение для каждого задания буфера его вывода (в виде области памяти или файла), накопление в буфере выводимой заданием информации и ее вывод полностью на устройство (принтер) при завершении задания.
Режим разделения времени и особенности ОС с режимом разделения времени
Когда в составе компьютерных систем появились терминалы (вначале телетайпы, затем дисплеи), возникла необходимость реализации в ОС режима разделения времени ( time sharing ) – возможности одновременной работы пользователей со своими заданиями с терминалов, ввода заданий в систему, их запуска (при наличии свободного процессора), управления заданиями с терминала, их приостановки, отладки, визуализации на терминале их результатов. Рассмотрим особенности ОС с режимом разделения времени.
Хранение заданий в памяти или на диске.Ресурсы процессора в ОС с разделением времени распределены между несколькими заданиями, находящимися в памяти или на диске. Задание загружается в память (при наличии свободной памяти), если оно является пакетным и выбрано операционной системой для выполнения, либо если оно активируется пользователем с терминала. Процессор выделяется только тем заданиям, которые находятся в памяти.
Откачка и подкачка (swapping) — загрузка заданий с диска в память и их выгрузка из памяти на диск. В системе с разделением времени возможна ситуация, когда какое-либо задание, управляемое с терминала, неактивно (например, выполняет ввод-вывод, либо система ожидает ответа от пользователя, у которого в данный момент перерыв в работе). В этом случае ОС может принять решение о временной выгрузке (swap out) образа памяти задания из оперативной памяти на диск, с целью освобождения памяти для других заданий. При повторной активизации задания оно (при возможности) вновь загружается в память ( swapped in ). Подобная стратегия называется откачкой и подкачкой.
Поддержка диалогового взаимодействия между пользователем и системой. Когда ОС завершает исполнение пользовательской команды, она выполняет поиск следующего управляющего оператора (control statement),введенного с пользовательской клавиатуры.
Предоставление диалогового доступа к данным и коду пользовательской программы. В ОС с разделением времени обеспечивается возможность для пользователя ввода, запуска, редактирования, отладки своей программы с терминала, управления своим заданием (приостановки, с последующим возобновлением), просмотра его промежуточных результатов, состояния памяти и регистров, просмотра окончательных результатов на терминале при завершении задания.
Следует учитывать, что в ОС с разделением времени обрабатываются как пакетные, так и интерактивные (диалоговые) задания, поэтому система должна обеспечивать их диспетчеризацию – переключение в нужный момент с диалогового задания на пакетное, либо с одного диалогового (пакетного) задания на другое.
Режим разделения времени, наряду с пакетным режимом, был основным в операционных системах 1960-х – 1970х- гг.
Федеральное агентство по образованию РФ
Государственное образовательное учреждение
высшего профессионального образования
Тульский государственный университет
кафедра «ЭВМ»
Реферат по дисциплине:
«Операционные системы»
на тему
«Режимы работы ОС. Режим разделения времени».
-
Выполнил:
студент гр. 250561Косухин К.Ю.
Проверил:
Новиков А.В.
Тула 2008
Содержание
Особенности алгоритмов управления ресурсами 3
Поддержка многозадачности 3
Поддержка многопользовательского режима 3
Вытесняющая и невытесняющая многозадачность 4
Многозадачность 10
Свойства многозадачной среды 10
Трудности реализации многозадачной среды 11
История многозадачных операционных систем 11
Типы псевдопараллельной многозадачности 12
Классификация ОС
Операционные системы могут различаться особенностями реализации внутренних алгоритмов управления основными ресурсами компьютера (процессорами, памятью, устройствами), особенностями использованных методов проектирования, типами аппаратных платформ, областями использования и многими другими свойствами.
Особенности алгоритмов управления ресурсами
От эффективности алгоритмов управления локальными ресурсами компьютера во многом зависит эффективность всей сетевой ОС в целом. Поэтому, характеризуя сетевую ОС, часто приводят важнейшие особенности реализации функций ОС по управлению процессорами, памятью, внешними устройствами автономного компьютера. Так, например, в зависимости от особенностей использованного алгоритма управления процессором, операционные системы делят на многозадачные и однозадачные, многопользовательские и однопользовательские, на системы, поддерживающие многонитевую обработку и не поддерживающие ее, на многопроцессорные и однопроцессорные системы.
Поддержка многозадачности
По числу одновременно выполняемых задач операционные системы могут быть разделены на два класса:
-
однозадачные (например, MS-DOS, MSX)
-
многозадачные (OC EC, OS/2, UNIX, Windows 95)
Однозадачные ОС в основном выполняют функцию предоставления пользователю виртуальной машины, делая более простым и удобным процесс взаимодействия пользователя с компьютером. Однозадачные ОС включают средства управления периферийными устройствами, средства управления файлами, средства общения с пользователем.
Многозадачные ОС, кроме вышеперечисленных функций, управляют разделением совместно используемых ресурсов, таких как процессор, оперативная память, файлы и внешние устройства.
Поддержка многопользовательского режима
По числу одновременно работающих пользователей ОС делятся на:
однопользовательские (MS-DOS, Windows 3.x, ранние версии OS/2);
многопользовательские (UNIX, Windows NT).
Главным отличием многопользовательских систем от однопользовательских является наличие средств защиты информации каждого пользователя от несанкционированного доступа других пользователей. Следует заметить, что не всякая многозадачная система является многопользовательской, и не всякая однопользовательская ОС является однозадачной.
Вытесняющая и невытесняющая многозадачность
Важнейшим разделяемым ресурсом является процессорное время. Способ распределения процессорного времени между несколькими одновременно существующими в системе процессами (или нитями) во многом определяет специфику ОС. Среди множества существующих вариантов реализации многозадачности можно выделить две группы алгоритмов:
-
невытесняющая многозадачность (NetWare, Windows 3.x)
-
вытесняющая многозадачность (Windows NT, OS/2, UNIX)
Основным различием между вытесняющим и невытесняющим вариантами многозадачности является степень централизации механизма планирования процессов. В первом случае механизм планирования процессов целиком сосредоточен в операционной системе, а во втором — распределен между системой и прикладными программами. При невытесняющей многозадачности активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление операционной системе для того, чтобы та выбрала из очереди другой готовый к выполнению процесс. При вытесняющей многозадачности решение о переключении процессора с одного процесса на другой принимается операционной системой, а не самим активным процессом.
Поддержка многонитевости
Важным свойством операционных систем является возможность распараллеливания вычислений в рамках одной задачи. Многонитевая ОС разделяет процессорное время не между задачами, а между их отдельными ветвями (нитями).
Многопроцессорная обработка
Другим важным свойством ОС является отсутствие или наличие в ней средств поддержки многопроцессорной обработки — мультипроцессирование. Мультипроцессирование приводит к усложнению всех алгоритмов управления ресурсами.
В наши дни становится общепринятым введение в ОС функций поддержки многопроцессорной обработки данных. Такие функции имеются в операционных системах Solaris 2.x фирмы Sun, Open Server 3.x компании Santa Crus Operations, OS/2 фирмы IBM, Windows NT фирмы Microsoft и NetWare 4.1 фирмы Novell.
Многопроцессорные ОС могут классифицироваться по способу организации вычислительного процесса в системе с многопроцессорной архитектурой: асимметричные ОС и симметричные ОС. Асимметричная ОС целиком выполняется только на одном из процессоров системы, распределяя прикладные задачи по остальным процессорам. Симметричная ОС полностью децентрализована и использует весь пул процессоров, разделяя их между системными и прикладными задачами.
Выше были рассмотрены характеристики ОС, связанные с управлением только одним типом ресурсов — процессором. Важное влияние на облик операционной системы в целом, на возможности ее использования в той или иной области оказывают особенности и других подсистем управления локальными ресурсами — подсистем управления памятью, файлами, устройствами ввода-вывода.
Специфика ОС проявляется и в том, каким образом она реализует сетевые функции: распознавание и перенаправление в сеть запросов к удаленным ресурсам, передача сообщений по сети, выполнение удаленных запросов. При реализации сетевых функций возникает комплекс задач, связанных с распределенным характером хранения и обработки данных в сети: ведение справочной информации о всех доступных в сети ресурсах и серверах, адресация взаимодействующих процессов, обеспечение прозрачности доступа, тиражирование данных, согласование копий, поддержка безопасности данных.
Особенности аппаратных платформ
На свойства операционной системы непосредственное влияние оказывают аппаратные средства, на которые она ориентирована. По типу аппаратуры различают операционные системы персональных компьютеров, мини-компьютеров, мейнфреймов, кластеров и сетей ЭВМ. Среди перечисленных типов компьютеров могут встречаться как однопроцессорные варианты, так и многопроцессорные. В любом случае специфика аппаратных средств, как правило, отражается на специфике операционных систем.
Очевидно, что ОС большой машины является более сложной и функциональной, чем ОС персонального компьютера. Так в ОС больших машин функции по планированию потока выполняемых задач, очевидно, реализуются путем использования сложных приоритетных дисциплин и требуют большей вычислительной мощности, чем в ОС персональных компьютеров. Аналогично обстоит дело и с другими функциями.
Сетевая ОС имеет в своем составе средства передачи сообщений между компьютерами по линиям связи, которые совершенно не нужны в автономной ОС. На основе этих сообщений сетевая ОС поддерживает разделение ресурсов компьютера между удаленными пользователями, подключенными к сети. Для поддержания функций передачи сообщений сетевые ОС содержат специальные программные компоненты, реализующие популярные коммуникационные протоколы, такие как IP, IPX, Ethernet и другие.
Многопроцессорные системы требуют от операционной системы особой организации, с помощью которой сама операционная система, а также поддерживаемые ею приложения могли бы выполняться параллельно отдельными процессорами системы. Параллельная работа отдельных частей ОС создает дополнительные проблемы для разработчиков ОС, так как в этом случае гораздо сложнее обеспечить согласованный доступ отдельных процессов к общим системным таблицам, исключить эффект гонок и прочие нежелательные последствия асинхронного выполнения работ.
Другие требования предъявляются к операционным системам кластеров. Кластер — слабо связанная совокупность нескольких вычислительных систем, работающих совместно для выполнения общих приложений, и представляющихся пользователю единой системой. Наряду со специальной аппаратурой для функционирования кластерных систем необходима и программная поддержка со стороны операционной системы, которая сводится в основном к синхронизации доступа к разделяемым ресурсам, обнаружению отказов и динамической реконфигурации системы. Одной из первых разработок в области кластерных технологий были решения компании Digital Equipment на базе компьютеров VAX. Недавно этой компанией заключено соглашение с корпорацией Microsoft о разработке кластерной технологии, использующей Windows NT. Несколько компаний предлагают кластеры на основе UNIX-машин.
Наряду с ОС, ориентированными на совершенно определенный тип аппаратной платформы, существуют операционные системы, специально разработанные таким образом, чтобы они могли быть легко перенесены с компьютера одного типа на компьютер другого типа, так называемые мобильные ОС. Наиболее ярким примером такой ОС является популярная система UNIX. В этих системах аппаратно-зависимые места тщательно локализованы, так что при переносе системы на новую платформу переписываются только они. Средством, облегчающем перенос остальной части ОС, является написание ее на машинно-независимом языке, например, на С, который и был разработан для программирования операционных систем.
Особенности областей использования
Многозадачные ОС подразделяются на три типа в соответствии с использованными при их разработке критериями эффективности:
-
системы пакетной обработки (например, OC EC),
-
системы разделения времени (UNIX, VMS),
-
системы реального времени (QNX, RT/11).
Системы пакетной обработки предназначались для решения задач в основном вычислительного характера, не требующих быстрого получения результатов. Главной целью и критерием эффективности систем пакетной обработки является максимальная пропускная способность, то есть решение максимального числа задач в единицу времени. Для достижения этой цели в системах пакетной обработки используются следующая схема функционирования: в начале работы формируется пакет заданий, каждое задание содержит требование к системным ресурсам; из этого пакета заданий формируется мультипрограммная смесь, то есть множество одновременно выполняемых задач. Для одновременного выполнения выбираются задачи, предъявляющие отличающиеся требования к ресурсам, так, чтобы обеспечивалась сбалансированная загрузка всех устройств вычислительной машины; так, например, в мультипрограммной смеси желательно одновременное присутствие вычислительных задач и задач с интенсивным вводом-выводом. Таким образом, выбор нового задания из пакета заданий зависит от внутренней ситуации, складывающейся в системе, то есть выбирается «выгодное» задание. Следовательно, в таких ОС невозможно гарантировать выполнение того или иного задания в течение определенного периода времени. В системах пакетной обработки переключение процессора с выполнения одной задачи на выполнение другой происходит только в случае, если активная задача сама отказывается от процессора, например, из-за необходимости выполнить операцию ввода-вывода. Поэтому одна задача может надолго занять процессор, что делает невозможным выполнение интерактивных задач. Таким образом, взаимодействие пользователя с вычислительной машиной, на которой установлена система пакетной обработки, сводится к тому, что он приносит задание, отдает его диспетчеру-оператору, а в конце дня после выполнения всего пакета заданий получает результат. Очевидно, что такой порядок снижает эффективность работы пользователя.
Системы разделения времени призваны исправить основной недостаток систем пакетной обработки — изоляцию пользователя-программиста от процесса выполнения его задач. Каждому пользователю системы разделения времени предоставляется терминал, с которого он может вести диалог со своей программой. Так как в системах разделения времени каждой задаче выделяется только квант процессорного времени, ни одна задача не занимает процессор надолго, и время ответа оказывается приемлемым. Если квант выбран достаточно небольшим, то у всех пользователей, одновременно работающих на одной и той же машине, складывается впечатление, что каждый из них единолично использует машину. Ясно, что системы разделения времени обладают меньшей пропускной способностью, чем системы пакетной обработки, так как на выполнение принимается каждая запущенная пользователем задача, а не та, которая «выгодна» системе, и, кроме того, имеются накладные расходы вычислительной мощности на более частое переключение процессора с задачи на задачу. Критерием эффективности систем разделения времени является не максимальная пропускная способность, а удобство и эффективность работы пользователя.
Системы реального времени применяются для управления различными техническими объектами, такими, например, как станок, спутник, научная экспериментальная установка или технологическими процессами, такими, как гальваническая линия, доменный процесс и т.п. Во всех этих случаях существует предельно допустимое время, в течение которого должна быть выполнена та или иная программа, управляющая объектом, в противном случае может произойти авария: спутник выйдет из зоны видимости, экспериментальные данные, поступающие с датчиков, будут потеряны, толщина гальванического покрытия не будет соответствовать норме. Таким образом, критерием эффективности для систем реального времени является их способность выдерживать заранее заданные интервалы времени между запуском программы и получением результата (управляющего воздействия). Это время называется временем реакции системы, а соответствующее свойство системы — реактивностью. Для этих систем мультипрограммная смесь представляет собой фиксированный набор заранее разработанных программ, а выбор программы на выполнение осуществляется исходя из текущего состояния объекта или в соответствии с расписанием плановых работ.
Некоторые операционные системы могут совмещать в себе свойства систем разных типов, например, часть задач может выполняться в режиме пакетной обработки, а часть — в режиме реального времени или в режиме разделения времени. В таких случаях режим пакетной обработки часто называют фоновым режимом.
Особенности методов построения
При описании операционной системы часто указываются особенности ее структурной организации и основные концепции, положенные в ее основу.
К таким базовым концепциям относятся:
-
Способы построения ядра системы — монолитное ядро или микроядерный подход. Большинство ОС использует монолитное ядро, которое компонуется как одна программа, работающая в привилегированном режиме и использующая быстрые переходы с одной процедуры на другую, не требующие переключения из привилегированного режима в пользовательский и наоборот. Альтернативой является построение ОС на базе микроядра, работающего также в привилегированном режиме и выполняющего только минимум функций по управлению аппаратурой, в то время как функции ОС более высокого уровня выполняют специализированные компоненты ОС — серверы, работающие в пользовательском режиме. При таком построении ОС работает более медленно, так как часто выполняются переходы между привилегированным режимом и пользовательским, зато система получается более гибкой — ее функции можно наращивать, модифицировать или сужать, добавляя, модифицируя или исключая серверы пользовательского режима. Кроме того, серверы хорошо защищены друг от друга, как и любые пользовательские процессы.
-
Построение ОС на базе объектно-ориентированного подхода дает возможность использовать все его достоинства, хорошо зарекомендовавшие себя на уровне приложений, внутри операционной системы, а именно: аккумуляцию удачных решений в форме стандартных объектов, возможность создания новых объектов на базе имеющихся с помощью механизма наследования, хорошую защиту данных за счет их инкапсуляции во внутренние структуры объекта, что делает данные недоступными для несанкционированного использования извне, структуризованность системы, состоящей из набора хорошо определенных объектов.
-
Наличие нескольких прикладных сред дает возможность в рамках одной ОС одновременно выполнять приложения, разработанные для нескольких ОС. Многие современные операционные системы поддерживают одновременно прикладные среды MS-DOS, Windows, UNIX (POSIX), OS/2 или хотя бы некоторого подмножества из этого популярного набора. Концепция множественных прикладных сред наиболее просто реализуется в ОС на базе микроядра, над которым работают различные серверы, часть которых реализуют прикладную среду той или иной операционной системы.
-
Распределенная организация операционной системы позволяет упростить работу пользователей и программистов в сетевых средах. В распределенной ОС реализованы механизмы, которые дают возможность пользователю представлять и воспринимать сеть в виде традиционного однопроцессорного компьютера. Характерными признаками распределенной организации ОС являются: наличие единой справочной службы разделяемых ресурсов, единой службы времени, использование механизма вызова удаленных процедур (RPC) для прозрачного распределения программных процедур по машинам, многонитевой обработки, позволяющей распараллеливать вычисления в рамках одной задачи и выполнять эту задачу сразу на нескольких компьютерах сети, а также наличие других распределенных служб.
Разделение времени и многозадачность
Уже пакетный режим в своём развитом варианте требует разделения процессорного времени между выполнением нескольких программ.
Необходимость в разделении времени (многозадачности, мультипрограммировании) проявилась ещё сильнее при распространении в качестве устройств ввода-вывода телетайпов (а позднее, терминалов с электронно-лучевыми дисплеями) (1960-е годы). Поскольку скорость клавиатурного ввода (и даже чтения с экрана) данных оператором много ниже, чем скорость обработки этих данных компьютером, использование компьютера в «монопольном» режиме (с одним оператором) могло привести к простою дорогостоящих вычислительных ресурсов.
Разделение времени позволило создать «многопользовательские» системы, в которых один (как правило) центральный процессор и блок оперативной памяти соединялся с многочисленными терминалами. При этом часть задач (таких, как ввод или редактирование данных оператором) могла исполняться в режиме диалога, а другие задачи (такие, как массивные вычисления) — в пакетном режиме.
Многозадачность
Многозада́чность (англ. multitasking) — свойство операционной системы или среды программирования, обеспечивать возможность параллельной (или псевдопараллельной) обработки нескольких процессов. Истинная многозадачность операционной системы возможна только в распределенных вычислительных системах.
Свойства многозадачной среды
Примитивные многозадачные среды обеспечивают чистое «разделение ресурсов», когда за каждой задачей закрепляется определённый участок памяти, и задача активизируется в строго определённые интервалы времени.
Более развитые многозадачные системы проводят распределение ресурсов динамически, когда задача стартует в памяти или покидает память в зависимости от её приоритета и от стратегии системы. Такая многозадачная среда обладает следующими особенностями:
-
Каждая задача имеет свой приоритет, в соответствии с которым получает время и память
-
Система организует очереди задач так, чтобы все задачи получили ресурсы, в зависимости от приоритетов и стратегии системы
-
Cистема организует обработку прерываний, по которым задачи могут активироваться, деактивироваться и удаляться
-
По окончании положенного кванта времени задача может временно выбрасываться из памяти, отдавая ресурсы другим задачам, а потом через определённое системой время, восстанавливаться в памяти (свопинг)
-
Система обеспечивает защиту памяти от несанкционированного вмешательства других задач
-
Система распознаёт сбои и зависания отдельных задач и прекращает их
-
Система решает конфликты доступа к ресурсам и устройствам, не допуская тупиковых ситуаций общего зависания от ожидания заблокированных ресурсов
-
Система гарантирует каждой задаче, что рано или поздно она будет активирована
-
Система обрабатывает запросы реального времени
-
Система обеспечивает коммуникацию между процессами
Трудности реализации многозадачной среды
Основной трудностью реализации многозадачной среды является её надёжность, выраженная в защите памяти, обработке сбоев и прерываний, предохранении от зависаний и тупиковых ситуаций.
Кроме надёжности, многозадачная среда должна быть эффективной. Затраты ресурсов на её поддержание не должны: мешать процессам проходить, замедлять их работу, резко ограничивать память.
История многозадачных операционных систем
Поначалу реализация многозадачных операционных систем представляла собой серьёзную техническую трудность, отчего внедрение многозадачных систем затягивалось, а пользователи долгое время после внедрения предпочитали однозадачные.
В дальнейшем, после появления нескольких удачных решений, многозадачные среды стали совершенствоваться, и в настоящее время употребляются повсеместно.
Одной из первых многозадачных систем была OS/360 (1966[1]), используемая для компьютеров фирмы IBM и их советских аналогов ЕС ЭВМ. Разработки системы были сильно затянуты, и на начальное время фирма IBM выдвинула однозадачный DOS, чтобы удовлетворить заказчиков до полной сдачи OS/360 в эксплуатацию. Система подвергалась критике по причине малой надёжности и трудности эксплуатации.
В 1969 году появилась система UNIX с первым достаточно аккуратным алгоритмическим решением проблемы многозадачности. В настоящее время на базе UNIX созданы десятки операционных систем.
На компьютерах PDP-11 и их советских аналогах СМ-4 использовалась многозадачная система RSX-11 (советский аналог ОС РВ), и система распределения времени TSX-PLUS, обеспечивающая ограниченные возможности многозадачности и многопользовательский режим разделения времени, эмулируя для каждого пользователя однозадачную RT-11 (советский аналог РАФОС). Последнее решение было весьма популярно из-за низкой эффективности и надёжности полноценной многозадачной системы.
Аккуратным решением оказалась операционная система VMS, разработанная первоначально для компьютеров VAX (советский аналог — СМ-1700) как развитие RSX-11.
Первый в мире мультимедийный персональный компьютер Amiga 1000 (1984 г.) изначально проектировался с расчётом на полную аппаратную поддержку вытесняющей многозадачности реального времени в ОС AmigaOS. В данном случае разработка аппаратной и программной части велась параллельно, это привело к тому, что по показателю квантования шедулера многозадачности (1/50 секунды на переключение контекста) AmigaOS долгое время оставалась непревзойдённой на персональных компьютерах.
Многозадачность обеспечивала также фирма Microsoft в операционных системах Windows. При этом Microsoft выбрала две линии разработок — на базе приобретённой ей Windows 0.9 [источник?] 3(которая после долгой доработки системы изначально обладавшей кооперативной многозадачностью аналогичной Mac OS, вылилась в линейку Windows, и на основе идей заложенных в VMS, которые привели к созданию операционных систем Windows NT. Использование опыта VMS обеспечило системам существенно более высокую производительность и надёжность. По времени переключения контекста многозадачности (квантование) только эти операционные системы могут быть сравнимы с AmigaOS и UNIX (а также его потомками, такими, как ядро Linux).
Типы псевдопараллельной многозадачности
Невытесняющая многозадачность
Тип многозадачности, при котором операционная система одновременно загружает в память два или более приложений, но процессорное время предоставляется только основному приложению. Для выполнения фонового приложения оно должно быть активизировано.
Cовместная или кооперативная многозадачность
Тип многозадачности, при котором фоновые задачи выполняются только во время простоя основного процесса и только в том случае, если на это получено разрешение основного процесса.
Кооперативную многозадачность можно назвать многозадачностью “второй ступени” поскольку она использует более передовые методы, чем простое переключение задач, реализованное многими известными программами (например, МS-DOS shell из МS-DOS 5.0 при простом переключении активная программа получает все процессорное время, а фоновые приложения полностью замораживаются. При кооперативной многозадачности приложение может захватить фактически столько процессорного времени, сколько оно считает нужным. Все приложения делят процессорное время, периодически передавая управление следующей задаче.Вытесняющая или приоритетная многозадачность (режим реального времени)
Вид многозадачности, в котором операционная система сама передает управление от одной выполняемой программы другой. Распределение процессорного времени осуществляется планировщиком процессов. К тому же каждой задаче может быть назначен пользователем или самой операционной системой определенный приоритет, что обеспечивает гибкое управление распределением процессорного времени между задачами (например, можно снизить приоритет ресурсоемкой программы, снизив тем самым скорость ее работы, но повысив производительность фоновых процессов). Этот вид многозадачности обеспечивает более быстрый отклик на действия пользователя.
Список используемой литературы
-
http://www.ibm.com/developerworks/ru/library
-
http://ru.wikipedia.org/wiki/%D0%9C%D0%BD%D0%BE%D0%B3%D0%BE%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%BD%D0%BE%D1%81%D1%82%D1%8C
-
http://www.ibm.com/developerworks/ru/library/l-scsi-subsystem/
-
http://www.ibm.com/developerworks/ru/library/l-linux-slab-allocator
Смотрите также:
Режимы работы ос. Режим разделения времени
187.99kb.
1 стр.
Растровое изображение
33.88kb.
1 стр.
Пояснительная записка Организация режима пребывания детей в образовательном учреждении Режим дня на холодный период времени
2964.43kb.
15 стр.
Все компьютерные изображения разделяют на два типа
137.76kb.
1 стр.
Режим работы в праздничные дни Режим работы балтинвестбанка в праздничные дни: в выходные и праздничные дни
48.81kb.
1 стр.
Е. Н. Чернис, В. П. Лебедев oc linux и режим реального времени
392.78kb.
3 стр.
Демократический режим Испании Демократический режим
53.81kb.
1 стр.
Практическая работа по экономической географии на тему основные этапы формирования политической карты мира
436.01kb.
2 стр.
Режим рабочего времени: что нужно знать работодателю
304.16kb.
1 стр.
Режим рабочего времени. Время отдыха Осуществление пропускного режима
201.05kb.
1 стр.
Фармацевтическая технология промышленного производства. Вариант №60 Вопросы
107.75kb.
1 стр.
Времени на работы и услуги, выполняемые государственными архивами
5466.41kb.
10 стр.