Может ли программа эмулируемая на чужом процессоре

Как работают эмуляторы? Когда я вижу эмуляторы NES/SNES или C64, это меня поражает.

Нужно ли эмулировать процессор этих машин, интерпретируя его конкретные инструкции ассемблера? Что еще для этого нужно? Как они обычно проектируются?

Можете ли вы дать какой-нибудь совет человеку, заинтересованному в написании эмулятора (в частности, игровой системы)?

968 2009-01-15T22:10:15+00:00 16
Michael Myers
Редактировал вопрос 11-го июня 2013 в 4:00
Комментарии к вопросу (5)
Решение / Ответ
Cody Brocious
15-го января 2009 в 10:13
2009-01-15T22:13:48+00:00

Дополнительно

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

КАК УЗНАТЬ КАКИЕ ИНСТРУКЦИИ ПОДДЕРЖИВАЕТ ТВОЙ ПРОЦЕССОР ?(ПОДДЕРЖКА ИНСТРУКЦИЙ SSE 4.1/4.2)

Основная идея:

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

Эмуляция процессора:

Существует три способа работы с эмуляцией процессора:

  • Интерпретация
  • Динамическая рекомпиляция
  • Статическая рекомпиляция Все эти пути имеют одну и ту же общую цель: выполнить часть кода, чтобы изменить состояние процессора и взаимодействовать с ‘оборудованием’. Состояние процессора — это совокупность регистров процессора, обработчиков прерываний и т.д. для данного процессора. Для 6502 у вас есть ряд 8-битных целых чисел, представляющих регистры: A , X , Y , P и S ; у вас также есть 16-битный регистр PC . При интерпретации вы начинаете с IP (указатель инструкции — также называемый PC , счетчик программ) и считываете инструкцию из памяти. Ваш код разбирает эту инструкцию и использует эту информацию для изменения состояния процессора в соответствии с требованиями вашего процессора. Основная проблема интерпретации заключается в том, что она очень_медленная; каждый раз, когда вы работаете с данной инструкцией, вы должны декодировать ее и выполнить необходимую операцию. При динамической перекомпиляции вы итерируете код так же, как и при интерпретации, но вместо того, чтобы просто выполнять операционные коды, вы создаете список операций. Дойдя до инструкции ветвления, вы компилируете этот список операций в машинный код для вашей хост-платформы, затем кэшируете этот скомпилированный код и выполняете его. Затем, когда вы снова попадаете в данную группу инструкций, вам нужно выполнить только код из кэша. (BTW, большинство людей на самом деле не составляют список инструкций, а компилируют их в машинный код на лету — это усложняет оптимизацию, но это выходит за рамки данного ответа, если только это не заинтересует достаточное количество людей). При статической перекомпиляции вы делаете то же самое, что и при динамической перекомпиляции, но вы следуете по ветвям. В итоге вы создаете кусок кода, представляющий весь код программы, который затем может быть выполнен без дальнейшего вмешательства. Это был бы отличный механизм, если бы не следующие проблемы:
  • Код, которого изначально нет в программе (например, сжатый, зашифрованный, сгенерированный/измененный во время выполнения и т.д.), не будет перекомпилирован, поэтому он не будет выполняться.
  • Было доказано, что поиск всего кода в заданном двоичном файле эквивалентен проблеме Халтинга. Все это в совокупности делает статическую перекомпиляцию полностью невыполнимой в 99% случаев. Для получения дополнительной информации, Майкл Стейл провел отличное исследование статической рекомпиляции — лучшее, что я видел. Другая сторона эмуляции процессора — это способ взаимодействия с аппаратным обеспечением. Здесь действительно есть две стороны:
  • Тайминг процессора
  • Обработка прерываний

Время работы процессора:

Некоторые платформы — особенно старые консоли, такие как NES, SNES и т.д. — требуют от вашего эмулятора строгой синхронизации для полной совместимости. На NES есть PPU (блок обработки пикселей), который требует, чтобы процессор помещал пиксели в память в точные моменты времени. Если вы используете интерпретацию, вы можете легко подсчитать циклы и эмулировать правильную синхронизацию; с динамической/статической перекомпиляцией все намного сложнее.

Не все ядра CPU отображаются. Что делать если видно только 2 ядра

Обработка прерываний:

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

Эмуляция аппаратного обеспечения:

Ресурсы:

Я думаю, что я дал довольно хорошее введение здесь, но есть тонна дополнительных областей. Я более чем счастлив помочь с любыми вопросами; я’был очень расплывчатым в большей части этого просто из-за огромной сложности.

Источник: kzen.dev

Ядро операционной системы

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

Совместимость и множественные прикладные среды

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

Двоичная совместимость и совместимость исходных текстов

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

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

Совместимость на уровне исходных текстов важна в основном для разработчиков приложений, в распоряжении которых эти исходные тексты всегда имеются. Но для конечных пользователей практическое значение имеет только двоичная совместимость, так как только в этом случае они могут использовать один и тот же коммерческий продукт, поставляемый в виде двоичного исполняемого кода, в различных операционных средах и на различных машинах. Для пользователя, купившего в свое время пакет (например, Lotus 1-2-3) для MS-DOS, важно, чтобы он мог запускать этот полюбившийся ему пакет без каких-либо изменений и на своей новой машине, работающей под управлением, например, Windows NT.

Читайте также:
Программа для аниме сделать

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

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

Гораздо сложнее достичь двоичной совместимости операционным системам, предназначенным для выполнения на процессорах, имеющих разные архитектуры. Помимо соблюдения приведенных выше условий необходимо организовать эмуляцию двоичного кода. Пусть, например, требуется выполнить DOS-программу для IBM PC-совместимого компьютера на компьютере Macintosh. Компьютер Macintosh построен на основе процессора Motorola 680×0, а компьютер IBM PC — на основе процессора Intel 80×86. Процессор Motorola имеет архитектуру (систему команд, состав регистров и т. п.), отличную от архитектуры процессора Intel, поэтому ему непонятен двоичный код DOS-программы, содержащей инструкции этого процессора. Для того чтобы компьютер Macintosh смог интерпретировать машинные инструкции, которые ему изначально непонятны, на нем должно быть установлено специальное программное обеспечение — эмулятор. Эмулятор должен последовательно выбирать каждую двоичную инструкцию процессора Intel, программным способом дешифрировать ее, чтобы определить, какие действия она задает, а затем выполнять эквивалентную подпрограмму, написанную в инструкциях процессора Motorola. Так как к тому же у процессора Motorola нет в точности таких же регистров, флагов и внутреннего арифметико-логического устройства, как в Intel, он должен также имитировать (эмулировать) все эти элементы с использованием своих регистров или памяти. Состояние эмулируемых регистров и флагов после выполнения каждой команды должно быть абсолютно таким же, как и в реальном процессоре Intel. Это простая, но очень медленная работа, так как одна команда процессора Intel исполняется значительно быстрее, чем эмулирующая его последовательность команд процессора Motorola. Трансляция библиотек Выходом в таких случаях является использование так называемых прикладных программных сред. Одной из составляющих, формирующих прикладную программную среду, является набор функций интерфейса прикладного программирования API, которые операционная система предоставляет своим приложениям. Для сокращения времени на выполнение чужих программ прикладные среды имитируют обращения к библиотечным функциям. Эффективность этого подхода связана с тем, что большинство сегодняшних программ работают под управлением GUI (графических интерфейсов пользователя) типа Windows, Mac или UNIX Motif, при этом приложения тратят большую часть времени, производя некоторые хорошо предсказуемые действия. Они непрерывно выполняют вызовы библиотек GUI для манипулирования окнами и для других связанных с GUI действий. Сегодня в типичных программах 60-80 % времени тратится на выполнение функций GUI и других библиотечных вызовов ОС. Именно это свойство приложений позволяет прикладным средам компенсировать большие затраты времени, потраченные на покомандное эмулирование программы. Тщательно спроектированная программная прикладная среда имеет в своем составе библиотеки, имитирующие внутренние библиотеки GUI, но написанные на «родном» коде. Таким образом достигается существенное ускорение выполнения программ с API другой операционной системы. Иногда такой подход называют трансляцией для того, чтобы отличать его от более медленного процесса эмулирования кода по одной команде за раз. Например, для Windows-программы, работающей на Macintosh, при интерпретации команд процессора Intel 80×86 производительность может быть очень низкой. Но когда производится вызов функции GUI открытия окна, модуль ОС, реализующий прикладную среду Windows, может перехватить этот вызов и перенаправить его на перекомпилированную для процессора Motorola 680×0 подпрограмму открытия окна. В результате на таких участках кода скорость работы программы может достичь (а возможно, и превзойти) скорость работы на своем «родном» процессоре. Чтобы программа, написанная для одной ОС, могла быть выполнена в рамках другой ОС, недостаточно лишь обеспечить совместимость API. Концепции, положенные в основу разных ОС, могут входить в противоречие друг с другом. Например, в одной операционной системе приложению может быть разрешено непосредственно управлять устройствами ввода-вывода, в другой — эти действия являются прерогативой ОС. Каждая операционная система имеет свои собственные механизмы защиты ресурсов, свои алгоритмы обработки ошибок и исключительных ситуаций, особую структуру процесса и схему управления памятью, свою семантику доступа к файлам и графический пользовательский интерфейс. Для обеспечения совместимости необходимо организовать бесконфликтное сосуществование в рамках одной ОС нескольких способов управления ресурсами компьютера. Способы реализации прикладных программных сред Создание полноценной прикладной среды, полностью совместимой со средой другой операционной системы, является достаточно сложной задачей, тесно связанной со структурой операционной системы. Существуют различные варианты построения множественных прикладных сред, отличающиеся как особенностями архитектурных решений, так и функциональными возможностями, обеспечивающими различную степень переносимости приложений. Во многих версиях ОС UNIX транслятор прикладных сред реализуется в виде обычного приложения. В операционных системах, построенных с использованием микроядерной концепции, таких как, например, Windows NT или Workplace OS, прикладные среды выполняются в виде серверов пользовательского режима. А в OS/2 с ее более простой архитектурой средства организации прикладных сред встроены глубоко в операционную систему. Один из наиболее очевидных вариантов реализации множественных прикладных сред основывается на стандартной многоуровневой структуре ОС. На рис. 3.13 операционная система OS1 поддерживает кроме своих «родных» приложений приложения операционных систем OS2 и OS3. Для этого в ее составе имеются специальные приложения — прикладные программные среды, — которые транслируют интерфейсы «чужих» операционных систем API OS2 и API OS3 в интерфейс своей «родной» операционной системы — API OS1. Так, например, в случае, если бы в качестве OS2 выступала операционная система UNIX, а в качестве OS1 — OS/2, для выполнения системного вызова создания процесса fork() в UNIX-приложении программная среда должна обратиться к ядру операционной системы OS/2 с системным вызовом DosExecPgm(). Рис. 3.13. Прикладные программные среды, транслирующие системные вызовы К сожалению, поведение почти всех функций, составляющих API одной ОС, как правило, существенно отличается от поведения соответствующих функций другой ОС. Например, чтобы функция создания процесса в OS/2 DosExecPgm() полностью соответствовала функции создания процесса forkO в UNIX-подобных системах, ее нужно было бы изменить, чтобы она поддерживала возможность копирования адресного пространства родительского процесса в пространство процесса-потомка. (При нормальном же поведении этой функции память процесса-потомка инициализируется на основе данных нового исполняемого файла.) В другом варианте реализации множественных прикладных сред операционная система имеет несколько равноправных прикладных программных интерфейсов. В приведенном на рис. 3.14 примере операционная система поддерживает приложения, написанные для OS1, OS2 и OS3. Для этого непосредственно в пространстве ядра системы размещены прикладные программные интерфейсы всех этих ОС: API OS1, API OS2 и API OS3. В этом варианте функции уровня API обращаются к функциям нижележащего уровня ОС, которые должны поддерживать все три в общем случае несовместимые прикладные среды. В разных ОС по-разному осуществляется управление системным временем, используется разный формат времени дня, на основании собственных алгоритмов разделяется процессорное время и т. д. Функции каждого API реализуются ядром с учетом специфики соответствующей ОС, даже если они имеют аналогичное назначение. Например, как уже было сказано, функция создания процесса работает по-разному для приложения UNIX и приложения OS/2. Аналогично при завершении процесса ядру также необходимо определять, к какой ОС относится данный процесс. Если этот процесс был создан по запросу UNIX-приложения, то в ходе его завершения ядро должно послать родительскому процессу сигнал, как это делается в ОС UNIX. А по завершении процесса OS/2, созданного с параметром EXEC_SYNC, ядро должно отметить, что идентификатор процесса не может быть повторно использован другим процессом OS/2. Для того чтобы ядро могло выбрать нужный вариант реализации системного вызова, каждый процесс должен передавать в ядро набор идентифицирующих характеристик.

Рис. 3.14. Реализация совместимости на основе нескольких равноправных API Еще один способ построения множественных прикладных сред основан на микроядерном подходе. При этом очень важно отделить базовые, общие для всех прикладных сред, механизмы операционной системы от специфических для каждой из прикладных сред высокоуровневых функций, решающих стратегические задачи. В соответствии с микроядерной архитектурой все функции ОС реализуются микроядром и серверами пользовательского режима. Важно, что каждая прикладная среда оформляется в виде отдельного сервера пользовательского режима и не включает базовых механизмов (рис. 3.15). Приложения, используя API, обращаются с системными вызовами к соответствующей прикладной среде через микроядро. Прикладная среда обрабатывает запрос, выполняет его (возможно, обращаясь для этого за помощью к базовым функциям микроядра) и отсылает приложению результат. В ходе выполнения запроса прикладной среде приходится, в свою очередь, обращаться к базовым механизмам ОС, реализуемым микроядром и другими серверами ОС. Такому подходу к конструированию множественных прикладных сред присущи все достоинства и недостатки микроядерной архитектуры, в частности:

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

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

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

Задачи и упражнения 1. Какие из приведенных ниже терминов являются синонимами?

  • привилегированный режим;
  • защищенный режим;
  • режим супервизора;
  • пользовательский режим;
  • реальный режим;
  • режим ядра

2. Можно ли, анализируя двоичный код программы, сделать вывод о невозможности ее выполнения в пользовательском режиме? 3. В чем состоят отличия в работе процессора в привилегированном и пользовательском режимах? ; 4. В идеале микроядерная архитектура ОС требует размещения в микроядре только тех компонентов ОС, которые не могут выполняться в пользовательском режиме. Что заставляет разработчиков операционных систем отходить от этого принципа и расширять ядро за счет перенесения в него функций, которые могли бы быть реализованы в виде процессов-серверов? 5. Какие этапы включает разработка варианта мобильной ОС для новой аппаратной платформы? 6. Опишите порядок взаимодействия приложений с ОС, имеющей микроядерную архитектуру. 7. Какими этапами отличается выполнение системного вызова в микроядерной ОС и ОС с монолитным ядром? 8. Может ли программа, эмулируемая на «чужом» процессоре, выполняться быстрее, чем на «родном»?

31

Источник: studfile.net

Операционные системы (Синергия/МОИ/МТИ) – Ответы к тестам

Тесты по операционным системам (Синергия). Тесты успешно сданы, около 80 % ответов – верные. Для поиска нужных вопросов в скаченном файле нажмите ctrl + F.

Читайте также:
Программа посмотреть как записан в телефоне у других на Айфон

1. Состояние готовности для выполнения процесса относится к задачам, выполняющимся:

*В однопрограммном режиме.

*В обоих режимах

*В мультипрограммном режиме.

2. Элемент занимающий большую часть экрана в графической оболочки ASPLinux, называеться:

3. Последовательность операций программы или часть программы при ее выполнении, называется:

4. Для того чтобы смонтировать привод CD-ROM в каталог /MyCD, нужно ввести команду:

*mount -t vfat /dev/fd0 /diskA

*mount -t iso9660 /dev/cdrom

*mount -t iso9660 /dev/cdrom /MyCD

*mount /dev/cdrom г.

5. Чем ограничивается максимальный размер виртуального адресного пространства, доступного приложению:

*Разрядностью адреса в системе команд.

*Физическим размером оперативной памяти компьютера.

*Разрядностью счетчика команд процессора.

6. Может ли программа, эмулируемая на «чужом» процессоре выполняться быстрее, чем нам собственном («родном») процессоре:

7. Сетевая операционная система – это… :

*Нет правильного ответа

*Совокупность ОС всех компьютеров сети.

*Набор сетевых служб, выполненных в виде оболочки.

*ОС отдельного компьютера сети.

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

9. Можно ли задачу планирования процессов целиком возложить на приложения:

10. Пароль пользователя должен иметь структуру:

*иметь не менее 6 и не более 256 символов

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

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

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

15. Какие из приведенных ниже терминов являются синонимами :

*Режим разделения времени.

16. С помощью каких устройств операции ввода-вывода можно выполнять параллельно с вычислительным процессом даже в однопроцессорных системах:

*С помощью контроллеров внешних устройств

*С помощью кэш-памяти

*С помощью диспетчера памяти

17. В UNIX для процессов предусмотрены два режима выполнения:

18. Тип установки ОС, при которой устанавливаются основные компоненты и требуется 450 Мб называется:

19. Подкаталоги (домашние каталоги) пользователей имеют путь:

20. Суперпользователь — не имеет ограничений в доступе к системным ресурсам, может выполнять любые административные действия, имеет Login Name:

21. В результате каких из перечисленных причин процессы переходит в состояние приостановленных процесс :

*Ошибка ввода вывода.

*Завершение родительского процесса.

*Запрос от родительского процесса.

22. Процесс :

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

*Объектный код программы, хранящийся на диске.

*Процедура загрузки программы.

*Выполняемая программа, включающая текущее значение счетчика команд, регистров и переменных.

23. Где хранятся таблицы страниц и таблицы сегментов:

*В оперативной памяти.

*Часть в оперативной памяти, часть на диске.

24. Планирование процессов – это … :

*Выбор для выполнения процесса из очереди готовых для выполнения процессов.

*Переключение процессора с одного процесса на другой.

*Определение момента времени для смены текущего активного процесса.

25. Какие события вызывают перепланирование процессов :

*Аппаратное прерывание по завершению ввода-вывода.

*Прерывание от таймера.

*Нет правильного ответа

*Внутреннее прерывание, сообщающее об ошибке выполнения активной задачи.

26. Требования, предъявляемые к ОС (указать неверное):

27. Компонент операционной системы управляющий работой фоновых процессов, имеет Login Name:

28. ОС, которая выполняется целиком только на одном из процессоров системы, распределяя прикладные задачи по остальным процессорам, называется:

29. Микроядро:

*Ядро операционной системы персонального компьютера.

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

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

30. С помощью какой команды можно ввести или изменить пароль пользователя:

*userdel -r имя_пользователя

31. Корневой каталог имеет путь:

32. К системам, обладающим не вытесняющей многозадачностью, можно отнести:

33. Интерфейс — это… :

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

*комплекс аппаратных средств

*элемент программного продукта

*часть сетевого оборудования

*элемент управления файлами

34. Интерфейс — это… :

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

*Составная часть устройства, программы, системы, данных.

*Граница раздела двух систем, устройств или программ.

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

35. С помощью какой команды можно вывести список файлов текущего каталога:

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

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

*Операционная система и аппаратура компьютера.

38. Может ли компьютер работать без операционной системы:

39. Вытеснение:

*Завершение работающего процесса.

*Возврат ресурса захваченного процессом до окончательного его использования этим процессом.

*Захват памяти родительского процесса порожденным процессом.

40. Виртуальный адрес:

*Адрес оперативной памяти ЭВМ

*Адрес области оперативной памяти, в которой расположено ядро операционной системы

*Адрес данных на диске

*Адрес, присваиваемый транслятором переменным и кодам каждой программы.

41. С помощью какой команды можно добавить пользователя:

*userdel -r имя_пользователя

42. Являются ли синонимами термины «планирование процессов» и «диспетчеризация процессов»:

43. К многозадачным ОС относят:

44. Образ процесса:

*Все составляющие процесса, включая программный код, данные, стек и управляющий блок процесса

*Данные, передаваемые по сети как единый модуль, который может содержать управляющую информацию, адрес и данные.

*Структура данных, содержащая информацию о характеристиках и состоянии процесса.

45. Многозадачность:

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

Режим работы, при котором обеспечивается параллельная работа пользователей с нескольких *подключенных к вычислительной системе терминалов.

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

46. Может ли процесс в мультипрограммном режиме выполняться быстрее, чем в монопольном режиме:

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

*Интерфейс прикладного программирования.

48. Чем ограничивается максимальный размер физической памяти, которую можно установить в компьютере определенной модели:

*Выбранным типом операционной системы.

*Характеристиками аппаратуры компьютера.

*Разрядностью адреса в системе команд.

49. … — ОС преимуществом, которой является то, что ее можно копировать и распространять бесплатно

50. Мультипроцессирование (multiprocessing):

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

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

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

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

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

53. … – программа с развитым полноэкранным интерфейсом, включающим использование мыши, предлагающая меню с перечнем всех имеющихся на компьютере ОС.

Вы можете убедиться в качестве данной работы. Часть теста представлена ниже:

Источник: sdal5.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru