Совместимость на уровне операционной системы. Виды совместимостей операционных систем

Совместимость

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

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

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

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

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

Гораздо сложнее достичь двоичной совместимости между процессорами, основанными на разных архитектурах. Для того, чтобы один компьютер выполнял программы другого (например, DOS-программу на Mac), этот компьютер должен работать с машинными командами, которые ему изначально непонятны. Например, процессор типа 680x0 на Mac должен исполнять двоичный код, предназначенный для процессора 80x86 в PC. Процессор 80x86 имеет свои собственные дешифратор команд, регистры и внутреннюю архитектуру. Процессор 680x0 не понимает двоичный код 80x86, поэтому он должен выбрать каждую команду, декодировать ее, чтобы определить, для чего она предназначена, а затем выполнить эквивалентную подпрограмму, написанную для 680x0. Так как к тому же у 680x0 нет в точности таких же регистров, флагов и внутреннего арифметико-логического устройства, как в 80x86, он должен имитировать все эти элементы с использованием своих регистров или памяти. И он должен тщательно воспроизводить результаты каждой команды, что требует специально написанных подпрограмм для 680x0, гарантирующих, что состояние эмулируемых регистров и флагов после выполнения каждой команды будет в точности таким же, как и на реальном 80x86.

Это простая, но очень медленная работа, так как микрокод внутри процессора 80x86 исполняется на значительно более быстродействующем уровне, чем эмулирующие его внешние команды 680x0. За время выполнения одной команды 80x86 на 680x0, реальный 80x86 может выполнить десятки команд. Следовательно, если процессор, производящий эмуляцию, не настолько быстр, чтобы компенсировать все потери при эмуляции, то программы, исполняющиеся под эмуляцией, будут очень медленными.

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

Соответствие стандартам POSIX также является средством обеспечения совместимости программных и пользовательских интерфейсов. Во второй половине 80-х правительственные агентства США начали разрабатывать POSIX как стандарты на поставляемое оборудование при заключении правительственных контрактов в компьютерной области. POSIX - это "интерфейс переносимой ОС, базирующейся на UNIX". POSIX - собрание международных стандартов интерфейсов ОС в стиле UNIX. Использование стандарта POSIX (IEEE стандарт 1003.1 - 1988) позволяет создавать программы стиле UNIX, которые могут легко переноситься из одной системы в другую.

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

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

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

Таким образом, совместимость на уровне исходных текстов наиболее важное значение имеет для разработчиков приложений, в распоряжении которых находятся эти исходные тексты. Для конечных же пользователей практическое значение имеет только двоичная совместимость, так как только в этом случае они могут без специальных навыков и умений использовать программный продукт, поставляемый в виде двоичного исполняемого кода, в различных операционных средах и на разных компьютерах. Для пользователя, купившего в свое время пакет программ для MS-DOS, важно, чтобы он мог запускать этот привычный ему пакет без каких-либо изменений или ограничений на своей новой машине, работающей, например, под управлением Windows NT. Множественные прикладные среды как раз и обеспечивают совместимость данной ОС с приложениями, написанными для других ОС и процессоров, на двоичном уровне, а не на уровне исходных текстов.



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

Вызовы функций API, которые содержит приложение, должны поддерживаться данной ОС;

Внутренняя структура исполняемого файла приложения должна соответствовать структуре исполняемых файлов данной ОС.

Несравнимо сложнее достигнуть двоичной совместимости операционным системам, предназначенным для выполнения на процессорах, имеющих различающиеся архитектуры. Кроме соблюдения приведенных выше условий, необходимо также организовать эмуляцию двоичного кода. Пусть, например, требуется выполнить DOS-программу для IBM PC-совместимого компьютера на компьютере Macintosh. Компьютер Macintosh построен на основе процессора Motorola 680x0, а компьютер IBM PC – на основе процессора Intel 80x86. Процессор Motorola имеет архитектуру (систему команд, состав регистров и т.п.), отличную от архитектуры Intel, поэтому ему совершенно непонятен двоичный код DOS-программы, содержащей инструкции этого процессора. Для того, чтобы компьютер Macintosh смог интерпретировать машинные инструкции, которые ему изначально непонятны, на нем должно быть установлено специальное программное обеспечение – эмулятор .



