Технологии ввода/вывода, интерфейсы операционных систем; пакетная технология. — КиберПедия 

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

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

Технологии ввода/вывода, интерфейсы операционных систем; пакетная технология.

2017-11-27 819
Технологии ввода/вывода, интерфейсы операционных систем; пакетная технология. 0.00 из 5.00 0 оценок
Заказать работу


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

Современными видами интерфейсов являются: Командный интерфейс – называется так по тому, что в этом виде интерфейса человек подает "команды" компьютеру, а компьютер их выполняет и выдает результат человеку. Командный интерфейс реализован в виде пакетной технологии и технологии командной строки; графический интерфейс - Идея графического интерфейса зародилась в середине 70-х гг., когда в исследовательском центре PARC была разработана концепция визуального интерфейса. Предпосылкой графического интерфейса явилось уменьшение времени реакции компьютера на команду, увеличение объема оперативной памяти, а также развитие технической базы компьютеров. Аппаратным основанием концепции, конечно же, явилось появление алфавитно-цифровых дисплеев на компьютерах, причем на этих дисплеях уже имелись такие эффекты, как "мерцание" символов, инверсия цвета, подчеркивание символов. Эти эффекты распространились не на весь экран, а только на один или более символов. Следующим шагом явилось создание цветного дисплея, позволяющего выводить, вместе с этими эффектами, символы в 16 цветах на фоне с палитрой из 8 цветов. После появления графических дисплеев, с возможностью вывода любых графических изображений в виде множества точек на экране различного цвета, фантазии в использовании экрана вообще не стало границ! Первая система с графическим интерфейсом 8010 Star Information System группы PARC, таким образом, появилась за четыре месяца до выхода в свет первого компьютера фирмы IBM в 1981 г. Первоначально визуальный интерфейс использовался только в программах. Постепенно он стал переходить и на операционные системы, используемые сначала на компьютерах Atari и Apple Macintosh, а затем и на IBM совместимых компьютерах. WIMP-ИНТЕРФЕЙС: Вторым этапом в развитии графического интерфейса стал "чистый" интерфейс WIMP. Этот подвид интерфейса характеризуется следующими особенностями:1. Вся работа с программами, файлами и документами происходит в окнах – определенных очерченных рамкой частяхэкрана.2. Все программы, файлы, документы, устройства и другие объекты представляются в виде значков – иконок. При открытии иконки превращаются в окна.3. Все действия с объектами осуществляются с помощью меню. Хотя меню появилось на первом этапе становления графического интерфейса, оно не имело в нем главенствующего значения, а служило лишь дополнением к командной строке. В чистом WIMP – интерфейсе меню становится основным элементом управления.4. Широкое использование манипуляторов для указания на объекты. Следует отметить, что WIMP требует для своей реализации цветной растровый дисплей с высоким разрешением и манипулятор. Также программы, ориентированные на этот вид интерфейса, предъявляют повышенные требования к производительности компьютера, объему его памяти, пропускной способности шины и т.п. Однако этот вид интерфейса наиболее прост в усвоении и интуитивно понятен. Ярким примером программ с графическим интерфейсом является операционная система Microsoft Windows. Речевая технология: С середины 90-х гг. ХХ в., после появления недорогих звуковых карт и широкого распространения технологий распознавания речи, появилась так называемая "речевая технология" – SILK-интерфейс. При этой технологии команды подаютсяголосом путем произнесения специальных зарезервированных слов – команд. Слова должны выговариваться четко, в одном темпе. Между словами обязательна пауза. Из-за неразвитости алгоритма распознавания речи такие системы требует индивидуальной предварительной настройки на каждого конкретного пользователя. Семантический интерфейс: Семантический интерфейс возник в конце 70-х гг. XX в., с развитием искусственного интеллекта. Его трудно назватьсамостоятельным видом интерфейса – он включает в себя и интерфейс командной строки, и графический, и речевой, и мимический интерфейс. Основная его отличительная черта – это отсутствие команд при общении с компьютером. Запрос формируется на естественном языке, в виде связанного текста и образов. По своей сути это трудно называть интерфейсом – этоуже моделирование "общения" человека с компьютером.

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

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

Программирование пакетных файлов появилось в MS-DOS и Windows с самого зарождения этих операционных систем. Командные интерпретаторы этих систем предлагают два режима работы: интерактивный режим (когда пользователь непосредственно вводит команды в командной строке и немедленно их исполняет) и пакетный режим (когда пользователь запускает предварительно записанную последовательность команд). Концепция обоих режимов была почерпнута из различных Unix-оболочек, равно как и из других текстовых интерфейсов командной строки начала 1980-х годов, таких как CP/M.

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

 

4 Виды операционных систем. Архитектура операционных систем.

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

 

 

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

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

