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

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

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

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

Такойязык помимо поддержки высокоуровневых операторов, типов данных и модуль­ных конструкций должен позволять непосредственно использовать аппаратныевозможности и особенности процессора. Кроме этого, такой язык должен бытьшироко распространенным и реализованным в виде систем программирования,Не все операционные системы компании Microsoft, в названии которых слово Windows является ос­новным, поддерживают VDM-машины. В частности, такой возможности нет в системе Windows ME.284Глава 9. Архитектура операционных СИСТРИ»которые либо уже имеются на целевой платформе, либо позволяют получать про­граммные коды для целевого компьютера. Другими словами, этот язык системно­го программирования должен быть достаточно распространенным и технологич­ным.

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

У них мо­жет быть разное количество рабочих регистров, причем часть регистров можетоказаться контекстно-зависимыми, как это имеет место в процессорах с архи­тектурой ia32. Различия могут быть и в реализации адресации. Более того, дляоперационной системы важной является не только архитектура центральногопроцессора, но и архитектура компьютера в целом, ибо важнейшую роль играетподсистема ввода-вывода, а она строится на дополнительных (по отношению к цен­тральному процессору) аппаратных средствах. В таких условиях сделать эффек­тивным код операционной системы при условии создания его на языке типа C/C++невозможно. Поэтому часть программных модулей, которые более всего зависятот аппаратных особенностей процессора, от типов поддерживаемых данных, спо­собов адресации, системы команд и других важнейших моментов, разрабатывает­ся на языке ассемблера.

Очевидно, что модули, написанные на языке ассемблера,при переносе операционной системы на процессор с иной архитектурой должныбыть написаны заново. Зато остальная (большая) часть кода операционной систе­мы может быть просто перекомпилирована под целевой процессор. Именно по это­му принципу в свое время была создана операционная система UNIX. Относи­тельная легкость переноса этой системы на другие компьютеры позволила сделатьее одной из самых распространенных.

Для обеспечения мобильности был дажесоздан стандарт на интерфейс прикладного программирования, названный POSIX(Portable Operating System Interface for Computer Environments — интерфейс при­кладного программирования для переносимых операционных систем).К сожалению, на самом деле далеко не все операционные системы семейства UNIXдопускают относительно простую переносимость созданного для них программ­ного обеспечения, хотя сами они и поддерживают такую переносимость.

Основ­ная причина тому — отход от единого стандарта API — POSIX. Очевидно, что пла­той за универсальность, прежде всего, является потеря производительности привыполнении операций ввода-вывода и вычислений, связанных с этими операция­ми. Поэтому ряд разработчиков шли и до сих пор идут на отказ от принципа мо­бильности, поскольку не всегда следование этому принципу экономически опра)дано.Если при разработке операционной системы сразу не следовать принципу мобильности, то в последующем очень трудно обеспечить перенос на другую платформ Укак самой операционной системы, так и программного обеспечения, созданнодля нее. Например, компания IBM потратила долгие годы на перенос своей опера^ционной системы OS/2, созданной для персональных компьютеров с процессорп^-яовные принципы построения операционных систем285архитектуры ia32, на платформу PowerPC.

Но даже если изначально в специ­фикации на операционную систему заложить требование легкой переносимости,то не значит, что его в последующем будет просто реализовать. Подтверждениемт о м у является тот же проект OS/2-WindowsNT. Как известно, проект WindowsNT обеспечивал работу этой операционной системы на процессорах с архитекту­рой ia32, MIPS, Alpha (DEC), PowerPC.

Однако в последующем трудности с реа­лизацией этого принципа привели к тому, что нынешние версии операционныхсистем класса Windows NT (Windows 2000/XP) уже создаются только для про­цессоров с архитектурой ia32 и не поддерживают MIPS, Alpha и PowerPC.Принцип совместимостиОдним из аспектов совместимости является способность операционной системывыполнять программы, написанные для других систем или для более ранних вер­сий данной операционной системы, а также для другой аппаратной платформы.Необходимо разделять вопросы двоичной совместимости и совместимости на уров­не исходных текстов приложений.

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

При этом необходима переком­пиляция имеющихся исходных текстов в новый выполняемый модуль.Гораздо сложнее достичь двоичной совместимости между процессорами, основан­ными на разных архитектурах. Для того чтобы один компьютер выполнял про­граммы другого (например, программу для персонального компьютера типа IBMPC хочется выполнять на компьютере типа Мае от фирмы Apple), этот компьютердолжен работать с машинными командами, которые ему изначально непонятны.Например, процессор типа PowerPC на Мае должен исполнять двоичный код, пред­назначенный для процессора i80x86. Процессор 80x86 имеет свои собственные де­шифратор команд, регистры и внутреннюю архитектуру. Процессор PowerPC имеетДругую архитектуру, он не понимает непосредственно двоичный код 80x86, поэто­му должен выбрать каждую команду, декодировать ее, чтобы определить, для чегоона предназначена, а затем выполнить эквивалентную подпрограмму, написаннуюДля PowerPC.

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

Выходом в таких случаяхШляется использование так называемых прикладных сред, или эмуляторов. Учиь№ая, что основную часть программы, как правило, составляют вызовы библио-286Глава 9. Архитектура операционных системтечных функций, прикладная среда имитирует библиотечные функции целикомиспользуя заранее написанную библиотеку функций аналогичного назначения аостальные команды эмулирует каждую по отдельности.Одним из средств обеспечения совместимости программных и пользовательскихинтерфейсов является соответствие стандартам POSIX. Эти стандарты позволя­ют создавать программы в стиле UNIX, которые впоследствии могут легко пере­носиться из одной системы в другую.Принцип генерируемое™Согласно принципу генерируемости исходное представление центральной систем­ной управляющей части операционной системы (ее ядра и основных компонен­тов, которые должны постоянно находиться в оперативной памяти) должно обеспе­чивать возможность настройки, исходя из конкретной конфигурации конкретноговычислительного комплекса и круга решаемых задач.

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

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

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