Назначение эмулятора состоит в том, чтобы последовательно выбирать каждую двоичную инструкцию процессора Intel, программным способом дешифровать ее, чтобы определить, какие действия она задает, а затем выполнять эквивалентную подпрограмму, написанную в инструкциях процессора Motorola. Поскольку вследствие архитектурных отличий процессор Motorola не имеет в точности таких же регистров, флагов и внутреннего арифметико-логического устройства, как в процессоре Intel, он должен эмулировать (имитировать) и все эти элементы с использованием своих регистров и памяти. Состояние эмулируемых регистров и флагов после выполнения каждой инструкции должно быть точно таким же, как и в реальном процессоре Intel. Эта не очень сложная с точки зрения программной реализации задача требует для своего выполнения достаточно большого количества ресурсов компьютера. Реально на компьютере Macintosh можно запускать на выполнение только небольшие DOS-приложения, не требующие активного использования ресурсов компьютера.

Тем не менее, существует несколько другой, гораздо более эффективный выход из описанной ситуации – использование так называемых прикладных программных сред. Одной из составляющих, формирующих программную среду, является набор функций интерфейса прикладного программирования API, которым ОС обеспечивает свои приложения. Для сокращения времени выполнения чужих программ прикладные среды имитируют обращения к библиотечным функциям. Эффективность данного подхода определяется тем, что большинство современных программ работают под управлением графических интерфейсов пользователя (GUI) типа Windows, Mac или UNIX Motif, при этом приложения, как правило, наибольшую часть времени тратят на выполнение некоторых хорошо предсказуемых действий. Они непрерывно осуществляют вызовы библиотек GUI для манипулирования окнами и для других, связанных с GUI, действий. Сегодня в среднестатистической программе около 60-80% времени выполнения тратится на выполнение функций GUI и остальных библиотечных вызовов ОС. Именно эта особенность приложений позволяет прикладным средам компенсировать большие затраты времени, потраченные на покомандное эмулирование программы. Тщательно спроектированная программная среда имеет в своем составе библиотеки, имитирующие внутренние библиотеки GUI, но написанные на “родном” коде данной ОС. Таким образом достигается существенное ускорение выполнения программ с API другой операционной системы. Для того чтобы отличить такой подход от более медленного процесса эмулирования кода по одной команде за раз, его называют трансляцией .

Например, для Windows-программы, работающей на Macintosh, при интерпретации команд процессора Intel 80x86 производительность может быть очень низкой. Но когда происходит вызов функции GUI открытия окна, модуль ОС, реализующий прикладную среду Windows, перехватывает этот вызов и направляет его на перекомпилированную для процессора Motorola 680x0 подпрограмму открытия окна. В результате на подобных участках кода скорость работы программы может достичь скорости работы на своем “родном” процессоре.

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

15. Внешние устройства ПК: диалоговые, запоминающие, телекоммуникационные.

Внешние устройства (ВУ) ПК - важнейшая составная часть любого вычислительного комплекса, достаточно сказать, что по стоимости ВУ составляют до 80 - 85 % стоимости всего ПК.

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

К внешним устройствам относятся:

внешние запоминающие устройства (ВЗУ) или внешняя память ПК;

диалоговые средства пользователя;

устройства ввода информации;

устройства вывода информации;

средства связи и телекоммуникации.

Диалоговые средства пользователя включают в свой состав видеомониторы (дисплеи) и устройства речевого ввода-вывода информации.

Видеомонитор (дисплей) - устройство для отображения вводимой и выводимой из ПК информации.

Устройства речевого ввода-вывода относятся к быстро развивающимся средствам мультимедиа.

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

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

К устройствам ввода информации относятся:

клавиатура - устройство для ручного ввода числовой, текстовой и управляющей информации в ПК;

графические планшеты (дигитайзеры) - для ручного ввода графической информации, изображений путем перемещения по планшету специального указателя (пера); при перемещении пера автоматически выполняется считывание координат его местоположения и ввод этих координат в ПК;

сканеры (читающие автоматы) - для автоматического считывания с бумажных носителей и ввода в ПК машинописных текстов, графиков, рисунков, чертежей;

