Вопросы к экзамену по эвм. ЭВМ. 1. Понятие алгоритма, программы, операции, команды, адреса
Скачать 1.61 Mb.
|
49. Организация управления памятью.Сегментная и страничная память Функции системы управления памятью Чтобы обеспечить эффективный контроль использования памяти, ОС должна выполнять следующие функции: · отображение адресного пространства процесса на конкретные области физической памяти; · распределение памяти между конкурирующими процессами; · контроль доступа к адресным пространствам процессов; · выгрузка процессов (целиком или частично) во внешнюю память, когда в оперативной памяти недостаточно места; · учет свободной и занятой памяти. Главная задача компьютерной системы - выполнять программы. Программы, в течение выполнения, вместе с данными, к которым они имеют доступ должны (по крайней мере, частично) находиться в главной (основной, оперативной) памяти. Таким образом, память (storage, memory) является важнейшим ресурсом, требующим тщательного управления. В недавнем прошлом память - самый дорогой ресурс. Часть ОС, которая управляет памятью, называется менеджером памяти. В процессе эволюции в менеджерах памяти современных ОС было реализовано несколько основополагающих идей. Функциями ОС по управлению памятью являются: отображение адресов программы на конкретную область физической памяти, распределение памяти между конкурирующими процессами и защита адресных пространств процессов, выгрузка процессов на диск, когда в оперативной памяти недостаточно места для всех процессов, учет свободной и занятой памяти. Существует несколько схем управления памятью. Выбор той или иной схемы зависит от многих факторов. Рассматривая ту или иную схему важно учитывать: Механизм управления памятью или идеологию построения системы управления. Архитектурные особенности используемой системы. Структуры данных в ОС, используемые для управления памятью. Алгоритмы, используемые для управления памятью. 50. Управление процессом выполнения программы.Важнейшей частью операционной системы, непосредственно влияющей на функционирование вычислительной машины, является подсистема управления процессами. Процесс (или по-другому, задача) - абстракция, описывающая выполняющуюся программу. Для операционной системы процесс представляет собой единицу работы, заявку на потребление системных ресурсов. Подсистема управления процессами планирует выполнение процессов, то есть распределяет процессорное время между несколькими одновременно существующими в системе процессами, а также занимается созданием и уничтожением процессов, обеспечивает процессы необходимыми системными ресурсами, поддерживает взаимодействие между процессами. При запуске программы ОС загружает ее в ОЗУ и передает управление в заранее описанную компилятором точку входа, после чего программа фигачит дальше подряд по всем командам, изредка отвлекаясь на прерывания. В конце программа сообщает ОС, что ее можно убивать, вызовом прерывания ОС или через API. Это в архитектуре ПК, для нерезидентных и не являющихся обработчиками прерываний программ. В других вычислительных устройствах могут быть вариации. 51. Разработка управляющих программ в среде инструментальных (технологических) ОС. Структура типовой инструментальной ОС.Инструментальная система технологии программирования предназначена для поддержки всех процессов разработки и сопровождения в течение всего жизненного цикла ПС и ориентирована на коллективную разработку больших программных систем с длительным жизненным циклом. Для таких систем стоимость сопровождения обычно превышает стоимость разработки. Инструментальные среды программирования содержат прежде всего текстовый редактор, позволяющий конструировать программы на заданном языке программирования, инструменты, позволяющие компилировать или интерпретировать программы на этом языке, а также тестировать и отлаживать полученные программы. Кроме того, могут быть и другие инструменты, например, для статического или динамического анализа программ. Взаимодействуют эти инструменты между собой через обычные файлы с помощью стандартных возможностей файловой системы. Различают следующие классы инструментальных сред программирования (см. рис. 14.2): · среды общего назначения,· языково-ориентированные среды. Инструментальные среды программирования общего назначения содержат набор программных инструментов, поддерживающих разработку программ на разных языках программирования (например, текстовый редактор, редактор связей или интерпретатор языка целевого компьютера) и обычно представляют собой некоторое расширение возможностей используемой операционной системы. Для программирования в такой среде на каком-либо языке программирования потребуются дополнительные инструменты, ориентированные на этот язык (например, компилятор). 52. Принципы построения и работы трех типов трансляторов: ассемблеров, компиляторов, интерпретаторов.Транслятор — программа или техническое средство, выполняющее трансляцию программы.[1][2] Трансляция программы — преобразование программы, представленной на одном из языков программирования, в программу на другом языке и, в определённом смысле, равносильную первой. Транслятор, который преобразует программы в машинный язык, принимаемый и исполняемый непосредственно процессором, называется компилятором. Процесс компиляции как правило состоит из нескольких этапов: лексического, синтаксического и семантического анализов, генерации промежуточного кода, оптимизации и генерации результирующего машинного кода. Ассемблер — компьютерная программа, компилятор исходного текста программы, написанной на языке ассемблера, в программу на машинном языке. В отличие от компилирования, ассемблирование — более или менее однозначный и обратимый процесс. В языке ассемблера каждой мнемонике соответствует одна машинная инструкция, в то время как в языках программирования высокого уровня за каждым выражением может скрываться большое количество различных инструкций. В принципе, это деление достаточно условно, поэтому иногда трансляцию ассемблерных программ также называют компиляцией. Интерпретация— пооператорный (покомандный, построчный) анализ, обработка и тут же выполнение исходной программы или запроса (в отличие от компиляции, при которой программа транслируется без её выполнения). Простой интерпретатор анализирует и тут же выполняет (собственно интерпретация) программу покомандно (или построчно), по мере поступления её исходного кода на вход интерпретатора. Достоинством такого подхода является мгновенная реакция. Недостаток — такой интерпретатор обнаруживает ошибки в тексте программы только при попытке выполнения команды (или строки) с ошибкой. Алгоритм работы простого интерпретатора прочитать инструкцию; проанализировать инструкцию и определить соответствующие действия; выполнить соответствующие действия; если не достигнуто условие завершения программы, прочитать следующую инструкцию и перейти к пункту 2. 53. Понятие о назначении, составе и порядке использования средств отладки и редактирования пользовательских программ.Отла́дка — этап разработки компьютерной программы, на котором обнаруживают, локализуют и устраняют ошибки. Чтобы понять, где возникла ошибка, приходится : · узнавать текущие значения переменных; · выяснять, по какому пути выполнялась программа. Существуют две взаимодополняющие технологии отладки. · Использование отладчиков — программ, которые включают в себя пользовательский интерфейс для пошагового выполнения программы: оператор за оператором, функция за функцией, с остановками на некоторых строках исходного кода или при достижении определённого условия. · Вывод текущего состояния программы с помощью расположенных в критических точках программы операторов вывода — на экран, принтер, громкоговоритель или в файл. Вывод отладочных сведений в файл называется журналированием. Типичный цикл разработки, за время жизни программы многократно повторяющийся, выглядит примерно так: 1. Программирование — внесение в программу новой функциональности, исправление ошибок в имеющейся. 2. Тестирование (ручное или автоматизированное; программистом, тестером или пользователем; «дымовое», в режиме чёрного ящика или модульное…) — обнаружение факта ошибки. 3. Воспроизведение ошибки — выяснение условий, при которых ошибка случается. Это может оказаться непростой задачей при программировании параллельных процессов и при некоторых необычных ошибках, известных как гейзенбаги. 4. Отладка — обнаружение причины ошибки. Способности программиста к отладке — это, по-видимому, важнейший фактор в обнаружении источника проблемы, но сложность отладки сильно зависит от используемого языка программирования и инструментов, в частности, отладчиков. Отладчик представляет из себя программный инструмент, позволяющий программисту наблюдать за выполнением исследуемой программы, останавливать и перезапускать её, прогонять в замедленном темпе, изменять значения в памяти и даже, в некоторых случаях, возвращать назад по времени. Использование языков программирования высокого уровня, таких как Java, обычно упрощает отладку, поскольку содержат такие средства как обработка исключений, сильно облегчающие поиск источника проблемы. В некоторых низкоуровневых языках, таких как ассемблер, ошибки могут приводить к незаметным проблемам — например, повреждениям памяти или утечкам памяти, и бывает довольно трудно определить что стало первоначальной причиной ошибки. В этих случаях, могут потребоваться изощрённые приёмы и средства отладки. 54. Понятие о вычислительном комплексе, вычислительной системе и вычислительной сети как развитии понятия ЭВМ в процессе эволюции средств вычислительной техники.Вычислительная система (ВС) — это совокупность взаимодействующих элементов, предназначенная для управления вычислительным процессом. Она состоит из технического и программного обеспечения. Следовательно, в качестве вычислительной системы можно рассматривать компьютер, так как это техническое устройство (точнее, совокупность устройств) для автоматической обработки, хранения и представления информации. Компьютер состоит из множества частей (подсистем), каждая из которых выполняет свою уникальную функцию. Вычислительный комплекс - совокупность технических средств, включающих в себя несколько ЭВМ или процессоров и общесистемного (базового) ПО (прикладное ПО не рассматривается). 55. Понятие о многомашинном и многопроцессорном комплексах. Особенности организации вычислительных процессов. Сравнительная характеристика, условия применения.Многомашинные вычислительные системы — это системы, содержащие несколько одинаковых или различных, относительно самостоятельных компьютеров, связанных между собой через устройство обмена информацией, в частности, по каналам связи. В последнем случае речь идет об информационно-вычислительных сетях На уровне каналов связи взаимодействие организуется наиболее просто, и может быть достигнуто внешними по отношению к ОС программами-драйверами, обеспечивающими доступ от каналов связи одной машины к внешним устройствам других (формируется общее поле внешней памяти и общий доступ к устройствам ввода-вывода). Ввиду сложности организации информационного взаимодействия на 1-м и 2-м уровнях в большинстве многомашинных ВС используется 3-й уровень, хотя и динамические характеристики (в первую очередь быстродействие), и показатели надежности таких систем существенно ниже. Многопроцессорные вычислительные системы — это системы, содержащие несколько процессоров, информационно взаимодействующих между собой либо на уровне регистров процессорной памяти, либо на уровне оперативной памяти. Последний тип взаимодействия принят в большинстве случаев, так как организуется значительно проще и сводится к созданию общего поля оперативной памяти для всех процессоров. Общий доступ к внешней памяти и к устройствам ввода-вывода обеспечивается обычно через каналы оперативной памяти. Важным является и то, что многопроцессорная вычислительная система работает под управлением единой операционной системы, общей для всех процессоров. Это существенно улучшает динамические характеристики ВС, но требует наличия специальной, весьма сложной операционной системы. Быстродействие и надежность многопроцессорных ВС по сравнению с многомашинными, взаимодействующими на 3-м уровне, существенно повышаются, во-первых, ввиду ускоренного обмена информацией между процессорами, более быстрого реагирования на ситуации, возникающие в системе; во-вторых, вследствие большей степени резервирования устройств системы (система сохраняет работоспособность, пока работоспособны хотя бы по одному модулю каждого типа устройств). Типичным примером массовых многомашинных ВС могут служить компьютерные сети, примером многопроцессорных вычислительных систем (МПВС) — суперкомпьютеры 56. Примеры структур вычислительных комплексов на базе микропроцессоров для систем управления.Применение микропроцессорных систем практически во всех электрических устройствах — важнейшая черта технической инфраструктуры современного общества. Электроэнергетика, промышленность, транспорт, системы связи существенно зависят от компьютерных систем управления. Микропроцессорные системы встраиваются в измерительные приборы, электрические аппараты, осветительные установки и д.р. Всё это обязывает электрика знать хотя бы основы работы микропроцессорной техники. Микропроцессорные системы предназначены для автоматизации обработки информации и управления различными процессами. Микропроцессорная система включает в себя аппаратное обеспечение или по-английски – hardware и программное обеспечение (ПО) — software. Цифровая информация Микропроцессорная систем а работает с цифровой информацией, которая представляет собой последовательность цифровых кодов. В основе любой микропроцессорной системы лежит микропроцессор, который способен воспринимать только двоичные числа (составленные из 0 и 1). Двоичные числа записываются посредством двоичной системы счисления. Например, в повседневной жизни мы пользуемся десятичной системой счисления, в которой для записи чисел используются десять символов или цифр 0,1,2,3,4,5,6,7,8,9. Соответственно в двоичной системе таких символов (или цифр) всего два – 0 и 1. |