Invest-currency.ru

Как обезопасить себя в кризис?
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Unix система с разделением времени

Режим разделения времени и особенности ОС с режимом разделения времени

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

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

Откачка и подкачка (swapping) —загрузка заданий с диска в память и их выгрузка из памяти на диск. В системе с разделением времени возможна ситуация, когда какое-либо задание, управляемое с терминала, неактивно (например, выполняет ввод-вывод, либо система ожидает ответа от пользователя, у которого в данный момент перерыв в работе). В этом случае ОС может принять решение о временной выгрузке (swap out)образа памяти задания из оперативной памяти на диск, с целью освобождения памяти для других заданий. При повторной активизации задания оно (при возможности) вновь загружается в память ( swapped in ). Подобная стратегия называется откачкой и подкачкой.

Поддержка диалогового взаимодействия между пользователем и системой. Когда ОС завершает исполнение пользовательской команды, она выполняет поиск следующего управляющего оператора (control statement),введенного с пользовательской клавиатуры.

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

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

Режим разделения времени, наряду с пакетным режимом, был основным в операционных системах 1960-х – 1970х- гг.

Ключевые термины

FIFO (First-In-First-Out)– режим обслуживания некоторой очереди (например, очереди введенных заданий) в порядке их поступления.

UNIX —первая мобильная ОСдля миникомпьютеров, разработанная в 1970 г. Б. Керниганом и Д. Ритчи на новом языке программирования Си.

Буферизация вывода (spooling)– хранение для каждого задания буфера его вывода (в виде области памяти или файла), накопление в буфере выводимой заданием информации и ее вывод полностью на устройство (принтер) при завершении задания.

ДИСПАК– отечественная операционная система для ЭВМ БЭСМ-6.

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

Единая система ЭВМ (ЕС ЭВМ) –семейство отечественных mainframe-компьютеров 1970-х – 1980-х годов, разработанных путем копирования американских компьютеров серии IBM 360.

Задание (job) –пользовательская программа, введенная в систему с внешнего носителя или с терминала.

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

Монитор– упрощенный вариант операционной системы; программа, осуществляющая поочередную обработку пользовательских заданий, с последовательной передачей управления от задания к заданию, по мере их завершения.

Мультипрограммирование (multi-programming)– одновременная обработка операционной системой нескольких пользовательских заданий.

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

Откачка и подкачка заданий (swapping)загрузка задания с диска в оперативную память при его активизации и его выгрузка из памяти на диск при неактивности задания; выполняется в режиме разделения времени.

Пакетная обработка (batch mode)– обработка пакета заданий, введенных пользователями, с учетом их приоритетов и требуемых ими ресурсов.

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

Разделение времени (time sharing)поддержка операционной системой одновременной работы в системе нескольких пользователей с терминалов, управление прохождением своих заданий, выполнение их ввода, редактирования, компиляции, выполнения, отладки, визуализации результатов.

Распределения памяти для пользовательских заданий– выделение памяти операционной системой для загружаемого пользовательского задания и ее освобождение после завершения каждого задания.

Резидентная программапрограмма, постоянно находящаяся в оперативной памяти по фиксированным адресам.

Система мини-ЭВМ (СМ ЭВМ) —семейство отечественных миникомпьютеров 1970-х – 1980-х годов, разработанных путем копирования американских компьютеров серии PDP 10 – PDP 11.

Тег –числовой код типа данных, хранящихся в рассматриваемом слове памяти, по которому аппаратура контролирует правильность выполнения операции над данными.

Управление процессами– параллельное (или поочередное — на однопроцессорном компьютере) выполнение пользовательских процессов; возможность явного запуска параллельных процессов, управления ими и их синхронизации.

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

«Эльбрус»— семейство отечественных многопроцессорных суперкомпьютеров (Эльбрус-1, Эльбрус-2) 1970-х – 1980-х годов, архитектура которого основана на использовании тегов, принципах динамизма и аппаратной поддержке механизмов реализации языков высокого уровня; в операционной системе впервые был реализован аналог многопоточных вычислений (multi-threading), а также были поддержаны виртуальная память,пакетный режим, режим разделения времени, динамическое выделение памяти по запросу, динамическая линковка и загрузка выполняемых программ при первом вызове.

Краткие итоги

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

В 1960-х гг. были разработаны диспетчеры – упрощенные варианты ОС, осуществлявшие поочередный пропуск пользовательских заданий.

