какие системы являются системами общего назначения
ХАРАКТЕРИСТИКИ ОПЕРАЦИОННЫХ СИСТЕМ
Различают три типа операционных систем (ОС) общего назначения: поддерживающие однопрограммный режим работы и диалоговый способ общения, обеспечивающие пакетную обработку задач в режиме мультипрограммирования и операционные системы разделения времени.
2 Операционные системы общего назначения, обеспечивающие пакетную обработку задач в режиме мультипрограммирования применяются в ВС средней и большой производительности. В RAM ЭВМ одновременно находится несколько системных и пользовательских задач, и когда одна из них обрабатывается процессором, то для остальных осуществляются необходимые обмены с внешним устройством (ВУ).
Эффективность использования ВС при этом во многом зависит от состава пакета задач, подлежащих выполнению, так как могут возникать ситуации, когда все задачи находятся в состоянии ожидания и процессор простаивает ( в условиях потока отладочных задач, каждая из которых характеризуется многократными обменами и незначительным временем, затрачиваемым собственно на счет). Эффективность работы пользователя при этом невысокая, так как в условиях пакетной обработки задач он не имеет возможности вмешиваться в процесс выполнения своей программы.
Рассмотрим основные функции ОС общего назначения, обеспечивающей мультипрограммный режим обработки задач.
Операционная система должна выполнять рациональное планирование работ по обработке всех поступающих задач (комплекс мероприятий по вводу задач в ЭВМ, распознаванию их характеристик, размещению всех входных наборов данных на внешних носителях, организации входных и выходных очередей).
Как правило, задачи из входного потока данных, прочитанного одним из внешних устройств (ВУ), не сразу попадают в RAM ЭВМ, а размещаются на устройствах внешней памяти. В режимах пакетной обработки задачи выстраиваются в очередь (входную очередь), место задачи в очереди определяется ее приоритетом. Перенос задачи из очереди в RAM ЭВМ происходит автоматически.
При реализации комплекса мероприятий, выполняемого ОС непосредственно перед началом решения задачи, главное внимание уделяется предоставлению всех необходимых для решения задачи ресурсов ВС (области RAM, места на диске, требующихся наборов данных и т.п.)
Операционные системы общего назначения
4. Универсальные операционные системы и ОС специального назначения.
Операционные системы общего назначения
Операционные системы специального назначения
К таким системам относят ОС, предназначенные для решения задач реального времени, для организации работы вычислительных сетей, и. некоторые другие.
1. Операционные системы реального времени. Операционные системы реального времени отличаются от ОС общего назначения в первую очередь тем, что поступающая в систему информация обязательно должна быть обработана в течение заданных интервалов времени (эти интервалы времени нельзя превышать). Кроме того запросы на обработку могут поступать в непредсказуемые моменты времени. Поэтому такие ОС должны обеспечить некоторые дополнительные возможности, например, создание постоянных задач. При работе в режиме реального времени возможно возникновение очередей запросов на обработку, поэтому ОС должна организовать такие очереди и их обслуживание в соответствии с заданной дисциплиной. При больших нагрузках на ЭВМ возможно возникновение ситуаций, в которых одна или несколько задач не могут быть реализованы в заданный промежуток времени. Поэтому ОС должна иметь возможность динамического изменения приоритетов «аварийных задач», после выполнения которых устанавливаются прежние значения приоритетов.
ХАРАКТЕРИСТИКИ ОПЕРАЦИОННЫХ СИСТЕМ
Различают три типа операционных систем (ОС) общего назначения: поддерживающие однопрограммный режим работы и диалоговый способ общения, обеспечивающие пакетную обработку задач в режиме мультипрограммирования и операционные системы разделения времени.
2 Операционные системы общего назначения, обеспечивающие пакетную обработку задач в режиме мультипрограммирования применяются в ВС средней и большой производительности. В RAM ЭВМ одновременно находится несколько системных и пользовательских задач, и когда одна из них обрабатывается процессором, то для остальных осуществляются необходимые обмены с внешним устройством (ВУ).
Эффективность использования ВС при этом во многом зависит от состава пакета задач, подлежащих выполнению, так как могут возникать ситуации, когда все задачи находятся в состоянии ожидания и процессор простаивает ( в условиях потока отладочных задач, каждая из которых характеризуется многократными обменами и незначительным временем, затрачиваемым собственно на счет). Эффективность работы пользователя при этом невысокая, так как в условиях пакетной обработки задач он не имеет возможности вмешиваться в процесс выполнения своей программы.
Рассмотрим основные функции ОС общего назначения, обеспечивающей мультипрограммный режим обработки задач.
Операционная система должна выполнять рациональное планирование работ по обработке всех поступающих задач (комплекс мероприятий по вводу задач в ЭВМ, распознаванию их характеристик, размещению всех входных наборов данных на внешних носителях, организации входных и выходных очередей).
Как правило, задачи из входного потока данных, прочитанного одним из внешних устройств (ВУ), не сразу попадают в RAM ЭВМ, а размещаются на устройствах внешней памяти. В режимах пакетной обработки задачи выстраиваются в очередь (входную очередь), место задачи в очереди определяется ее приоритетом. Перенос задачи из очереди в RAM ЭВМ происходит автоматически.
При реализации комплекса мероприятий, выполняемого ОС непосредственно перед началом решения задачи, главное внимание уделяется предоставлению всех необходимых для решения задачи ресурсов ВС (области RAM, места на диске, требующихся наборов данных и т.п.)
Какие системы являются системами общего назначения
Программное обеспечение (англ. software) – это совокупность программ, обеспечивающих функционирование компьютеров и решение с их помощью задач предметных областей. Программное обеспечение (ПО) представляет собой неотъемлемую часть компьютерной системы, является логическим продолжением технических средств и определяет сферу применения компьютера.
ПО современных компьютеров включает множество разнообразных программ, которое можно условно разделить на три группы (рис. 3.1):
1. Системное программное обеспечение (системные программы);
2. Прикладное программное обеспечение (прикладные программы);
3. Инструментальное обеспечение (инструментальные системы).
Системное программное обеспечение (СПО) – это программы, управляющие работой компьютера и выполняющие различные вспомогательные функции, например, управление ресурсами компьютера, создание копий информации, проверка работоспособности устройств компьютера, выдача справочной информации о компьютере и др. Они предназначены для всех категорий пользователей, используются для эффективной работы компьютера и пользователя, а также эффективного выполнения прикладных программ.
Центральное место среди системных программ занимают операционные системы (англ. operating systems).
Операционная система (ОС) – это комплекс программ, предназначенных для управления загрузкой, запуском и выполнением других пользовательских программ, а также для планирования и управления вычислительными ресурсами ЭВМ, т.е. управления работой ПЭВМ с момента включения до момента выключения питания. Она загружается автоматически при включении компьютера, ведет диалог с пользователем, осуществляет управление компьютером, его ресурсами (оперативной памятью, дисковым пространством и т.д.), запускает другие программы на выполнение и обеспечивает пользователю и программам удобный способ общения – интерфейс – с устройствами компьютера. Другими словами, операционная система обеспечивает функционирование и взаимосвязь всех компонентов компьютера, а также предоставляет пользователю доступ к его аппаратным возможностям.
ОС определяет производительность системы, степень защиты данных, выбор программ, с которыми можно работать на компьютере, требования к аппаратным средствам. Примерами ОС являются MS DOS, OS/2, Unix, Windows7/8,5/10.
Сервисные системы расширяют возможности ОС по обслуживанию системы, обеспечивают удобство работы пользователя. К этой категории относят системы технического обслуживания, программные оболочки и среды ОС, а также служебные программы.
Системы технического обслуживания – это совокупность программно-аппаратных средств ПК, которые выполняют контроль, тестирование и диагностику и используются для проверки функционирования устройств компьютера и обнаружения неисправностей в процессе работы компьютера. Они являются инструментом специалистов по эксплуатации и ремонту технических средств компьютера.
Для организации более удобного и наглядного интерфейса пользователя с компьютером используются программные оболочки операционных систем – программы, которые позволяют пользователю отличными от предоставляемых ОС средствами (более понятными и эффективными) осуществлять действия по управлению ресурсами компьютера. К числу наиболее популярных оболочек относятся пакеты NortonCommander (Symantec), FAR (FileandArchivemanageR) (Е.Рошаль).
Служебные программы (утилиты, лат. utilitas – польза) – это вспомогательные программы, предоставляющие пользователю ряд дополнительных услуг по реализации часто выполняемых работ или же повышающие удобство и комфортность работы. К ним относятся:
программы-упаковщики (архиваторы), которые позволяют более плотно записывать информацию на дисках, а также объединять копии нескольких файлов в один, так называемый, архивный файл (архив);
антивирусные программы, предназначенные для предотвращения заражения компьютерными вирусами и ликвидации последствий заражения;
программы оптимизации и контроля качества дискового пространства;
программы восстановления информации, форматирования, защиты данных;
программы для записи компакт-дисков;
драйверы – программы, расширяющие возможности операционной системы по управлению устройствами ввода/вывода, оперативной памятью и т.д. При подключении к компьютеру новых устройств необходимо установить соответствующие драйверы;
коммуникационные программы, организующие обмен информацией между компьютерами и др.
Некоторые утилиты входят в состав операционной системы, а некоторые поставляются на рынок как самостоятельные программные продукты, например, многофункциональный пакет сервисных утилит NortonUtilities (Symantec).
Прикладное программное обеспечение(ППО) предназначено для решения задач пользователя. В его состав входятприкладные программы пользователейи пакеты прикладных программ(ППП) различного назначения.
Прикладная программа пользователя – это любая программа, способствующая решению какой-либо задачи в пределах данной проблемной области. Прикладные программы могут использоваться либо автономно, либо в составе программных комплексов или пакетов.
Пакеты прикладных программ (ППП) – это специальным образом организованные программные комплексы, рассчитанные на общее применение в определенной проблемной области и дополненные соответствующей технической документацией. Различают следующие типы ППП:
ППП общего назначения– универсальные программные продукты, предназначенные для автоматизации широкого класса задач пользователя. К ним относятся:
Текстовые редакторы (например, MSWord, WordPerfect, Лексикон);
Табличные процессоры (например, MSExcel, Lotus 1-2-3, QuattroPro);
Системы динамических презентаций (например, MSPowerPoint, Freelance Graphics, HarvardGraphics);
Системы управления базами данных (например, MSAccess, Oracle, MSSQLServer, Informix);
Графические редакторы (например, СorelDraw, AdobePhotoshop);
Издательские системы (например, PageMaker, VenturePublisher);
Системы автоматизации проектирования (например, BPWin, ERWin);
Электронные словари и системы перевода (например, Prompt, Сократ, Лингво, Контекст);
Системы распознавания текста (например, FineReader, CuneiForm).
Системы общего назначения часто интегрируются в многокомпонентные пакеты для автоматизации офисной деятельности – офисные пакеты – MicrosoftOffice, StarOffice и др.
методо-ориентированные ППП, в основе которых лежит реализация математических методов решения задач. К ним относятся, например, системы математической обработки данных (Mathematica, MathCad, Maple), системы статистической обработки данных (Statistica, Stat).;
проблемно-ориентированные ППП предназначены для решения определенной задачи в конкретной предметной области. Например, информационно-правовые системы ЮрЭксперт, ЮрИнформ; пакеты бухгалтерского учета и контроля 1С: Бухгалтерия, Галактика, Анжелика; в области маркетинга –Касатка, MarketingExpert; банковская система СТБанк;
интегрированные ППП представляют собой набор нескольких программных продуктов, объединенных в единый инструмент. Наиболее развитые из них включают в себя текстовый редактор, персональный менеджер (органайзер), электронную таблицу, систему управления базами данных, средства поддержки электронной почты, программу создания презентационной графики. Результаты, полученные отдельными подпрограммами, могут быть объединены в окончательный документ, содержащий табличный, графический и текстовый материал. К ним относят, например, MSWorks. Интегрированные пакеты, как правило, содержат некоторое ядро, обеспечивающее возможность тесного взаимодействия между составляющими.
Обычно пакеты прикладных программ имеют средства настройки, что позволяет при эксплуатации адаптировать их к специфике предметной области.
К инструментальному программному обеспечению относят: системы программирования – для разработки новых программ, например, Паскаль, Бейсик. Обычно они включают: редактор текстов, обеспечивающий создание и редактирование программ на исходном языке программирования (исходных программ),транслятор, а также библиотеки подпрограмм; инструментальные среды для разработки приложений, например, C++, Delphi, VisualBasic, Java, которые включают средства визуального программирования; системы моделирования, например, система имитационного моделирования MatLab, системы моделирования бизнес-процессов BpWin и баз данных ErWin и другие.
Транслятор (англ.translator– переводчик) – это программа-переводчик, которая преобразует программу с языка высокого уровня в программу, состоящую из машинных команд. Трансляторы реализуются в видекомпиляторовилиинтерпретаторов, которые существенно различаются по принципам работы.
Компилятор(англ.compiler– составитель, собиратель) читает всю программуцеликом, делает ее перевод и создает законченный вариант программы на машинном языке, который затем и выполняется. После компилирования получается исполняемая программа, при выполнении которой не нужна ни исходная программа, ни компилятор.
Интерпретатор(англ.interpreter– истолкователь, устный переводчик) переводит и выполняет программустрока за строкой. Программа, обрабатываемая интерпретатором, должна заново переводиться на машинный язык при каждом очередном ее запуске.
Откомпилированные программы работают быстрее, но интерпретируемые проще исправлять и изменять.
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
Разделение времени (Операционные Системы)
Содержание
Операционные системы общего назначения
Различают три типа операционных систем (ОС) общего назначения: поддерживающие однопрограммный режим работы и диалоговый способ общения, обеспечивающие пакетную обработку задач в режиме мультипрограммирования и операционные системы разделения времени.
Разделение времени (Операционные Системы)
Разделе́ние вре́мени (англ. Time-sharing) — способ распределения вычислительных ресурсов между многими пользователями с помощью мультипрограммирования и многозадачности. Появление данной концепции в начале 1960-х годов и активное развитие в 1970-е привело к значительному технологическому прорыву в истории вычислительной техники.
Позволяя многим пользователям одновременно взаимодействовать с одним компьютером, разделение времени значительно снизило цену предоставления вычислительных мощностей, сделав возможным использование компьютера организациями и индивидами без необходимости его покупки. Также разделение времени содействовало разработке новых интерактивных программ.
История разделения времени ОС
Пакетная обработка
Первые компьютеры были очень дорогими и медленными устройствами. Обычно они предназначались для выполнения конкретного набора задач и управлялись с панели оператора, который вручную вводил короткие программы посредством изменения позиции переключателей на панели. Эти программы могли выполняться в течение нескольких часов или даже недель. Но когда скорость компьютеров начала расти, простой машины в связи с вводом очередной программы стал неприемлем. Методология пакетной обработки появилась с целью уменьшить время простоя машины при вводе программы. В пакетной обработке как только одна программа завершала выполнение, компьютер загружал следующую.
Чтобы поддерживать процесс пакетной обработки, программисты использовали перфораторы перфокарт или перфолент. Это были недорогие устройства, позволившие создавать программы «офлайн». После набора программы её передавали операторам машины, которые занимались планированием времени её запуска. Важные программы запускались в первую очередь, менее важные — после выполнения всех остальных. Когда программа, наконец, выполнялась, результат её работы обычно в распечатанном виде возвращался программисту. Весь процесс мог занимать много времени, в течение которого программист вообще не видел компьютера.
Альтернатива позволить пользователю управлять компьютером напрямую, была слишком дорога чтобы её вообще могли рассматривать.
Разделение времени
Концепция «разделения времени» появилась как результат понимания того, что хотя каждый отдельный пользователь использует компьютер неэффективно, группа пользователей вместе — нет. Это связано с самой формой взаимодействия: пользователь вводит информацию посимвольно, между нажатиями клавиш следует пауза, за время которой компьютер может выполнить тысячи операций, но если одновременно работает группа пользователей, паузы одного пользователя могут заполняться активностью других. Если подобрать оптимальный размер группы, эффективность использования компьютера значительно повысится. Точно также пользователям могут предоставляться интервалы времени, которые компьютер тратит на ожидание операций чтения диска, ленты или передачи по сети.
По сравнению с пакетной обработкой, реализация системы, использующей преимущество разделения времени, сложна. Пакетная обработка являлась просто формой организации работы с ранними компьютерными системами. Компьютеры продолжали выполнять одну программу для одного пользователя за раз, а всё, что изменила пакетная обработка — было сокращение времени между запусками программ. Разработка системы, которая поддерживала бы одновременную работу многих пользователей принципиально отличалась от этого. Контексты («состояния») каждого пользователя и его программ должны были храниться в машине, и иметь возможность быстро заменяться другими. Переключение контекста требовало значительного количества процессорных тактов, и было большой проблемой для медленных машин той эпохи. Тем не менее, так как компьютеры быстро увеличивали скорость, и, что ещё важнее, размер памяти, в которой могли храниться состояния пользователей, накладные расходы на разделение времени соответственно уменьшались.
Идею впервые публично описал Боб Бемер в начале 1957 году, в статье для «Automatic Control Magazine». Первый проект реализации системы с разделением времени был начат Джоном Маккарти в конце 1957 года, на модификации IBM 704, и позже на модифицированном IBM 7090. Хотя он и бросил работу ради проекта MAC и других, один из полученных результатов, известный как Compatible Time-Sharing System или CTSS, был продемонстрирован в ноябре 1961 года. Утверждается что CTSS — первая система с разделением времени. Она использовалась до 1973 года. Другим претендентом на первую демонстрацию системы разделения времени была созданная Дональдом Блитцером система PLATO II, публично демонстрировавшаяся в Роберт Аллертон Парк в Университете Иллинойса в начале 1961 года. Блитцер говорил что проект PLATO получил бы патент на разделение времени, если бы только Университет Иллинойса знал как обрабатывать заявки на патент быстрее. Первой коммерчески успешной системой разделения времени была Dartmouth Time Sharing System.
Развитие
В период с конца 1960-х до конца 1970-х годов, компьютерные терминалы подключались к крупным мейнфреймам организаций (Централизованным вычислительным системам), которые во многих реализациях последовательно опрашивали терминалы чтобы увидеть, есть ли какие-либо дополнительные данные или действия, запрошенные пользователем компьютера. В дальнейшем, вместо опроса терминалов стали использоваться прерывания, а для связи — применяться технологии параллельной передачи данных, таких как стандарт IEEE 488. Как правило, компьютерные терминалы размещались в высших учебных заведениях и использовались также, как настольные (персональные) компьютеры сегодня. В самом начале эпохи персональных компьютеров, многие из них фактически использовались как терминалы для систем с разделением времени.
С развитием микрокомпьютеров в начале 1980-х годов, разделение времени отошло на второй план, поскольку отдельные микропроцессоры были достаточно дёшевы для того, чтобы один человек мог единолично распоряжаться всем процессорным временем, даже во время бездействия. Тем не менее, интернет вернул популярность концепции разделения времени. Дорогие корпоративные серверные «фермы» стоимостью в миллионы долларов предоставляют тысячам пользователей доступ к одним и тем же общим ресурсам. Как и ранние последовательные терминалы, сайты имеют дело в основном с всплесками активности, за которыми следуют периоды простоя. Подобный «всплесковый» характер позволяет использовать сервис множеству посетителей сайта одновременно так, что ни один из них не замечает каких-либо задержек передачи данных, пока загрузка серверов не станет слишком велика.
Особенности ОС с режимом разделения времени
Когда в составе компьютерных систем появились терминалы (вначале телетайпы, затем дисплеи), возникла необходимость реализации в ОС режима разделения времени ( time sharing ) – возможности одновременной работы пользователей со своими заданиями с терминалов, ввода заданий в систему, их запуска (при наличии свободного процессора), управления заданиями с терминала, их приостановки, отладки, визуализации на терминале их результатов. Рассмотрим особенности ОС с режимом разделения времени.
Хранение заданий в памяти или на диске
Ресурсы процессора в ОС с разделением времени распределены между несколькими заданиями, находящимися в памяти или на диске. Задание загружается в память (при наличии свободной памяти), если оно является пакетным и выбрано операционной системой для выполнения, либо если оно активируется пользователем с терминала. Процессор выделяется только тем заданиям, которые находятся в памяти.
Откачка и подкачка (swapping)
Поддержка диалогового взаимодействия между пользователем и системой
Когда ОС завершает исполнение пользовательской команды, она выполняет поиск следующего управляющего оператора (control statement),введенного с пользовательской клавиатуры.
Предоставление диалогового доступа к данным и коду пользовательской программы
В ОС с разделением времени обеспечивается возможность для пользователя ввода, запуска, редактирования, отладки своей программы с терминала, управления своим заданием (приостановки, с последующим возобновлением), просмотра его промежуточных результатов, состояния памяти и регистров, просмотра окончательных результатов на терминале при завершении задания.
Следует учитывать, что в ОС с разделением времени обрабатываются как пакетные, так и интерактивные (диалоговые) задания, поэтому система должна обеспечивать их диспетчеризацию – переключение в нужный момент с диалогового задания на пакетное, либо с одного диалогового (пакетного) задания на другое.
Известные системы с разделением времени
ОС Windows. Режим разделения времени
Появление электроннолучевых дисплеев и переосмысление возможностей применения клавиатур поставили на очередь решение этой проблемы. Логическим расширением систем мультипрограммирования стали time-sharing системы или системы разделения времени **. В них процессор переключается между задачами не только на время операций ввода-вывода, но и просто попрошествии определенного интервала времени. Эти переключения происходят столь часто, что пользователи могут взаимодействовать со своими программами во время их выполнения, то есть интерактивно. В результате появляется возможность одновременной работы многих пользователей на одной компьютерной системе. У каждого пользователя для этого должна быть хотя бы одна программа в памяти. Чтобы уменьшить ограничения на количество работающих пользователей, была внедрена идея неполного нахождения исполняемой программы в оперативной памяти. Основная часть программы находится на диске и необходимый для ее дальнейшего выполнения кусок может быть легко загружен в оперативную память, а ненужный выкачан обратно на диск. Это реализуется с помощью механизма виртуальной памяти. Основным достоинством такого механизма является создание иллюзии неограниченной оперативной памяти ЭВМ.
В системах разделения времени пользователь получил возможность легко и эффективно вести отладку своей программы в интерактивном режиме, записывать информацию на диск, не используя перфокарты, а непосредственно с клавиатуры. Появление on-line файлов привело к необходимости разработки развитых файловых систем.
Параллельно внутренней эволюции вычислительных систем в этот период наблюдается и внешняя их эволюция. До начала этого периода вычислительные комплексы были, как правило, несовместимы. Каждый имела свою собственную специальную операционную систему, свою систему команд и т.д. В результате программу, успешно работающую на одном типе машин, необходимо было полностью переписать и заново отладить для другого типа компьютеров. В начале третьего периода появилась идея создания семейств программно-совместимых машин, работающих под управлением одной и той же операционной системы. Первым семейством программно-совместимых машин, построенных на интегральных микросхемах, явилась серия машин IBM/360. Построенное в начале 60-х годов это семейство значительно превосходило машины второго поколения по критерию цена/производительность. За ней последовала линия компьютеров PDP, несовместимых с линией IBM, кульминацией которой стала PDP-11.
Сила одной семьи была одновременно и ее слабостью. Широкие возможности этой концепции (наличие всех моделей: от миникомпьютеров до гигантских машин; обилие разнообразной периферии; различное окружение; различные пользователи) порождали сложную и огромную операционную систему. Миллионы строчек ассемблера, написанные тысячами программистов, содержали множество ошибок, что вызывало непрерывный поток публикаций о них и попыток их исправления. Только в операционной системе OS/360 содержалось более 1000 известных ошибок. Тем не менее, идея стандартизации операционных систем была широко внедрена в сознание пользователей и в дальнейшем получила активное развитие.