11. 11. Микроядерная архитектура. Современная тенденция в разработке операционных систем состоит в перенесении значительной части системного кода на уровень пользователя и одновременной минимизации ядра. Такой подход к построению ядра, называется микроядерной архитектурой (microkernel architecture) операционной системы, когда большинство ее составляющих являются самостоятельными программами. В этом случае взаимодействие между ними обеспечивает специальный модуль ядра, называемый микроядром. Микроядро работает в привилегированном режиме и обеспечивает взаимодействие между программами, планирование использования процессора, первичную обработку прерываний, операции ввода-вывода и базовое управление памятью. Остальные компоненты системы взаимодействуют друг с другом путем передачи сообщений через микроядро. Основное достоинство микроядерной архитектуры – высокая степень модульности ядра операционной системы. Это существенно упрощает добавление в него новых компонентов. В микроядерной операционной системе можно, не прерывая ее работы, загружать и выгружать новые драйверы, файловые системы и т. д. Существенно упрощается процесс отладки компонентов ядра, так как новая версия драйвера может загружаться без перезапуска всей операционной системы. Компоненты ядра операционной системы ничем принципиально не отличаются от пользовательских программ, поэтому для их отладки можно применять обычные средства. Микроядерная архитектура повышает надежность системы, поскольку ошибка на уровне непривилегированной программы менее опасна, чем отказ на уровне режима ядра. И чтобы добавить в ОС с микроядром драйвер того или иного устройства, не надо перекомпилировать всё ядро, а надо лишь отдельно откомпилировать этот драйвер и запустить его в пользовательском пространстве. В то же время микроядерная архитектура операционной системы вносит дополнительные накладные расходы, связанные с передачей сообщений, что отрицательно влияет на производительность. Для того чтобы микроядерная операционная система по скорости не уступала операционным системам на базе монолитного ядра, требуется очень аккуратно проектировать разбиение системы на компоненты, стараясь минимизировать взаимодействие между ними. Пример- ОС MINIX

12. Многослойная структура ОС. Вычислительную систему, работающую под управлением ОС на основе ядра, можно рассматривать как систему, состоящую из трех иерархически расположенных слоев: нижний слой образует аппаратура, промежуточный — ядро, а утилиты, обрабатывающие программы и приложения, составляют верхний слой системы.. В соответствии с этим подходом система состоит из иерархии слоев. Каждый слой обслуживает вышележащий слой, выполняя для него некоторый набор функций, которые образуют межслойный интерфейс. На основе функций нижележащего слоя следующий (вверх по иерархии) слой строит свои функции — более сложные и более мощные, которые, в свою очередь, оказываются примитивами для создания еще более мощных функций вышележащего слоя. Строгие правила касаются только взаимодействия между слоями системы, а между модулями внутри слоя связи могут быть произвольными. Такая организация системы имеет много достоинств. Она существенно упрощает разработку системы, так как позволяет сначала определить «сверху вниз» функции слоев и межслойные интерфейсы, а затем при детальной реализации постепенно наращивать мощность функций слоев, двигаясь «снизу вверх». Кроме того, при модернизации системы можно изменять модули внутри слоя без необходимости производить какие-либо изменения в остальных слоях, если при этих внутренних изменениях межслойные интерфейсы остаются в силе. Поскольку ядро представляет собой сложный многофункциональный комплекс, то многослойный подход обычно распространяется и на структуру ядра. Ядро может состоять из следующих слоев: Средства аппаратной поддержки ОС. часть функций ОС может выполняться и аппаратными средствами. Поэтому иногда можно встретить определение операционной системы как совокупности программных и аппаратных средств. К операционной системе относят, естественно, не все аппаратные устройства компьютера, а только средства аппаратной поддержки ОС, то есть те, которые прямо участвуют в организации вычислительных процессов:. Машинно-зависимые компоненты ОС. Этот слой образуют программные модули, в которых отражается специфика аппаратной платформы компьютера.. Базовые механизмы ядра. Этот слой выполняет наиболее примитивные операции ядра, такие как программное переключение контекстов процессов, диспетчеризацию прерываний, перемещение страниц из памяти на диск и обратно и т. п. Модули данного слоя не принимают решений о распределении ресурсов — они только отрабатывают принятые «наверху» решения, что и дает повод называть их исполнительными механизмами для модулей верхних слоев. Менеджеры ресурсов. Этот слой состоит из мощных функциональных модулей, реализующих стратегические задачи по управлению основными ресурсами вычислительной системы. Обычно на данном слое работают менеджеры (называемые также диспетчерами) процессов, ввода-вывода, файловой системы и оперативной памяти. Интерфейс системных вызовов. Этот слой является самым верхним слоем ядра и взаимодействует непосредственно с приложениями и системными утилитами, образуя прикладной программный интерфейс операционной системы.

Виды ОС!!!

Виды операционных систем. Существуют различные виды классификации ОС по тем или иным признакам, отражающие разные существенные характеристики систем. 1. По назначению: -Системы общего назначения. Это подразумевает ОС, предназначенные для решения широкого круга задач, включая запуск различных приложений, разработку и отладку программ, работу с сетью и с мультимедиа.- Системы реального времени. Этот класс систем предназначен для работы в контуре управления объектами (такими, как летательные аппараты, технологические установки, автомобили, сложная бытовая техника и т.п.). Из подобного назначения вытекают жесткие требования к надежности и эффективности системы. Должно быть обеспечено точное планирование действий системы во времени.- Прочие специализированные системы. Это различные ОС, ориентированные прежде всего на эффективное решение задач определенного класса, с большим или меньшим ущербом для прочих задач. Можно выделить, например, сетевые системы (такие, как Novell Netware), обеспечивающие надежное и высокоэффективное функционирование локальных сетей. 2. По характеру взаимодействия с пользователем: -Пакетные ОС, обрабатывающие заранее подготовленные задания. -Диалоговые ОС, выполняющие команды пользователя в интерактивном режиме. «интерактивный» означает постоянное взаимодействие системы с пользователем. -ОС с графическим интерфейсом. В принципе, их также можно отнести к диалоговым системам, однако использование мыши и всего, что с ней связано (меню, кнопки и т.п.) вносит свою специфику. -Встроенные ОС, не взаимодействующие с пользователем. 3. По числу одновременно выполняемых задач: - Однозадачные ОС. В таких системах в каждый момент времени может существовать не более чем один активный пользовательский процесс. Следует заметить, что одновременно с ним могут работать системные процессы (например, выполняющие запросы на ввод/вывод). -Многозадачные ОС. Они обеспечивают параллельное выполнение нескольких пользовательских процессов. Реализация многозадачности требует значительного усложнения алгоритмов и структур данных, используемых в системе. 4. По числу пользователей: - Однопользовательские ОС. Для них характерен полный доступ пользователя к ресурсам системы. Подобные системы приемлемы в основном для изолированных компьютеров, не допускающих доступа к ресурсам данного компьютера по сети или с удаленных терминалов. - Многопользовательские ОС. Их важной компонентой являются средства защиты данных и процессов каждого пользователя, основанные на понятии владельца ресурса и на точном указании прав доступа, предоставленных каждому пользователю системы. 5.По аппаратурной основе: -Однопроцессорные ОС. - Многопроцессорные ОС. В задачи такой системы входит, помимо прочего, эффективное распределение выполняемых заданий по процессорам и организация согласованной работы всех процессоров. - Сетевые ОС. Они включают возможность доступа к другим компьютерам локальной сети, работы с файловыми и другими серверами. - Распределенные ОС. Их отличие от сетевых заключается в том, что распределенная система, используя ресурсы локальной сети, представляет их пользователю как единую систему, не разделенную на отдельные машины.

 

5 Модели процессов и потоков.

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

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

Модель процесса

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

2.1.3 Создание процесса

Три основных события, приводящие к созданию процессов (вызов fork или CreateProcess):

· Загрузка системы

· Работающий процесс подает системный вызов на создание процесса

· Запрос пользователя на создание процесса

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

В UNIX каждому процессу присваивается идентификатор процесса (PID - Process IDentifier)

 

Завершение процесса

Четыре события, приводящие к остановке процесса (вызов exit или ExitProcess):

· Плановое завершение (окончание выполнения)

· Плановый выход по известной ошибке (например, отсутствие файла)

· Выход по неисправимой ошибке (ошибка в программе)

· Уничтожение другим процессом

Таким образом, приостановленный процесс состоит из собственного адресного пространства, обычно называемого образом памяти (core image), и компонентов таблицы процессов (в числе компонентов и его регистры).

 

Иерархия процессов

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

В таком случае в UNIX существует и прародитель всех процессов - процесс init.

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

Состояние процессов

Три состояния процесса:

· Выполнение (занимает процессор)

· Готовность (процесс временно приостановлен, чтобы позволить выполняться другому процессу)

· Ожидание (процесс не может быть запущен по своим внутренним причинам, например, ожидая операции ввода/вывода)

2.2.1 Понятие потока

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

·

Модель потока

С каждым потоком связывается:

· Счетчик выполнения команд

· Регистры для текущих переменных

· Стек

· Состояние

Потоки делят между собой элементы своего процесса:

· Адресное пространство

· Глобальные переменные

· Открытые файлы

· Таймеры

· Семафоры

· Статистическую информацию.

В остальном модель идентична модели процессов.


Поделиться с друзьями:

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

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.048 с.