Для классических ОС 1960-х – 1970-х гг. (ATLAS, MULTICS, OS IBM 360) были характерны поддержка мультипрограммирования, пакетного режима, режима разделения времени, управление процессами.

Первой мобильной ОС, использованной на нескольких аппаратных платформах, стала система UNIX, первая версия которой разработана в 1970 г.

Первые ОС для персональных компьютеров (1980-е гг.) – CP/M (для 8-разрядных процессоров) и MS-DOS (для 16-разрядных процессоров).

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

С начала 1990-х гг. до настоящего времени имеет место эволюция Windows от графической оболочки к MS-DOS до наиболее популярной ОС для настольных и портативных компьютеров (Windows 7, Windows 2008 и др.). Также популярна ОС Linux (как серверная ОС).

Наиболее распространены в мире операционные системы для мобильных устройств, ввиду широкой распространенности последних. Это прежде всего ОС Symbian. Windows в этом отношении на втором месте.

Наиболее распространенные диалекты ОС UNIX: Berkeley Software Distribution (BSD), в настоящее время – FreeBSD (University of Berkeley); System V Release 4 (SVR4) – фирмы AT&T; Linux (RedHat, SuSE, Mandrake, Caldera, Debian, Fedora и другие диалекты); Solaris (Oracle / Sun); IRIX (Silicon Graphics); HP-UX (Hewlett-Packard); Digital UNIX (Digital / Compaq).

Из отечественных ОС следует отметить ОС ДИСПАК для БЭСМ-6 и ОС «Эльбрус» для МВК «Эльбрус», отличавшиеся оригинальными идеями и методами.

В 1970-х гг. в СССР было принято правительственное решение о копировании зарубежных компьютеров серии IBM 360, а затем – миникомпьютеров серий PDP-10 и PDP-11, которое на долгие годы предопределило развитие отечественной вычислительной техники и на 15-20 лет продлило срок использования их операционных систем.

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

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

Вопросы и задания для самопроверки:

1. Каким образом происходило обращение к памяти и к внешним устройствам для ранних моделей компьютеров, при отсутствии операционных систем?

2. Назовите классические операционные системы 1960-х – 1970-х гг., зарубежные и отечественные.

3. Каковы основная цель и идея разработки ОС UNIX?

4. Назовите операционные системы для 8-разрядных, 16-разрядных и современных персональных компьютеров.

5. Какая операционная система является наиболее распространенной в мире?

6. Назовите известные Вам диалекты ОС UNIX.

Читать еще:  Оболочка системы unix

7. Каковы основные возможности отечественной ОС ДИСПАК и для каких компьютеров она была разработана?

8. Какие оригинальные идеи были положены в основу системы «Эльбрус» и ее операционной системы?

9. Какие зарубежные серии компьютеров были скопированы в СССР в 1970-е гг. и под какими названиями? В чем, по-Вашему, состояли плюсы и минусы подобного подхода к развитию вычислительной техники?

10. Каковы особенности однозадачных ОС для mainframe-компьютеров с поддержкой пакетного режима?

11. Что такое монитор?

12. Как распределялась память в однозадачных ОС?

13. Что такое режим мультипрограммирования?

14. Как распределяется память в ОС с поддержкой мультипрограммирования?

15. Какие функции выполняла ОС с пакетной обработкой заданий и поддержкой мультипрограммирования?

16. Что такое режим разделения времени и каковы особенности ОС, поддерживающих этот режим?

17. Что такое откачка и подкачка заданий?

18. Какие возможности предоставлялись пользователю операционной системой для управления его заданием в режиме разделения времени?

Unix система с разделением времени

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

  • основная цель системы — это выполнять широкий спектр заданий и программ;
  • интерактивное окружение, которое позволяет вам связываться напрямую с компьютером и получать немедленно ответы на ваши запросы и сообщения;
  • многопользовательское окружение, которое позволяет вам разделять ресурсы компьютера с другими пользователями без уменьшения производительности. Этот метод называется разделением времени. Система UNIX взаимодействует с пользователями поочередно, но так быстро, что кажется, что взаимодействует со всеми пользователями одновременно;
  • многозадачное окружение, которое позволяет вам выполнять более одного задания в одно и тоже время.

Система UNIX имеет 4 основных компонента:

ядро — это программа, которая образует ядро операционной системы; она координирует внутренние функции компьютера ( такие как размещение системных ресурсов). Ядро работает невидимо для вас; shell — это программа, которая осуществляет связь между вами и ядром, интерпретируя и выполняя ваши команды. Так как она читает ваш ввод и посылает вам сообщения, то описывается как интерактивная; commands — это имена программ, которые компьютер должен выполнить. Пакеты программ называются инструментальными средствами. Система UNIX обеспечивает инструментальными средствами для таких заданий как создание и изменение текста, написание программ, развитие инструментария программного обеспечения, обмен информацией с другими посредством компьютера; file systemфайловая система — это набор всех файлов, возможных для вашего компьютера. Она помогает вам легко сохранять и отыскивать информацию.

Ядро контролирует доступ к компьютеру, управляет памятью компьютера, обслуживает файловую систему и распределяет ресурсы компьютера среди пользователей. На рис. 1 приведено функциональное представление ядра.

Shell

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

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

Этот раздел знакомит вас со многими программами и инструментальными средствами системы UNIX, которые вы будете использовать достаточно часто.

Внешний круг системы UNIX образуют программы и инструментальные средства системы, разделенные на категории функционально. Эти функции включают:

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

Как выполнять команды

Чтобы ваш запрос был понятен системе UNIX вы должны ввести каждую команду в корректном формате или синтаксисе командной строки. Этот синтаксис определяет порядок, в котором вы вводите компоненты командной строки. И вы должны расположить все составные части командной строки в требуемом синтаксисом порядке, иначе shell не сможет интерпретировать ваш запрос.

Пример синтаксиса командной строки:

Для каждой командной строки системы UNIX вы должны ввести как минимум два компонента: имя команды и клавишу . (Обозначение используется в документации как инструкция для нажатия клавиши RETURN). Командная строка может также содержать ключи и аргументы. В указанном примере синтаксиса командной строки:
&nbsp command — это имя программы, которую вы хотите выполнить;
&nbspoption — ключи, которые указывают как запустить команду;
&nbspargument — указывает на данные, которые эта команда обрабатывает, обычно это имя каталога или файла.

Файловая система

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

Файл, который является основной единицей системы UNIX , может быть: обыкновенным файлом, справочником, специальным файлом или символическим каналом связи .

Обыкновенные файлы

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

Справочники

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

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

Система UNIX также содержит несколько справочников для собственного использования. Структура этих справочников аналогична во всех системах UNIX . Этот справочник, включающий в себя несколько системных справочников, размещается непосредственно под справочником root. Справочник root (обозначенный /) является исходным в файловой структуре UNIX . Все справочники и файлы иерархически располагаются ниже.

Специальные файлы

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

Расположение системы

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

Для системы UNIX все файлы одинаковы. Это делает файловую структуру UNIX легкой в использовании. Например, вам нет необходимости указывать требования к памяти для ваших файлов, т.к. система автоматически это сделает для вас. Или если вам или написанной вами программе необходим доступ к определенному устройству (например, принтеру) вы указываете устройство также как любой из ваших файлов. В системе UNIX существует только один интерейс для всего вашего ввода и вывода для вас; это упрощает ваше взаимодействие с системой.

Справочник root содержит несколько важных системных справочников:

/stand — содержит загрузочные программы и файлы данных, используемые в процессе загрузки; /sbin — содержит основные исполняемые программы, используемые в процессе загрузки и при восстановлении системы; /dev — содержит специальные файлы, которые представляют периферийные устройства (например, консоль, построчно-печатное устройство, терминалы пользователя и диски); /etc — содержит машинно-зависимые файлы конфигурации и базы данных организации системы; /home — корневой справочник поддерева для справочника пользователя; /tmp — содержит временные файлы; /var — корневой справочник поддерева для изменяющихся файлов (например, файлы log); /usr — содержит другие справочники, включая lib и bin.

Читать еще:  Unix time c

Unix система с разделением времени

Особенности областей использования операционных систем

Многозадачные ОС подразделяются на три типа в соответствии с использованными при их разработке критериями эффективности:

2.1 Системы пакетной обработки

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

2.2 Системы разделения времени

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

2.3 Системы реального времени

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

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


Рис. 2.1. Блок-схема форм эксплуатации ЭВМ