устройства указания (графические манипуляторы) - для ввода графической информации на экран дисплея путем управления движением курсора по экрану с последующим кодированием координат курсора и вводом их в ПК (джойстик - рычаг, “мышь”, трекбол - шар в оправе, световое перо и др.);

сенсорные экраны - для ввода отдельных элементов изображения, программ или команд с полиэкрана дисплея в ПК.

К устройствам вывода информации относятся:

принтеры - печатающие устройства для регистрации информации на бумажный носитель;

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

Устройства связи и телекоммуникации используются для связи с приборами и другими средствами автоматизации (согласователи интерфейсов, адаптеры, цифро-аналоговые и аналого-цифровые преобразователи и т.п.) и для подключения ПК к каналам связи, к другим ЭВМ и вычислительным сетям (сетевые интерфейсные платы, “стыки”, мультиплексоры передачи данных, модемы).

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

Многие из названных выше устройств относятся к условно выделенной группе - средствам мультимедиа.

Мультимедиа (multimedia - многосредовостъ) средства - это комплекс аппаратных и программных средств, позволяющих человеку общаться с компьютером, используя самые разные, естественные для себя среды: звук, видео, графику, тексты, анимацию и др.

К средствам мультимедиа относятся:

устройства речевого ввода и вывода информации;

микрофоны и видеокамеры;

акустические и видеовоспроизводящие системы с усилителями, звуковыми колонками, большими видеоэкранами;

звуковые и видеоплаты, платы видеозахвата, снимающие изображение с видеомагнитофона или видеокамеры и вводящие его в ПК;

сканеры (поскольку они позволяют автоматически вводить в компьютер печатные тексты и рисунки);

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







Назначение и функции операционной системы.

Назначение ОС - организация вычислительного процесса в вычислительной системе, рациональное распределение вычислительных ресурсов между отдельными решаемыми задачами; предоставление пользователям многочисленных сервисных средств, облегчающих процесс программирования и отладки задач. Операционная система исполняет роль своеобразного интерфейса (Интерфейс - совокупность аппаратуры и программных средств, необходимых для подключения периферийных устройств к ПЭВМ) между пользователем и ВС, т.е. ОС предоставляет пользователю виртуальную ВС. Это означает, что ОС в значительной степени формирует у пользователя представление о возможностях ВС, удобстве работы с ней, ее пропускной способности. Различные ОС на одних и тех же технических средствах могут предоставить пользователю различные возможности для организации вычислительного процесса или автоматизированной обработки данных.

Функции ОС:

1) Планирование заданий. Использование процессора.

2) Обеспечение программ средствами коммуникации и синхронизации.

3) Управление памятью.

4) Управление файловой системой.

5) Управление вводом выводом.

6) Обеспечение безопасности.

Виды интерфейсов пользователя операционных систем

По типу пользовательского интерфейса различают текстовые (линейные), графические и речевые операционные системы.

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

Текстовые ОС

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

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

Графические ОС

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

Примером исключительно графических ОС являются операционные системы семейства Windows. Стартовый экран подобных ОС представляет собой системный объект, называемый рабочим столом. Рабочий стол - это графическая среда, на которой отображаются объекты (файлы и каталоги) и элементы управления.

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

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

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

Речевые ОС

В случае SILK-интерфейса (от англ. speech – речь, image – образ, language – язык, knowledge – знание) – на экране по речевой команде происходит перемещение от одних поисковых образов к другим.

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

Планирование заданий.

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

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

наступление определённого времени

операционная система переходит в определённое состояние (бездействие, спящий режим и т. д.)

поступил административный запрос через пользовательский интерфейс или через инструменты удалённого администрирования.

Microsoft Windows

В версиях Windows до XP включительно данный сервис предоставлялся, в основном, для нужд конечного пользователя. Начиная с Windows Vista, данный сервис активно используется самой операционной системой для обслуживания (дефрагментация разделов жёсткого диска, тестирование компонентов, индексирование файлов и т. д.).

Cron - демон-планировщик задач в UNIX-подобных операционных системах.

Организация ввода-вывода.

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

Backoff Processor

Очень редкая опция и не совсем однозначно трактуемая. BOFF# (Back Off) - сигнал безусловного отключения процессора от шины. По этому сигналу процессор отдает управление шиной в следующем же такте с прерыванием текущего цикла. По окончании действия сигнала "BOFF#" процессор рестартует прерванный шинный цикл. Возможные значения опции:

"Disabled" (или "No"),

"Enabled" (или "Yes").

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

Опция может называться "Backoff CPU".

Base I/O Address

Опция установки базового адреса устройства. I/O-адреса - это адреса ввода/вывода, называемые также портами системных и периферийных устройств. По сути, это "почтовые ящики", через которые программы и устройства обмениваются сообщениями, данными. Каждому адресу отведен один байт системной памяти. Начиная с 386-х систем таких адресов имеется в наличии 65536, хотя большинство из них никогда не используется.

Базовый I/O-адрес - это первый адрес из того адресного пространства, что предоставлен данному устройству. Например, большинство сетевых адаптеров использует адресный диапазон в 20h, а для COM 1 резервируется диапазон с адресами от 3F8h по 3FFh, которые используются для различных задач, например, установки скорости, четности, т.п. Весь адресный диапазон ввода/вывода - 0000-FFFFh.

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

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

Рассмотренная выше опция "Extended I/O Decode" показала нам некоторые нюансы и даже сложности декодирования адресов ввода/вывода. Опция "PCI I/O Start Address", предназначенная в общем-то для PCI-устройств, тем не менее позволяет для ISA-устройств создать дополнительную область адресов и тем самым избежать "неприятных накладок".

Branch Target Buffer

Просто редчайшая функция, скорее в смысле уникальности, а не частоты появления в различных версиях BIOS. О чем идет речь? BTB (Branch Target Buffer - буфер адресов перехода) - блок центрального процессора, отвечающий за динамическое предсказание переходов. При этом принимается во внимание, какие адреса переходов были выбраны ранее. Это важнейший узел современного процессора (см. специальную литературу).

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

CPU ADS# Delay 1T or Not

Опция установки задержки для сигнала ADS#. Несколько предваряющих слов. ADS# (Address Status) - строб адреса, вводимый инициатором обмена как индикатор действительности адреса. Сигнал действует на системной шине и может быть выходным как стороны процессора, так и со стороны чипсета. Передача адреса и адресного строба происходит одновременно, поскольку для адресного строба системная шина имеет свою выделенную линию. Понятно, что ADS# - это стандартный сигнал процессоров.

Представленная опция указывает и на возможность отсутствия задержки, что повышает скоростные характеристики обмена данными в системе. Фактически данная опция позволяет устанавливать время, в течение которого процессор (или чипсет, контроллер памяти) будет ждать от чипсета (процессора) сигнал статуса адреса данных, который определяет скорость отложенной записи на системной шине. Понятно, что речь также идет о передаче данных в PCI-интерфейс. Значение, устанавливаемое по умолчанию, менять нет необходимости. Однако при установке более скоростного процессора скорость можно и увеличить, т.е. снять задержку.

Вынесенная в заголовок опция имеет два значения: "1T", "No Delay".

А вот опция "Cyrix M2 ADS# delay" предложила стандартные "Enabled" и "Disabled". Опция "Latency from ADS# status" предложила числовые значения в тактах системной шины: "2T" (по умолчанию), "3T".

Необходимо понимать, что устанавливая "время задержки", мы тем самым определяем временные характеристики циклов записи. И с учетом того, что использование буфера отложенной записи ведет, как правило, к формированию небольших пакетов (двойными словами или в два DW). Поэтому установив значение "3T", мы получаем 5 системных тактов для каждого двойного слова. Арифметика тут простая. 3 такта задержки, один адресный такт и один такт на считывание данных.

CPU BIST Enable

В некоторых чипсетах, начиная с 430-й серии, нашли применение специализированные BIST-регистры. Большой нагрузки они не несли. Если система (чипсет + процессор) поддерживает функцию встроенного самотестирования (Built-In Self Test), то BIST-регистр хранит в своих разрядах команды "Start BIST" или "Completion Code". Если "система" не поддерживает BIST-функции, то установка опции в "Enabled" не даст эффекта, а в соответствующих разрядах регистра будут установлены "0".

