Главная » Просмотр файлов » Гордеев А.В. Операционные системы (2-е изд., 2004)

Гордеев А.В. Операционные системы (2-е изд., 2004) (1186250), страница 77

Файл №1186250 Гордеев А.В. Операционные системы (2-е изд., 2004) (Гордеев А.В. Операционные системы (2-е изд., 2004)) 77 страницаГордеев А.В. Операционные системы (2-е изд., 2004) (1186250) страница 772020-08-27СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 77)

Эти системные механизмы должны быть всегда доступны процессамтребующим реального времени. Следовательно, системные ресурсы для их функ­ционирования должны быть распределены заранее.П ре дсказуем остьТребование 5. Поведение операционной системы должно быть известно и доста­точно точно прогнозируемо. Времена выполнения системных вызовов и времен­ные характеристики поведения системы в различных обстоятельствах должны бытьизвестны разработчику. Поэтому создатель ОСРВ должен приводить следующиехарактеристики:•латентную задержку прерывания, то есть время от момента прерывания до мо­мента запуска задачи: она должна быть предсказуема и согласована с требова­ниями приложения (эта величина зависит от числа одновременно «висящих»прерываний);Q максимальное время выполнения каждого системного вызова (оно должно бытьпредсказуемо и не должно зависеть от числа объектов в системе);а максимальное время маскирования прерываний драйверами и супервизорными модулями операционной системы.Интерфейсы операционных системНапомним, что операционная система всегда выступает как интерфейс между ап­паратурой компьютера и пользователем с его задачами.

Под интерфейсами опера­ционных систем здесь и далее следует понимать специальные интерфейсы систем­ного и прикладного программирования (API), предназначенные для выполненияперечисленных ниже задач.••Управление процессами, которое включает в себя следующий набор основныхфункций:•запуск, приостанов и снятие задачи с выполнения;•задание или изменение приоритета задачи;•взаимодействие задач между собой (механизмы сигналов, семафорные при­митивы, очереди, конвейеры, почтовые ящики);•вызов удаленных процедур (Remote Procedure Call, RPC).Управление памятью:•запрос на выделение блока памяти;••освобождение памяти;изменение параметров блока памяти (например, память может быть забло­кирована процессом либо предоставлена в общий доступ);•отображение файлов на память (имеется не во всех системах).Интерфейсы операционных систем•297Управление вводом-выводом:• запрос на управление виртуальными устройствами (напомним, что управ­ление вводом-выводом является привилегированной функцией самой опе­рационной системы, и никакая из пользовательских задач не должна иметьвозможности непосредственно управлять устройствами);• файловые операции (запросы к системе управления файлами на создание,изменение и удаление данных, организованных в файлы).Здесь мы перечислили основные наборы функций, которые выполняются опера­ционной системой по соответствующим запросам от задач.

Что касается интерфейсапользователя с операционной системой, то он реализуется с помощью специальныхпрограммных модулей, которые принимают его команды на соответствующем язы­ке (возможно, с использованием графического интерфейса) и транслируют ихв обычные вызовы в соответствии с основным интерфейсом системы. Обычно этимодули называют интерпретатором команд. Так, например, функции такого ин­терпретатора в MS DOS выполняет модуль C0MMAND.COM. Получив от пользовате­ля команду, такой модуль после лексического и синтаксического анализа либо самвыполняет действие, либо, что случается чаще, обращается к другим модулям опе­рационной системы, используя механизм API. Надо заметить, что в последние годыбольшую популярность получили графические интерфейсы (Graphical User In­terface, GUI), в которых задействованы соответствующие манипуляторы типа мышьили трекбол (track-ball) 1 .

Указание курсором на объект и щелчок или двойнойщелчок на соответствующей кнопке мыши приводит к каким-либо действиям —запуску программы, ассоциированной с объектом, выбору и/или активизации менюи т. д. Можно сказать, что такая интерфейсная подсистема транслирует «коман­ды» пользователя в обращения к операционной системе.Поясним также, что управление GUI является частным случаем задачи управле­ния вводом-выводом и не относится к функциям ядра операционной системы, хотяв ряде случаев разработчики операционной системы относят функции GUI к ос­новному системному интерфейсу API.Следует отметить, что имеются два основных подхода к управлению задачами.

