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

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

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

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

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

Если в операционной системе организована рабо­та с различными операционными средами, то в такой системе можно выполнятьпрограммы, созданные не только для данной, но и для других операционных систем.17Понятие операционной средыМожно сказать, что программы создаются для работы в некоторой заданной опе­рационной среде. Например, можно создать программу для работы в среде DOS.Если такая программа все функции, связанные с операциями ввода-вывода и с за­просами памяти, выполняет не сама, а за счет обращения к системным функциямDOS, то она будет (в абсолютном большинстве случаев) успешно выполняться и вMS DOS, и в PC DOS, и в Windows 9x, и в Windows 2000, и в OS/2, и даже в Linux.Итак, параллельное существование терминов «операционная система» и «опера­ционная среда» вызвано тем, что операционная система (в общем случае) можетподдерживать несколько операционных сред.

Почти все современные 32-разряд­ные операционные системы, созданные для персональных компьютеров, поддер­живают по нескольку операционных сред. Так, операционная система OS/2 Warp,которая в свое время была одной из лучших в этом отношении, может выполнятьЦл следующие программы:ct^Qосновные программы, созданные с учетом соответствующего «родного» 32-разряднго программного интерфейса этой операционной системы;<?>• Q 16-разрядные программы, созданные для систем OS/2 первого поколения;Q 16-разрядные приложения, разработанные для выполнения в операционнойсреде MS DOS или PC DOS;Q16-разрядные приложения, созданные для операционной среды Windows 3.x;Q саму операционную оболочку Windows 3.x и уже в ней — созданные для неепрограммы.А операционная система Windows XP позволяет выполнять помимо основныхприложений, созданных с использованием Win32API, 16-разрядные приложениядля Windows 3.x, 16-разрядные DOS-приложения, 16-разрядные приложения дляпервой версии OS/2.Операционная среда может включать несколько интерфейсов: пользовательскиеи программные.

Если говорить о пользовательских, то, например, система Linuxимеет для пользователя как интерфейсы командной строки (можно использоватьразличные «оболочки» — shell), наподобие Norton Commander, например MidnightCommander, так и графические интерфейсы, например X-Window с различнымименеджерами окон — KDE, Gnome и др.

Если же говорить о программных интер­фейсах, то в тех же операционных системах с общим названием Linux программымогут обращаться как к операционной системе за соответствующими сервисами ифункциями, так и к графической подсистеме (если она используется). С точки зре­ния архитектуры процессора (и персонального компьютера в целом) двоичнаяпрограмма, созданная для работы в среде Linux, использует те же команды и фор­маты данных, что и программа, созданная для работы в среде Windows NT. Однаков первом случае мы имеем обращение к одной операционной среде, а во втором —к другой. И программа, созданная непосредственно для Windows, не будет выпол­няться в Linux; однако если в операционной системе Linux организовать полно­ценную операционную среду Windows, то наша Windows-программа может бытьвыполнена.

Завершая этот раздел, можно еще раз сказать, что операционная сре­да — это то системное программное окружение, в котором могут выполняться про­граммы, созданные по правилам работы 1 о* е в # Ш & й с ь к и й ушверситетф1нанс1в, ЫформацШнихсистем, менеджменту i 6i3HecyВЩокремлений п1дроздшv МЖИТЙМИЫ18Глава 1. Основные понятияПрерыванияПрерывания представляют собой механизм, позволяющий координировать парал­лельное функционирование отдельных устройств вычислительной системы и реа­гировать на особые состояния, возникающие при работе процессора, то есть пре­рывание — это принудительная передача управления от выполняемой программык системе (а через нее — к соответствующей программе обработки прерывания),происходящая при возникновении определенного события.Идея прерывания была предложена также очень давно — в середине 50-х годов, —и можно без преувеличения сказать, что она внесла наиболее весомый вклад в раз­витие вычислительной техники.

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

Запоминание состояния прерванного процесса вычислений. Состояние процессавыполнения программы определяется, прежде всего, значением счетчика ко­манд (адресом следующей команды, который, например, в i80x86 определяетсярегистрами CS и IP — указателем команды [1,8, 48]), содержимым регистровпроцессора, и может включать также спецификацию режима (например, режимпользовательский или привилегированный) и другую информацию.3.

Управление аппаратно передается на подпрограмму обработки прерывания.В простейшем случае в счетчик команд заносится начальный адрес подпро­граммы обработки прерываний, а в соответствующие регистры — информацияиз слова состояния. В более развитых процессорах, например в 32-разрядныхмикропроцессорах фирмы Intel (начиная с i80386 и включая последние про­цессоры Pentium IV) и им подобных, осуществляются достаточно сложная про­цедура определения начального адреса соответствующей подпрограммы обра­ботки прерывания и не менее сложная процедура инициализации рабочихрегистров процессора (подробно эти вопросы рассматриваются в разделе «Си­стема прерываний 32-разрядных микропроцессоров i80x86» главы 4).4.

Сохранение информации о прерванной программе, которую не удалось спастина шаге 2 с помощью аппаратуры. В некоторых процессорах предусматривает­ся запоминание довольно большого объема информации о состоянии прерван­ных вычислений.5. Собственно выполнение программы, связанной с обработкой прерывания. Этаработа может быть выполнена той же подпрограммой, на которую было переда-Прерывания19но управление на шаге 3, но в операционных системах достаточно часто онареализуется путем последующего вызова соответствующей подпрограммы.6.

Восстановление информации, относящейся к прерванному процессу (этап, об­ратный шагу 4).7. Возврат на прерванную программу.Шаги 1-3 реализуются аппаратно, шаги 4-7 — программно.На рис. 1.2 показано, что при возникновении запроса на прерывание естественныйход вычислений нарушается и управление передается на программу обработкивозникшего прерывания. При этом средствами аппаратуры сохраняется (как пра­вило, с помощью механизмов стековой памяти) адрес той команды, с которой следу­ет продолжить выполнение прерванной программы. После выполнения программыобработки прерывания управление возвращается на прерванную ранее программупосредством занесения в указатель команд сохраненного адреса команды, кото­рую нужно было бы выполнить, если бы не возникло прерывание.

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

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

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

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

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