Встроенный и, что немаловажно, полноценный механизм самотестирования BIST был реализован в процессорах Pentium III. Он обеспечивал постоянный контроль над зависаниями и сбоями в микрокоде, больших программируемых логических матрицах, а также обеспечивал тестирование кэша команд (инструкций) и кэша данных, буферов TLB (Translation Lookaside Buffer - буфера страничной переадресации) и сегментов памяти ROM. В течение 10-30 мсек (время связано с внутренней частотой ядра процессора) внутренним тестированием охватывается около двух третей всех внутренних блоков процессора. Лишь только после завершения теста процессор переходит в рабочий режим, результаты же теста фиксируются в регистре EAX.

CPU Drive Strength

Данная и не совсем ясная опция определяет интенсивность (strength), а точнее длительность действия сигналов при передаче данных от чипсета к процессору. Параметр измеряется в системных тактах. Чем выше значение параметра, тем выше длительность сигналов, а применение этой опции "BIOS Setup" может оказаться полезным для процедур "разгона" процессоров. Но не для всякой системы увеличение значений опции может привести к сохранению стабильности "разогнанного" процессора. Значения опции следующие: 0, 1, 2, 3.

Осталось добавить, что данная опция требует дополнительного уточнения.

CPU Fast String

- (быстрые операции со строками). Разрешение этого параметра ("Enabled") позволяет использовать некоторые специфические особенности архитектуры семейства процессоров Pentium Pro (Pentium II, Deschutes и т.п.), в частности, возможность кэширования операций со строками. Надо только понимать, что и в самой пользовательской программе должны быть выполнены условия для включения этого механизма. Эти условия указаны в документации на любой процессор данного семейства. Параметр рекомендуется оставлять в состоянии "Разрешено".

CPU Line Read Multiple

В данной опции речь идет о чтении процессором т.н. "full cache"-линии. Когда "cache"-линия заполнена данными, то их объем составляет 32 байта (восемь двойных слов). Поскольку линия "полная", система точно знает, как долго данные на линии будут считываться. На это системе потребуется 4 такта, после чего будет выставлен новый адрес. Поэтому системе не требуется сигнал об окончании передачи данных, и система не будет находиться в ожидании такого сигнала, будучи свободной для решения других задач. Когда опция включена ("Enabled"), процессор сможет считывать данные одновременно с нескольких "full cache"-линий. По умолчанию - "Disabled".

Опция может называться "CPU Multiple Reads".

Перечисленные ниже функции не содержат свойств множественности, но их размещение в данном месте более чем оправдано. Вот их наименования: "Allow Full Line Reads", "Full Cache Line Reads", "CPU Line Read". Каждая из них через "Disabled" или "Enabled" запрещает или разрешает использование "полных" линий чтения.

Опция "CPU-to-PCI Read-Line" имеет значения "On" и "Off", но различия на этом не заканчиваются. Опция под таким наименованием была введена и оптимизирована для работы с процессорами Intel OverDrive. Поэтому повышение эффективности использования CPU может быть достигнуто только с указанными процессорами. В противном случае опция должна быть отключена.

CPU Read Multiple Prefetch

Опция включения/отключения режима множественной предвыборки. Смысл процесса предвыборки (prefetch) заключается в том, что процессор, выбирая нужную инструкцию (например, из PCI-шины или памяти), одновременно начинает читать следующую, тем самым инициируя следующий процесс. Этому "способствует" то, что чипсет может иметь четыре линии чтения. Например, первые наборы логики с поддержкой процессоров Pentium Pro (Intel 450KX/GX, оба с кодовым названием Orion) как раз имели 4 такие линии чтения. Множественная же предвыборка позволяет выполнять одновременно несколько операций выборки инструкций, что существенно повышает быстродействие системы. По умолчанию устанавливается "Disabled".

Опция может называться и "CPU Multiple Read Prefetch".

Если же речь не идет о "множественных" операциях, то опция может называться "CPU Line Read Prefetch", "CPU Read Prefetch".

I/O Space Access

Данная опция через "Enabled" разрешает доступ ко всему пространству адресов ввода/вывода. Редкий BIOS обходится без странных опций.

Processor Number Feature

Опция для установки автоматического считывания и вывода информации о встроенном серийном номере процессора Pentium III в BIOS материнских плат, поддерживающих его установку. Для реализации такой возможности, естественно, требуется значение параметра как "Enabled". Во всех остальных случаях устанавливается значение "Disabled". Оно же устанавливается по умолчанию.