Мультипрограммирование — если несколько программ-пользователей одновременно находятся в системе, то выполнение одной из них может быть прервано для перехода к выполнению другой программы пользователя с последующим возвратом к прерванной программе.
На рисунке 2.2 представлен мультипрограммный режим

Рис.2.2. Мультипрограммный режим

*Системы 2. и 3. могут относиться к системам on_line.

» Дистанционная пакетная обработка — пользователь может получить ответ сразу не дожидаясь окончания всего пакета (2.1.).
» Режим запрос-ответ — используется, например, в банковском деле, все пользователи опрашивают один файл (т.е. получают длинный ответ на короткий вопрос)(2.2.).
» Диалоговый режим — предоставляет повышенный комфорт пользователю с точки зрения решения и отладки задач.
» Универсальный режим — многопользовательский вариант (2.4.).
» Режим реального времени — вычислительная система, в которой время ответа ограничено внешними условиями (3.1.).
» Коллективный доступ — это одновременное обслуживание нескольких пользователей (система разделения времени — СРВ)(2.1., 2.4.).
» Многоканальный доступ — обслуживание удаленных пользователей.
» Прямой доступ — обслуживание без ожидания.
» Интерактивные системы — системы допускающие множественный доступ и режим взаимодействия: пользователь — компьютер.(2.2., 2.3., 2.4.).
» Мультидоступ — одновременный доступ нескольких независимых пользователей к ресурсам вычислительной системы (ВС).
На рисунке 2.3 представлены средства, обеспечивающие автоматизацию решения задачи.

Рис. 2.3. Средства, обеспечивающие автоматизацию решения задачи

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

На рисунке 2.4 представлены ресурсы вычислительной системы и программное обеспечение.

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


Рис.2.4. Ресурсы вычислительной системы и программное обеспечение

Задание — это максимальная единица работы для системы. Задания являются независимыми и выполняются параллельно.

Задачи — это объединение программ и данных, требующее ресурса системы для исполнения.

История ОС. Отечественные ОС. Диалекты UNIX. Режимы пакетной обработки, мультипрограммирования, разделения времени

ОС пакетной обработки с поддержкой мультипрограммирования

Более развитые операционные системы поддерживают режим мультипрограммирования – одновременной обработки и размещении в памяти сразу нескольких пользовательских заданий. Распределение памяти в такой системе изображено на рис. 2.2.

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

Особенности ОС с поддержкой мультипрограммирования следующие.

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

Управление памятью. Поскольку заданий в памяти может быть несколько, причем число и размеры их областей могут меняться, перед операционной системой возникает задача распределения памяти для пользовательских заданий – выделения памяти для загружаемого пользовательского задания и ее освобождения после завершения каждого задания. При решении этой классической задачи возникает целый ряд проблем: хранение списков свободной и занятой памяти, реализация оптимального алгоритма поиска и выделения свободной области памяти, реализация освобождения памяти, фрагментация — дробление свободной памяти на мелкие участки, вследствие неточного совпадения размеров свободных и требуемых участков памяти и др. Все эти проблемы и общепринятые алгоритмы их решения подробно описаны в классической монографии Д. Кнута [ 15 ] и будут рассмотрены подробно в курсе.

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

Читать еще:  Эмулятор денди linux

Управление внешними устройствами и буферизация ввода-вывода. В однозадачном режиме загруженная в память пользовательская программа для вывода на печать могла выполнить специальную машинную команду, которая выводила на устройство печати очередную строчку, что не вызывало проблем и не приводило к какой-либо путанице, вследствие монопольности «владения» компьютером очередным заданием. Однако в мультипрограммном режиме ситуация иная. Если сохранить тот же режим вывода на печать , то на печатающее устройство могут быть выведены фрагменты, принадлежащие разным заданиям, что недопустимо. Для группировки и отделения выводимой информации различных заданий друг от друга в мультипрограммной ОС используется буферизация вывода (spooling) – хранение для каждого задания буфера его вывода (в виде области памяти или файла), накопление в буфере выводимой заданием информации и ее вывод полностью на устройство (принтер) при завершении задания.

Режим разделения времени и особенности ОС с режимом разделения времени

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

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