Так,в одних системах порождаемая задача наследует все ресурсы задачи-родителя, тогдакак в других системах существуют равноправные отношения, и при порождениинового процесса ресурсы для него запрашиваются у операционной системы.Обращения к операционной системе в соответствии с имеющимся интерфейсомAPI могут осуществляться как посредством вызова подпрограммы с передачей ейнеобходимых параметров, так и через механизм программных прерываний. Выборметода реализации вызовов функций API должен определяться архитектурой плат­формы.1 рекбол — специальный шарик, который в переносных компьютерах (NoteBook) размещается ря­дом с клавиатурой, прокручивается пальцами и служит для перемещения указателя мыши.

В насто­ящее время гораздо чаще используют устройство, чувствительное к касанию (touchpad). С помощьютакого устройства пользователь управляет указателем мыши, перемещая палец по специальной по­верхности.298Глава 9, Архитектура операционных системТак, например, в операционной системе MS DOS, которая разрабатывалась дляоднозадачного режима (поскольку процессор i80x86 не поддерживал мультипро­граммирование), использовался механизм программных прерываний.

При этомосновной набор функций API был доступен через точку входа обработчика int 21 h.В более сложных системах имеется не одна точка входа, а множество — по количе­ству функций API. Так, в большинстве операционных систем используется методвызова подпрограмм. В этом случае вызов сначала передается в модуль API, на­1пример в библиотеку времени выполнения (Run Time Library, RTL) , который пе­ренаправляет его соответствующим обработчикам программных прерываний, вхо­дящим в состав операционной системы.

Использование механизма прерыванийвызвано, главным образом, тем, что при этом процессор переводится в режим су­первизора.Интерфейс прикладногопрограммированияПрежде всего, необходимо однозначно разделить общий термин API (ApplicationProgram Interface — интерфейс прикладного программирования) на следующиенаправления:Q API как интерфейс высокого уровня, принадлежащий к библиотекам RTL;•API прикладных и системных программ, входящих в поставку операционнойсистемы;•прочие интерфейсы API.Интерфейс прикладного программирования, как это и следует из названия, пред­назначен для использования прикладными программами системных ресурсов ком­пьютера и реализуемых операционной системой разнообразных системных функ­ций.

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

Сама результирующая программа порождается системой программирования наосновании кода исходной программы, созданного разработчиком, а также объект­ных модулей и библиотек, входящих в состав системы программирования.В принципе API используется не только прикладными, но и системными програм­мами как в составе операционной системы, так и в составе системы программиро­вания. Но дальше речь пойдет только о функциях API с точки рения разработчикаRTL включает в себя те стандартные подпрограммы, которые система программирования пляет на этапе компиляции. В общем случае это не только модули системы программирован:модули самой операционной системы.интерфейс прикладного программирования299прикладной программы. Для системной программы существуют некоторые допол­нительные ограничения на возможные реализации API.функции API позволяют разработчику строить результирующую прикладнуюпрограмму так, чтобы использовать средства целевой вычислительной системы длявыполнения типовых операций.

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

Поэтому об эффек­тивности интерфейса API можно говорить только в сравнении его характеристикс другими интерфейсами API.Что касается двух других показателей, то в принципе нет никаких техническихограничений на их реализацию. Однако существуют организационные проблемыи узкие корпоративные интересы, тормозящие создание такого рода библиотек.Реализация функций API на уровне модулейоперационной системыПри реализации функций API на уровне модулей операционной системы опера­ционная система ответственна за выполнение функций API. Объектный код, вы-300Глава 9, Архитектура операционных системполняющий функции, либо непосредственно входит в состав операционной сис­темы (или даже ядра операционной системы), либо находится в составе динами­чески загружаемых библиотек, поставляемых вместе с системой.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6549
Авторов
на СтудИзбе
300
Средний доход
с одного платного файла
Обучение Подробнее