Опция может носить название "Processor S/N".

В "Phoenix BIOS" встречена аналогичная опция с названием "CPU Serial Number", а в "AMI BIOS" - "Processor Serial Number".

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

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

Файловая система – это часть ОС, включающая:

1) Совокупность всех файлов на диске.

2) Наборы структур данных, используемых для управления файлами.

3) Комплекс системных программных средств, реализующих различные операции над файлами.

Функции ФС:

1) Именование файла.

2) Программный интерфейс для приложений.

3) Отображение логической модели файловой системы на физическую организацию хранения данных.

4) Устойчивость файловой системы к сбоям питания.

Типы файлов:

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

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

3) Специальные файлы – это файлы, ассоциированные с устройствами ввода вывода системы, которые используются для механизма доступа к отдельным файлам и внешним устройствам.

Современные ФС поддерживают другие типы файлов: символьные связи; именованные конвейеры; отображаемые в память файлы и др.

Microsoft все еще поставляет свою сетевую ОС LAN Manager. Большое количество независимых поставщиков имеют лицензии на эту ОС и поддерживают свои собственные версии LAN Manager как часть своих сетевых продуктов. В число этих компаний входят такие известные фирмы как AT&T и Hewlett-Packard. LAN Manager требует установки на файл-сервере операционной системы OS/2, рабочие станции могут работать под DOS, Windows или OS/2. OS/2 - это операционная система, реализующая истинную многозадачность, работающая в защищенном режиме микропроцессоров x86 и выше. LAN Manager использует 32-х битную версию файловой системы OS/2, называемую HPFS, которая оптимизирована для работы на файл-сервере за счет кэширования каталогов и данных. LAN Manager - это первая сетевая ОС, разработанная для поддержки среды клиент-сервер. Ключевыми компонентами LAN Manager являются редиректор и сервер. Особенно эффективно LAN Manager поддерживает архитектуру клиент-сервер для систем управления базами данных. LAN Manager разрешает рабочим станциям под OS/2 поддерживать сетевой сервис по технологии "равный-с-равным". Это означает, что рабочая станция может выполнять функции сервера баз данных, принт-сервера или коммуникационного сервера. Ограничением является то, что только один пользователь, кроме владельца этой рабочей станции, имеет доступ к такому одноранговому сервису.

Для работы в небольшой сети фирма Microsoft предлагает компактную, не требующую значительных аппаратных или программных затрат операционную систему Windows for Workgroups. Эта операционная система позволяет организовать сеть по схеме "равный-с-равным", при этом нет необходимости приобретать специальный компьютер для работы в качестве сетевого сервера. Эта операционная система особенно подходит для решения сетевых задач в коллективах, члены которого ранее широко использовали Windows 3.1. В Windows for Workgroups достигнута высокая производительность сетевой обработки за счет того, что все сетевые драйверы являются 32-х разрядными виртуальными драйверами.

Компьютеры с изображением семицветного яблочка уже давно перестали быть диковинкой. Их теперь можно встретить практически везде – в издательствах, рекламных агентствах, дизайн - студиях. Высокую популярность компьютеров Apple среди верстальщиков и дизайнеров можно объяснить множеством причин, но высокое качество, удобный интерфейс и надежность работы техники этой марки отмечают все. К новому тысячелетию компания подходит уверенно занимающей достойное место среди крупнейших производителей компьютеров. Новые разработки на базе процессоров PowerPC 750 (G3) уже завоевали заслуженную популярность, и Apple готовит к выпуску еще более мощные модели компьютеров, оснащенные надежной и удобной операционной системой MacOS. Одна из последних моделей – iMac – стала просто хитом сезона, побив все рекорды по продажам. Отличительные особенности этого компьютера – высокая вычислительная мощность, простота установки и настройки, элегантный дизайн при невысокой стоимости.

Исходная философия для разработки Unix состоит в распределении функциональности по нескольким маленьким частям, программам.