Откачка и подкачка (swapping) — загрузка заданий с диска в память и их выгрузка из памяти на диск . В системе с разделением времени возможна ситуация, когда какое-либо задание, управляемое с терминала, неактивно (например, выполняет ввод- вывод , либо система ожидает ответа от пользователя, у которого в данный момент перерыв в работе). В этом случае ОС может принять решение о временной выгрузке (swap out) образа памяти задания из оперативной памяти на диск , с целью освобождения памяти для других заданий. При повторной активизации задания оно (при возможности) вновь загружается в память ( swapped in ). Подобная стратегия называется откачкой и подкачкой.

Поддержка диалогового взаимодействия между пользователем и системой. Когда ОС завершает исполнение пользовательской команды, она выполняет поиск следующего управляющего оператора (control statement),введенного с пользовательской клавиатуры.

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

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

Режим разделения времени , наряду с пакетным режимом, был основным в операционных системах 1960-х – 1970х- гг.

Есть ли разница между многозадачностью и разделением времени?

Просто просматривая школьные заметки, мой учитель идентифицирует многозадачную ОС и разделяющую время ОС как две разные вещи.
На самом деле я не вижу разницы между ними.
МНОГОФУНКЦИОНАЛЬНЫЕ ЗАДАЧИ : вы загружаете несколько программ в память и выполняете их. Вы выполняете другую программу, если временной интервал, выделенный текущей программе, истекает ИЛИ, если он продолжает выполнять ввод-вывод и покидает ЦП ИЛИ, если он заканчивает выполнение.
ВРЕМЯ-ОБМЕН : то же самое , опять-таки.
То же самое относится к последовательной обработке и пакетной обработке . Хотя они одинаковы, я думаю, единственное отличие будет в том, как управляющая информация передается в ЦП. Возможно, и снова МОЖЕТ, при последовательной обработке вам необходимо предоставить перфокарты со всеми процессами, пока в пакете, весь пакет использует один и тот же набор управляющей информации.
Как и у всех заданий на печать, будет одна и та же управляющая информация.

5 ответов

Совместное использование времени и пакетная обработка подразумевают, что я обслуживаю нескольких пользователей. (И более устарели. Похоже, говорят о 70-х или 80-х годов)

Многозадачность и последовательная обработка не имеют такого значения.

Но если кто-то сделает нюанс между ними, я бы ожидал, что он это укажет.

В области вычислений РАЗМЕЩЕНИЕ ВРЕМЕНИ описывается как совместное использование вычислительных ресурсов многими пользователями посредством многопрограммирования и многозадачности. Это позволяет многим пользователям одновременно взаимодействовать с одним компьютером. Есть много систем, подобных этой, уже построенных Stanford PDP-1, Univac, IBM TSO и т. Д.

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

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

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

Под разделением времени подразумевается один поток, который выполняет несколько заданий, как вы определили.

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

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

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

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

Возможно, уже поздно ответить, но это поможет некоторым людям, испытывающим трудности с пониманием предмета.

Each CPU core can execute one process at a time.

С другой стороны,

Time-sharing makes an illusion that more than one process can execute simultaneously, even though there maybe only one physical CPU, single process.

Я не помню, сколько раз я читал два определения, которые знает только АЛЛАХ (s.w.t.)! понять их. Потому что это звучит очень противоречиво. К счастью, последняя книга иллюстрирует это. Я думаю, что это окупается.

Consider the following analogy. Suppose a grocery store has several checkout counters (the processes) but only one checker (the CPU). The checker checks one item from a customer (the instruction) and then does the next item for that same customer. Checking continues until a price check (a resource request) is needed. Instead of waiting for the price check and doing nothing, the checker moves to another checkout counter and checks items from another customer. The checker (CPU) is always busy as long as there are customers (processes) ready to check out. This is multiprogramming. The checker is efficient, but customers probably would not want to shop at such a store because of the long wait when someone has a large order with no price checks (a CPU-bound process). Now suppose that the checker starts a 10-second timer and processes items for one customer for a maximum of 10 seconds (the quantum). If the timer expires, the checker moves to another customer even if no price check is needed. This is timesharing. If the checker is sufficiently fast, the situation is almost equivalent to having one slower checker at each checkout stand. Consider making a video of such a checkout stand and playing it back at 100 times its normal speed. It would look as if the checker were handling several customers simultaneously.

Хотя я до сих пор не могу понять или представить видео-часть примера, я получаю почти.

Ссылка на основную публикацию
ВсеИнструменты 220 Вольт
Adblock
detector
×
×