Архитектура OS-2

Характеристика сетевых операционных систем. Архитектура мультизадачной системы разделения времени OS-2. Синхронизация задач, секции, семафоры, кольца защиты; передача данных между процессами. Система управление памятью; библиотеки динамической компоновки.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 07.05.2012
Размер файла 1,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Содержание:

Задание

1. Контрольное задание 1

2. Контрольное задание 2

Литература

Задание

Группа

№№ п.п.

Номер варианта задания 1

Номер варианта задания 2

1

1

1

2

Задание 1. Архитектура OS/2

Контрольное задание 1. Архитектура OS/2

1. Система разделения времени

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

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

Рис 1.1 Программы OS/2 работают под контролем системы разделения времени

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

Самая замечательная возможность, предоставляемая системой разделения времени и системой управления программами OS/2 - возможность создания мультизадачных программ и приложений. Эта ОС позволяет организовать параллельное выполнение многих программ, а также отдельных фрагментов кода одной и той же программы. Когда пользователь запускает программу создается так называемый процесс, под который выделяется отдельное адресное пространство, изолированное от адресных пространств других процессов. Изоляция выполняется на физическом уровне с использованием схемы адресации памяти защищенного режима.

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

Все задачи, созданные в рамках одного процесса, используют общее адресное пространство процесса. Операционная система OS/2 присваивает приоритеты не процессам, а задачам. Поэтому программист не может изменить приоритет процесса (такое понятие, как "приоритет процесса" просто не существует), но может управлять приоритетом отдельных задач.

2. Синхронизация задач

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

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

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

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

Семафор OS/2 представляет собой объект, способный находиться в двух состояниях: установленном и сброшенном. При помощи специальных функций задача может переключать семафоры из одного состояния в другое, а также выполнять ожидание момента, когда семафор будет переключен другой задачей.

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

3. Передача данных между процессами

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

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

В операционной системе OS/2 предусмотрено специальное средство передачи данных между различными процессами - каналы. Канал - это специальная область памяти, созданная операционной системой по запросу процесса специально для передачи данных между процессами. Канал может иметь имя (а может и не иметь). Работа с каналом больше всего напоминает работу со стандартным потоком ввода или вывода в операционной системе DOS. Процесс создаёт канал, вызывая специально предназначенную для этого функцию, возвращающую идентификатор канала. Затем процесс может передавать данные в канал или принимать их из канала, вызывая функции, напоминающие функции записи и чтения для стандартных потоков ввода/вывода DOS. Разумеется, в процедуре передачи данных через канал должны участвовать два процесса (рис. 1.2).

OS/2 позволяет создать каналы между процессами, запущенными на различных рабочих станциях локальной сети. Таким образом, средства передачи данных по локальной сети встроены непосредственно в ядро OS/2, что очень удобно для программиста.

Рис 1.2 Передача данных через канал возможна между двумя различными процессами

Помимо каналов операционная система OS/2 имеет другое, более сложное средство передачи данных между процессами - очереди. Очереди позволяют организовать передачу данных от нескольких «передающих» процессов к одному принимающему. Они также часто используются для передачи данных между различными задачами внутри одною процесса.

Через очередь можно передавать элементы данных размером 32 бит, причем формат этих элементов полностью определяется процессом или задачей, создавшими очередь. Схема работы очереди отличается от схемы работы канала. Процесс иди задача, создавшие очередь, называются серверным процессом для очереди. Серверный процесс является владельцем очереди и может записывать или читать из нее информацию в любом порядке. Канал можно использовать только для последовательной передачи данных.

Рис 1.3 При использовании очереди данные передаются в одном направлении - от клиентных процессов к серверному

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

архитектура операционный мультизадачный система

4. Система управления памятью

Система управления памятью OS/2 представляет собой сложный и совершенный механизм, с помощью которого процессы и задачи могут получать в свое распоряжение сотни мегабайт виртуальной памяти. С появлением процессора i80286, способного работать не только в реальном, но и в защищенном режиме, появилась возможность создания более совершенной системы управления памятью.

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

Появилось понятие ''логический адрес". Когда программа адресуется к памяти в защищенном режиме, она не указывает сегмента и смещения, вместо этого она пользуется логическим адресом. Логический адрес состоит из двух компонент - селектора и смещения. Селектор служит индексом в таблицах дескрипторов, содержащих помимо другой информации 24-разрядные базовые адреса сегментов. Дескриптор описывает сегмент памяти и содержит не только базовый адрес, но и другие характеристики, такие, например, как размер сегмента и поле доступа. Для получения 24-разрядного физического адреса базовый адрес складывается с 16-разрядным смещением.

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

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

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

Рис 1.4 Кольца защиты

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

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

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

Для каждого процесса в OS/2 создается своя локальная таблица дескрипторов. Именно поэтому адресные пространства процессов разделены физически. Таким образом, каждый процесс может адресоваться к "разрешенным" сегментам системной памяти и к своим собственным сегментам, но никак не к сегментам других процессов.

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

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

Операционная система OS/2 способна работать как с файловой системой FAT, так и со своей собственной файловой системой НРFS. Кроме того, в OS/2 есть средства монтирования других файловых систем. Для повышения производительности была создана файловая система НРFS (High Performance File System - высокопроизводительная файловая система).

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

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

При использовании НРFS пользователь может указывать имена файлов размером до 254 символов, причем имя может состоять из строчных и прописных букв, а также пробелов и некоторых других символов, например символов "." (в произвольном количестве).

В дополнение к таким атрибутам файлов, как "только читаемый", "скрытый", "системный" и "архивированный" OS/2 хранит для каждого файла набор расширенных атрибутов. Это тип файла, комментарий и ключевые слова для поиска, пиктограмма для визуального представления файла и т. д.

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

6. Библиотеки динамической компоновки

В OS/2, как и в других мультизадачных операционных системах, применяется динамическая компоновка, исключающая дублирование кода функций. Для этого группы используемых вместе функций объединяются в файлы с расширением имени dll, которые называются библиотеками динамической компоновки, динамическими библиотеками или просто dll-библиотеками.

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

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

Так достигается значительная экономия памяти. Ядро OS/2 в основном состоит именно из dll-библиотек, поэтому многие функции ядра доступны программам через механизм динамической компоновки.

2. Контрольное задание 2

Текст макрокоманды:

my_macr=$1: $t dir $2 $t dir $3$t attrib +a -r +s $4 $t attrib $4 $t

D:\first.bat

Текст командного файла first.bat:

@echo off

echo Начало работы файла №1.

echo - Сегодня

date /t

pause

echo Конец работы файла №1.

D:\second.bat

Текст командного файла second.bat:

@echo off

echo Начало работы файла №2

echo - текущее время

time /t

pause

echo Конец работы файла №2

Результат работы макрокоманды:

Литература:

1. Фролов А. В., Фролов Г. В. Операционная система IBM OS/2 Warp - М.: ДИАЛОГ-МИФИ, 1996. - 272с.

2. Олифер В.Г., Олифер Н.А. Сетевые операционные системы СПб.: Питер,2002,-544 с.: ил.

3. Таненбаум Э. Современные операционные системы СПб.: Питер,2002.-1040 с.: ил.

Размещено на Allbest.ru


Подобные документы

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

    учебное пособие [1,2 M], добавлен 24.01.2014

  • Архитектура предприятия как инструмент управления изменениями. Проектирование архитектуры данных по TOGAF. Описание потоков и источников данных. Синхронизация данных по времени. Описание этапов и рекомендации по использованию инструментов проектирования.

    дипломная работа [2,8 M], добавлен 09.09.2017

  • Структура, специфика и архитектура многопроцессорных систем; классификация Флинна. Организация взаимного исключения для синхронизации доступа к разделяемым ресурсам. Запрещение прерываний; семафоры с драйверами устройств. Кластеры распределения нагрузки.

    курсовая работа [455,9 K], добавлен 07.06.2014

  • Эволюция и классификация ОС. Сетевые операционные системы. Управление памятью. Современные концепции и технологии проектирования операционных систем. Семейство операционных систем UNIX. Сетевые продукты фирмы Novell. Сетевые ОС компании Microsoft.

    творческая работа [286,2 K], добавлен 07.11.2007

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

    контрольная работа [20,6 K], добавлен 21.02.2009

  • Главный недостаток систем с общей шиной. Использование матричного коммутатора в схемах. Соединения между процессорами с системах с распределенной памятью. Схема соединений процессоров в компьютере BBN Butterfly. Топологии типа гиперкуб. Архитектура NUMA.

    лекция [192,3 K], добавлен 22.10.2014

  • Классификация систем реального времени. Ядра и операционные системы реального времени. Задачи, процессы, потоки. Преимущества и недостатки потоков. Свойства, планирование, синхронизация задач. Связанные задачи. Синхронизация с внешними событиями.

    реферат [391,5 K], добавлен 28.12.2007

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

    практическая работа [3,0 M], добавлен 17.05.2022

  • Графические интерфейсы и расширения для DOS. История развития операционной системы Microsoft Windows. Новшества ее современных версий: пользовательский интерфейс, языковая интеграция, системы защиты. Хронология развития и архитектура системы GNU/Linux.

    реферат [38,9 K], добавлен 25.10.2010

  • Небезопасность и ненадежность интернета вещей. Специфика медицинских систем мониторинга в сетях IOT. Высокоуровневая архитектура системы Medicus. Детали реализации обработки внешних данных. Безопасность IOT устройств. Меры защиты персональных данных.

    курсовая работа [2,4 M], добавлен 24.07.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.