Изначально это было требованием, исходящим из аппаратуры, на которой Unix изначально работал. По какой-то странной причине, получившаяся операционная система оказалось весьма полезной на другой аппаратуре. Вы можете относительно просто достичь новой функциональности и новых возможностей, объединяя маленькие части (программы) новым способом. Если появляются новые утилиты (так и происходит), Вы можете встроить его в Ваш старый инструментарий. К сожалению, в наше время программы для Unix становятся все большими, и включают в себя все больше возможностей, но некоторая гибкость и возможность взаимодействия по-прежнему остается. К примеру, когда я писал этот документ, я активно использовал эти программы; fvwm – для управления "окнами", emacs для редактирования текста, LaTeX - для форматирования его, xdvi для просмотра отформатированного текста, dvips - для подготовки его к печати, и, наконец, lpr для печати. Если я завтра найду новую лучшую программу просмотра dvi, я смогу использовать ее вместо старой, не изменяя остальных установок.

Сетевые ОС.

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

Задачи:

Разделение ресурсов;

Администрирование сети.

Делятся на:

Сетевые ОС для серверов;

Сетевые ОС для пользователей.

Сетевая ОС составляет основу любой вычислительной сети.

Под сетевой ОС:

В широком смысле: понимается совокупность ОС отдельных компьютеров, взаимосвязанных с целью обмена сообщениями и разделения ресурсов по единым правилам – протоколам. Эти протоколы обеспечивают основные функции сети: адресацию объектов; функционирование служб; обеспечение безопасности данных; управление сетью.

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

Делятся на классы:

Одноранговые (ставится одна и та же ОС);

Двухранговые (которые чаще называют сетями с выделенными серверами).

Тупиковые ситуации.

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

ОС в состоянии тупика ("зависание") - когда несколько процессов находятся в состоянии тупика.

Простая тупиковая ситуация в ОС:

Пусть имеются 2 процесса A и B, которым перед началом работы предоставлены ресурсы P1 и P2 соответственно. В какой-то момент времени процессу A понадобился P2, а процессу B - P1, но они их не получат, т.к. они удерживаются предыдущими процессами => наступила простая тупиковая ситуация в ОС.

Правила предотвращения тупиков в ОС:

Прежде чем процесс начнет свою работу, ему должны быть предоставлены все требуемые ресурсы.

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

Бесконечное откладывание процесса.

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

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

Управление ресурсами.

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

планирование ресурса - то есть определение, кому, когда, а для делимых ресурсов и в каком количестве, необходимо выделить данный ресурс;

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

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

Типы операционных систем. Понятие операционной системы.

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

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

Такие системы обеспечивают одновременное обслуживание многих пользователей, позволяя каждому пользователю взаимодействовать со своим заданием в режиме диалога. Эффект одновременного обслуживания достигается разделением процессорного времени и других ресурсов между несколькими вычислительными процессами, которые соответствуют отдельным заданиям пользователей. Операционная система предоставляет ЭВМ каждому вычислительному процессу в течение небольшого интервала времени; если вычислительный процесс не завершился к концу очередного интервала, он прерывается и помещается в очередь ожидания, уступая ЭВМ другому вычислительному процессу. ЭВМ в этих системах функционирует в мультипрограммном режиме.
Операционная система разделения времени может применяться не только для обслуживания пользователей, но и для управления технологическим оборудованием. В этом случае “пользователями” являются отдельные блоки управления исполнительными устройствами, входящими в состав технологического оборудования: каждый блок взаимодействует с определённым вычислительным процессом в течение интервала времени, достаточного для передачи управляющих воздействий на исполнительное устройство или приёма информации от датчиков.
Операционные системы реального времени.
Данные системы гарантируют оперативное выполнение запросов в течение заданного интервала времени. Запросы могут поступать от пользователей или от внешних по отношению к ЭВМ устройств, с которыми системы связаны каналами передачи данных. При этом скорость вычислительных процессов в ЭВМ должна быть согласована со скоростью процессов, протекающих вне ЭВМ, т. е. согласована с ходом реального времени. Эти системы организуют управление вычислительными процессами таким образом, чтобы время ответа на запрос не превышало заданных значений. Необходимое время ответа определяется свойствами объектов (пользователей, внешних устройств), обслуживаемых системой. Операционные системы реального времени используются в информационно– поисковых системах и системах управления технологическим оборудованием. ЭВМ в таких системах функционирует чаще в многозадачном режиме.
Диалоговые операционные системы.
Данные операционные системы получили широкое распространение в персональных ЭВМ. Эти системы обеспечивают удобную форму диалога с пользователем через дисплей при вводе и выполнении команд. Для выполнения часто используемых последовательностей команд, т. е. заданий, диалоговая операционная система предоставляет возможность пакетной обработки. Под управлением диалоговой ОС ЭВМ обычно функционирует в однопрограммном режиме.

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

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

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

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

Windows CE, ОС-9, Symbian и LynxOS вот некоторые из широко известных операционных систем реального времени.

Многопользовательские и однопользовательские операционные системы: Компьютерные операционные системы этого типа позволяют нескольким пользователям получать доступ в компьютерную систему одновременно. Системы с разделением времени могут быть классифицированы как многопользовательские системы, поскольку они позволяют множественный доступ пользователей к компьютеру через разделение времени. Однопользовательские операционные системы в отличие от многопользовательских операционных систем могут использоваться только одним пользователем одновременно. Возможность создания несколько пользователей в операционной системе Windows, не делает ее многопользовательской системой. Скорее, только администратор сети является реальным пользователем. Но для Unixи подобных операционных систем, есть возможность сразу двум пользователям войти в систему в одно время, и эта возможность ОС делает ее многопользовательской операционной системой.

Windows 95, Windows2000, MaxOS и P al m OS являются примерами однопользовательских операционных систем. U ni x и Op enVMS примеры многопользовательских операционных систем.

Многозадачность и однозадачность операционных систем: Когда разрешено запускать одновременно только одну программу, система группируются под категорией однозадачной системы, а в случае, если операционная система позволяет выполнение нескольких задач одновременно, классифицируется как многозадачная операционная система. Многозадачность может быть двух типов, а именно упреждающей или кооперативной. В многозадачной операционной системе посвящает один слот для каждой из программ. Unix-подобные операционные системы, такие как Solaris и Linux, поддерживают многозадачность. Кооперативная многозадачность достигается при опоре на каждом процессе, чтобы дать время для других процессов в определенном порядке. Этот вид многозадачности похож на идею блока многопоточности, в которой один поток проходит, пока другой заблокирован каким-либо другим событием. MS Windowsдо Windows 95 используют для поддержки кооперативную многозадачность.

PalmOS для Palm КПК являются однозадачными операционными системами. 9x Windows, поддерживает многозадачность. DOS + является относительно менее известной многозадачной операционной системой. Он может поддерживать многозадачность из четырех 86-битных программ.

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

Амеба, Plan9 и ЛОКУС (разработанные в 1980-х годах) являются примерами распределенных операционных систем.

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

Windows CE, FreeBSD и Mini x 3 примеры встраиваемых операционных систем. Использование Linuxво встраиваемых компьютерных систем называют Embedded Linux.

Мобильная операционная система: Хотя она по функционалу и не является родом операционных систем, мобильная ОС, безусловно, важное упоминание в списке типов операционных систем. Мобильная ОС управляет мобильным устройством, ее дизайн поддерживает беспроводную связь и мобильные приложения. Она имеет встроенную поддержку мобильных мультимедийных форматов. Планшетные ПК и смартфонов работают на мобильных операционных системах.

Blackberry OS, Androidот Googleи IOS от Apple являются одними из самых известных мобильных операционных систем.

Пакетная обработка и интерактивные системы: Пакетная обработка относится к исполнению компьютерных программ в «партиях» без ручного вмешательства. В системах пакетной обработки, программы собраны, сгруппированы и обрабатываются в более поздний срок. В них нет запросов пользователей для входа, входные данные собираются заранее для дальнейшей обработки. Входные данные собираются и обрабатываются в партиях, отсюда и название пакетной обработки. IBM, ОС имеет возможности пакетной обработки.

Интернет и сеть: В онлайн-обработке данных, пользователь остается в контакте с компьютером и процессы выполняются под управлением центрального процессора компьютера. Когда процессы не выполняются под прямым контролем процессора, обработка упоминается как в автономном режиме. Давайте возьмем пример пакетной обработки. Здесь дозирование или группировка данных может быть сделана без пользователя и вмешательства центрального процессора; это может быть сделано в автономном режиме. Но выполнение самого процесса может произойти под непосредственным управлением процессора, то есть в Интернете.

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



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: