Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Билет 15



1. Управление задачами в ОС

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

· создание и удаление задач;

· планирование процессов и диспетчеризация задач;

· синхронизация задач, обеспечение их средствами коммуникации.

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

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

2. Разделы дисков, логическая структура, организация доступа

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

В некоторых системах управления файлами требуется, чтобы каждый архив файлов целиком располагался на одном диске (разделе диска). В этом случае полное имя файла начинается с имени дискового устройства, на котором установлен соответствующий диск (буквы диска). Например, c:\util\nu\ndd.exe. Такой способ именования используется в файловых системах DEC и Microsoft.

Преимущества использования разделов

-на одном физическом жёстком диске можно хранить информацию в разных файловых системах;

-можно отделить информацию пользователя от файлов операционной системы;

-на одном жёстком диске можно установить несколько операционных систем;

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

Структура диска, разбитого на разделы

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

В первом секторе каждого основного раздела находится загрузочный сектор, отвечающий за загрузку операционной системы с этого раздела. В MBR под таблицу разделов выделено 64 байта. Каждая запись занимает 16 байт. Таким образом, всего на жестком диске может быть создано не более 4 разделов. Когда разрабатывалась структура MBR, это считалось достаточным. Однако, позднее был введён дополнительный раздел, структура которого (EBR) может поддерживать неограниченное число логических дисков (разделов).

3. Пример маршрутизации в сетевой ОС

Таблица маршрутов может заполняться различными способами. Статическая маршрутизация применяется в том случае, когда используемые маршруты не могут измениться в течение времени. Статические маршруты определяются администратором сети или конкретного хоста. В случае сетей со сложной топологией, когда существует несколько вариантов маршрутов от одного хоста к другому и (или) когда состояние сети (топология, качество каналов связи) изменяется с течением времени, таблицы маршрутов составляются динамически с помощью различных протоколов маршрутизации. Различают протоколы внешней (exterior) и внутренней (interior) маршрутизации. Маршрутизацию можно настроить через командную строку. Но здесь будет сложнее, ибо нужно знать дополнительную информацию, к примеру шлюз сети. Запустить её нужно будет от имени администратора"запуск от имени администратора". набираем команду "route print", смотрим уже на созданные маршруты, там как раз можно и увидеть шлюз, хотя можно было заглянуть просто в свойства подключения, но нам нужно знать не только это, а также интерфейс сетевой карты. Выше маршрутов находится список интерфейсов, к примеру вот один из них "12...** ** ** ** ** ** ", то есть у встроенной сетевой карты номер интерфейса равен 12, за место звёздочек должен быть mac-адрес (физический адрес). Теперь, когда мы знаем шлюз и номер интерфейса можем добавить постоянный маршрут и задать для него метрику.

Вот готовый пример, как нужно добавлять маршрут: "route -p add 0.0.0.0 mask 0.0.0.0 192.168.0.1 metric 1 if 12" без ковычек, так же и второй маршрут, только уже с другим шлюзом и метрикой "route -p add 0.0.0.0 mask 0.0.0.0 10.141.102.1 metric 1 if 11"

Билет №16

1. Состав системного программного обеспечения.

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

Системное ПО. Это программы общего пользования не связаны с конкретным применением ПК и выполняют традиционные функции: планирование и управление задачами, управления вводом-выводом и т.д. К системному ПО относятся:операционные системы (эта программа загружается в компьютером, чем с помощью командной строки DOS, например, Norton Commander); операционные оболочки – интерфейсные системы, которые используются для создания графических интерфейсов, мультипрограммирования и.т. Драйверы (программы, предназначенные для управления портами периферийных устройств, обычно загружаются в оперативную память при запуске компьютера); утилиты (вспомогательные или служебные программы)

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

2. ASM компилятор и аналоги.

Компиля́тор —программа, переводящая текст программы на языке высокого уровня в эквивалентную программу на машинном языке.

Компиляция —трансляция программы на язык, близкий к машинному.

Flat assembler (FASM) — свободно распространяемый многопроходной ассемблер. FASM написан на самом себе, обладает небольшими размерами и очень высокой скоростью компиляции, имеет богатый и ёмкий макро-синтаксис, позволяющий автоматизировать множество рутинных задач. Поддерживаются как объектные форматы, так и форматы исполняемых файлов. Компиляция программы в fasm состоит из 2 стадий: препроцессирование и ассемблирование. На стадии препроцессора раскрываются все макросы, символические константы, обрабатываются директивы препроцессора. В отличие от стадии ассемблирования, препроцессирование выполняется только 1 раз.

На стадии ассемблирования определяются адреса меток, обрабатываются условные директивы, раскрываются циклы и генерируется собственно программа. Fasm — многопроходной ассемблер, что позволяет ему делать некоторую оптимизацию, например, генерирование короткого перехода на метку вместо длинного. Во время прохода компилятор не всегда может вычислить выражение в условных директивах. В этом случае он делает какой-нибудь выбор и пытается скомпилировать дальше. Благодаря тому, что адреса меток, вычисленные на N-ном проходе, используются на N+1-проходе, этот процесс обычно сходится.

3. Командная строка OS.

Командная оболочка — это отдельный программный продукт, который обеспечивает прямую связь между пользователем и операционной системой. Текстовый пользовательский интерфейс командной строки предоставляет среду, в которой выполняются приложения и служебные программы с текстовым интерфейсом. Командная оболочка Windows XP использует интерпретатор команд Cmd.exe.

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

Естественное расширение интерфейса командной строки — пакетный интерфейс. Его суть в том, что в файл обычного текстового формата записывается последовательность команд, после чего этот файл можно выполнить в программе, что возымеет такой же (не меньший) эффект, как если бы эти команды были по очереди введены в командную строку. Примеры —.bat-файлы в DOS и Windows, shell-скрипты в Unix-системах.

Основное применение интерфейса командной строки — интерфейс операционной системы. В Windows язык командной строки не имеет чёткой стандартизации, однако существует стандарт командной строки POSIX и его модификация в рамках GNU

Любую команду можно вызвать небольшим количеством нажатий.

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

Билет №17

1. Управление задачами в ОС.

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

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

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

2. Poledit

Poledit - редактор системных правил. Poledit накладывает запреты на изменение параметров windows. Эта программа не чистит реестр, но имеет непосредственное отношение к реестру. Программа предназначена, для создания/редактирования файлов системных правил, настройки загрузки и конфигурации локальной сети. Каким же образом записи о настройках попадают в реестр? Создаются и изменяются они с помощью программы, называемой «Редактор системных правил» (далее — poledit, как он, в общем-то, и зовется). Программа эта представляет собой, в сущности, редактор реестра, но интерфейс, по сравнению с regedit, имеет несравненно более дружелюбный. Если последний позволяет редактировать любое значение в любом месте, то poledit сводит в одно окно параметры из самых различных ветвей, группируя их по воздействию на пользователя. Например, настройки сети собраны в одном разделе, настройки рабочего стола в другом, настройки программ — в третьем. Все это подписано по-русски и позволяет вносить изменения с помощью привычных для нас элементов — радиокнопок, раскрывающихся списков, а не изменением не всегда внятных значений ключей с помощью regedit.

3. Настройка Windows.

Как и в предыдущих версиях Windows XP, чрезмерное количество иконок и обои требуют большого расхода системной памяти. Особенно тяжелым бременем на систему ложится анимированный рабочий стол, так что лучше отказаться от обоев и иконок. В опции Memory Usage при установленном размере физической памяти 256 Мб и выше отметьте параметр System Cash. Если памяти на компьютере меньше 256 Мб, то система будет работать быстрее при установленном значении Programs. Корпорация Microsoft создала параметр, который позволяет ускорить загрузку приложений. Для этого достаточно добавить в свойствах программы ключ /prefetch:1. Можно столкнуться с проблемой Windows XP при открытии файлов в Проводнике с расширением.avi. При нажатии на такой файл, система пытается прочесть данные из него (размер, ширина, высота и т.д.). Для решения этой проблемы необходимо в ключе реестра: HKEY_CLASSES_ROOT\SystemFileAssociations\.avi\shellex\PropertyHandler удалить значение по умолчанию {87D62D94-71B3-4b9a-9489-5FE6850DC73E}. Теперь в окне не будут показываться свойства файла.

Билет №18

1. Управление файлами в ОС.

Одной из основных задач ОС является предоставление удобств пользователю при работе с данными, хранящимися на дисках. Для этого ОС подменяет физическую структуру хранящихся данных некоторой удобной для пользователя логической моделью, которая реализуется в виде дерева каталогов, выводимого на экран такими утилитами, как Norton Commander, Far Manager или Windows Explorer. Базовым элементом этой модели является файл, который так же, как и файловая система в целом, может характеризоваться как логической, так и физической структурой. Файловая система (ФС) — это компонент ОС, обеспечивающий организацию создания, хранения и доступа к именованным наборам данных - файлам. Задачи, решаемые ФС, зависят от способа организации вычислительного процесса в целом. Самый простой тип – это ФС в однопользовательских и однопрограммных ОС. Основные функции в такой ФС нацелены на решение следующих задач: Именование файлов.; Программный интерфейс для приложений.; Отображения логической модели ФС на физическую организацию хранилища данных. Устойчивость ФС к сбоям питания, ошибкам аппаратных и программных средств. Задачи ФС усложняются в однопользовательских многозадачных ОС, которые предназначены для работы одного пользователя, но дают возможность запускать одновременно несколько процессов. К перечисленным выше задачам добавляется новая задача - совместный доступ к файлу из нескольких процессов.

2. Regedit и regedt32.

Regedit. Редактор реестра-это одна из главных состовляющих операционной системы Windows. Благодаря реестру изменяются политики, разрешается или запрещается доступ к разным состовляющим(каталогам,программам и проч.) Для запуска редактора реестра необходимо нажать кнопку Пуск,выбрать пункт меню "Выполнить" Теперь вводим regedit и нажимаем кнопку "ОК".После этого запустится редактор реестра.

Реестр содержит пять корневых разделов (ветвей), каждый из них включает подразделы, отображаемые в левой части окна в виде значка папки. Конечным элементом дерева реестра являются ключи или параметры, делящиеся на три типа:- строковые (напр. "C:\ Windows"); - двоичные (напр. 10 82 A0 8F). Максимальная длина такого ключа 16Кб; - DWORD. Этот тип ключа занимает 4 байта и отображается в шестнадцатеричном и в десятичном виде (напр. 0x00000020 (32) - в скобках указано десятичное значение ключа). Теперь нужно узнать, что такое reg-файл, и что с ним делать. Reg-файл - это файл, имеющий определенную структуру и содержащий информацию, которая может быть импортирована в реестр. К reg-файлам предъявляются определенные требования по структуре.

Редактор реестра Regedt32, который существует только в Windows NT/2000, имеет интерфейс, абсолютно отличный от интерфейса Regedit. Для каждого из корневых разделов реестра этот редактор открывает отдельное окно.

3. Файловые возможности командной строки ОС.

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

Командная оболочка Windows использует интерпретатор команд Cmd.exe, который загружает приложения и направляет поток данных между приложениями, для перевода введенной команды в понятный системе вид. Консоль командной строки присутствует во всех версиях операционных систем Windows. Пуск -> Выполнить и введите имя программы cmd.exe

Для того, чтобы перейти к нужному каталогу, необходимо применить команду cd. Например, если необходимо запустить программу Exif Pilot.exe, которая находится в каталоге C:\Program Files\Exif Pilot Pro, то необходимо выполнить команду cd C:\Program Files\Exif Pilot Pro. Можно то же самое сделать, сменяя каталоги один за другим и поочередно вызывая команду cd.

Для того чтобы распечатать содержимое папки, достаточно набрать команду dir. например dir > report.txt.

Для копирования и вставки текста в окно командной строки обычные для Windows комбинации клавиш, такие как Ctrl+C, Ctrl+V, работать не будут.

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

Для копирования текста из окна выберите пункт Пометить и мышью выделите нужный текст. Затем либо нажмите Enter, либо в том же меню выберите Копировать. Если надо вставить какой-то текст в окно командной строки, обратитесь к команде Вставить.

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

Билет №19

1. Утилиты.

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

Функции утилит: Управление параметрами оборудования — ограничение максимальной скорости вращения CD-привода; изменение скорости вращения кулеров. Контроль показателей — проверка ссылочной целостности; правильности записи данных.

1. Общая структура команд на ассемблере.

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

Типы утилит: Дисковые утилиты и Дефрагментаторы. Проверка диска — поиск неправильно записанных либо повреждённых различным путём файлов и участков диска и их последующее удаление: CHKDSK, fsck, Scandisk.; Очистка диска — удаление временных файлов, ненужных файлов, чистка «корзины»: Очистка диска, CCleaner. Разметка диска — деление диска на логические диски, которые могут иметь различные файловые системы и восприниматься операционной системой как несколько различных дисков: PartitionMagic, GParted, fdisk. Утилиты работы с реестром: CCleaner, Reg Organizer.

1. Link и make.

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

Это означает, что для использова­ния уже существующих библиотек при разработке но­вой программы достаточно просто дать команду ком­поновщику на присоединение. Примером компоновщика является программа-утили­та LINK.EXE, входящая в состав дисковой операцион­ной системы PC-DOS

Компоновщик — программа, которая производит компоновку — принимает на вход один или несколько объектных модулей и собирает по ним исполнимый модуль.

Утилита сопровождения программы фирмы "Майкрософт", называемая MAKE, может использоваться с целью значительного повышения уровня автоматизации разработки программ. Утилита MAKE используется для автоматического обновления готового к выполнению файла всякий раз, когда вносятся изменения в один или более ее исходных объектных файлов; кроме того с помощью этой утилиты можно обновлять любой файл всякий раз, когда вносят- ся изменения в другие смежные файлы. Чтобы использовать утилиту MAKE, необходимо создать "файл описаний", содержащий команды для утилиты MAKE по построению данного проекта.

2. Расширения файлов.

Расширение имени файла — последовательность символов, добавляемых к имени файла и предназначенных для идентификации типа (формата) файла. Это один из распространённых способов, с помощью которых пользователь или программное обеспечение компьютера может определить тип данных, хранящихся в файле. Расширение обычно отделяется от основной части имени файла точкой. В операционных системах CP/M и MS-DOS длина расширения была ограничена тремя символами, в современных операционных системах это ограничение отсутствует. Иногда могут использоваться несколько расширений, следующих друг за другом, например, «.tar.gz».

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

Иногда расширение указывает формат лишь в общем (например, расширение.doc использовалось для множества различных форматов текста — как простого, так и форматированного; а расширение «txt» не даёт никакой информации о том, в какой кодировке текст в файле), из‑за чего необходимо использовать и другие способы определения формата

Билет №20__

2. Explorer и файловые оболочки.

Проводник Windows (Explorer) — это приложение, реализующее графический интерфейс доступа пользователя к файлам в операционной системе Microsoft Windows. Проводник в настоящее время фактически является основой графической оболочки пользователя Windows. В Windows одна из программ является оболочкой. Программу-оболочку можно заменить на другую. Существуют альтернативные оболочки: Emerge Desktop, Aston, GreenGnome и другие.

Всё, что видит пользователь после загрузки Windows (иконки рабочего стола, панель задач, меню «Пуск» — кроме, разве что, «обоев») — это Проводник Windows. Но иногда Проводником называют его часть, предназначенную для манипуляции файлами.

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

В Windows 7 появилась возможность «запускать окна с папками в отдельном процессе». На практике это приводит к тому, что в системе постоянно запущены два процесса explorer.exe. Один из них отвечает за рабочий стол, панель задач, часы и пр. внешний вид. Второй процесс отвечает именно за просмотр папок. Если в случае зависания завершить второй процесс, то привычный внешний вид не потеряет функционала. При открытии проводника система создает недостающий второй процесс. Основным преимуществом по сравнению с одиночным процессом является то, что не нужно вызывать диспетчер задач и создавать новую задачу для продолжения работы в системе после зависания проводника.

3. Компиляторы.

Компиля́тор — программа или техническое средство, выполняющее компиляцию. Компиляция — трансляция программы, составленной на исходном языке высокого уровня, в эквивалентную программу на низкоуровневом языке, близком машинному коду (абсолютный код, объектный модуль, иногда на язык ассемблера). Виды компиляторов: Векторизующий. Транслирует исходный код в машинный код компьютеров, оснащённых векторным процессором. Отладочный. Устраняет отдельные виды синтаксических ошибок. Самокомпилируемый. Написан на том же языке, с которого осуществляется трансляция.

Процесс компиляции состоит из следующих этапов:

1. Лексический анализ. На этом этапе последовательность символов исходного файла преобразуется в последовательность лексем.

2. Синтаксический (грамматический) анализ. Последовательность лексем преобразуется в дерево разбора.

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

4. Оптимизация. Выполняется удаление излишних конструкций и упрощение кода с сохранением его смысла.

5. Генерация кода. Из промежуточного представления порождается код на целевом языке.

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

непосредственно из поля смещения машинной команды, которое может иметь размер 8, 16, 32 бит. Это значение однозначно определяет байт, слово или двойное слово, архитектуры компьютера, так как с их помощью производится непосредственное управление работой процессора. Каждая команда ассемблера = 1 команде машины.

Команды, которые не содержат операндов, занимают в памяти 1 байт. Команды с одним операндом (одноадресные)

Машинная команда занимает 1 байт, который делится на 2 поля: биты 0-4 хранят код операции (КОП), а биты 5-7 - код регистра. Операнд в 8-разрядном либо в 16-разрядном регистре. Команда занимает 2 байта. Команды: MOV-Переслать данные из одной ячейки памяти в другую; LDX-Загрузить в регистр Х константу или содержимое ячейки памяти. ADD-сложение; SUB- вычитание, MUL- умножить, DIV-делить; AND- Побитовое логическое И; CLR- очистка и тд.

Билет №21

1. Машинные команды. Организация циклов.

Основой машинной команды является код операции, который является просто некоторым числом. Для процессоров x86 (впрочем, и для других процессоров тоже) принято использовать шестнадцатиричные числа. В таблицах настоящего справочника в колонке Код показан код операции машинной команды, а в колонке Формат показан формат машинной команды. Можно считать, что количество разных машинных команд у данного процессора равно количеству возможных кодов операции. По формату можно узнать, из каких составных частей состоит данная машинная команда. Разные машинные команды могут иметь разный формат. Код операции машинной команды полностью определяет ее формат. Часто одна ассемблерная команда имеет несколько разных вариантов машинных команд. Причем форматы этих машинных команд могут быть разными для разных вариантов.

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

Команды циклов:

loop метка_перехода (Loop) — повторить цикл. Команда позволяет организовать циклы, подобные циклам for в языках высокого уровня с автоматическим уменьшением счетчика цикла. Работа команды заключается в выполнении следующих действий:

декремента регистра ecx/cx;

сравнения регистра ecx/cx с нулем:

если (ecx/cx) > 0, то управление передается на метку перехода;

если (ecx/cx) = 0, то управление передается на следующую после loop команду.

loope/loopz метка_перехода (Loop till cx <> 0 or Zero Flag = 0) — повторить цикл, пока cx <> 0 или zf = 0.

Команды loope/loopz и loopne/loopnz по принципу своей работы являются взаимообратными. Они расширяют действие команды loop тем, что дополнительно анализируют флаг zf, что дает возможность организовать досрочный выход из цикла, используя этот флаг в качестве индикатора.

2. Ассемблер. Вызовы процедур. Прерывания.

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

Синтаксис процедуры:

имя_процедуры PROC [[модификатор_языка ] язык] [расстояние ]

команды

[имя_процедуры ] ENDP

Команда CALL осуществляет вызов процедуры (подпрограммы). Синтаксис команды:

call [модификатор] имя_процедуры. Подобно команде JMP команда CALL передает управление по адресу с символическим именем имя_процедуры, но при этом в стеке сохраняется адрес возврата (то есть адрес команды, следующей после команды CALL).

Команда RET считывает адрес возврата из стека и загружает его в регистры CS и EIP/IP, тем самым возвращая управление на команду, следующую в программе за командой CALL Синтаксис команды:

ret [число]

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

Прерывания: Аппаратные, внутренние, програмные

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

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

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

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

3. Типы данных в реестре Windows, работа с реестром. Reg файлы

Понятие реестра — регистрационная база данных, хранящая различные настройки ОС и приложений. Реестр хранится в бинарном (двоичном) виде, поэтому для ручной работы с ним необходима специальная программа — редактор реестра. В XP это Regedit.exe.

Типы данных

Все параметры реестра имеют фиксированный тип.

для всех EXE файлов, а вторая часть вовсе не обязательна.

Размер программы. EXE-программа может иметь любой размер, в то время как COM-файл ограничен размером байта).

REG_EXPAND_SZ- Строка Unicode переменной длины. Этот тип данных включает переменные, обрабатываемые программой или службой

REG_LINK- Символическая ссылка Unicode. Только для внутреннего использования (некоторые корневые разделы являются такой ссылкой на другие подразделы).

REG_QWORD-64-разрядное число.

REG_NONE- Параметр не имеет определенного типа данных

Reg-файл — это файл, имеющий определенную структуру и содержащий информацию, которая может быть импортирована в реестр. Фактически, это обычный текстовый файл, но с раширением «.reg». Если была заблокирована работа с редактором реестра, то наиболее легким способом подредактировать реестр будет создание и импортирование reg-файла.

Билет № 22

1. Машинные команды. Системы счисления.

Команда - описание элементарной операции, которую должен выполнить компьютер. Команды хранятся в ячейках памяти в двоичном коде. В общем случае, команда содержит: - код выполняемой операции; - указания по определению операндов (или их адресов); - указания по размещению получаемого результата. Машинное слово - набор из 2-х 4-х или 8-ми последовательных байтов, обрабатываемый аппаратной частью вычислительной системы как единое целое.

Система счисле́ния — символический метод записи чисел, представление чисел с помощью письменных знаков.

Двоичная система счисления используется для кодирования дискретного сигнала, потребителем которого является вычислительная техника. В этой системе счисления для представления числа применяются два знака – 0 и 1.

Шестнадцатеричная система счисления используется для кодирования дискретного сигнала, потребителем которого является хорошо подготовленный пользователь – специалист в области информатики. В такой форме представляется содержимое любого файла, затребованное через интегрированные оболочки операционной системы, например, средствами Norton Commander в случае MS DOS. Используемые знаки для представления числа – десятичные цифры от 0 до 9 и буквы латинского алфавита – A, B, C, D, E, F.

Десятичная система счисления используется для кодирования дискретного сигнала, потребителем которого является так называемый конечный пользователь – неспециалист в области информатики. Используемые знаки для представления числа – цифры от 0 до 9.

2. Ассемблер. Возможности ввода. Возможности вывода.

Ассе́мблер — компьютерная программа, компилятор исходного текста программы написанной на языке ассемблера, в программу на машинном коде.

Все функции ввода с клавиатуры получают введенный символ из буфера клавиатуры, размещенного в памяти компьютера, а не непосредственно из порта 60h интерфейса клавиатуры. Различные служебные функции DOS для работы с буфером клавиатуры (функции 01h, 06h, 07h, 08h, 0Ah, 0Bh и 0Ch) классифицируются прежде всего по трем критериям: ожидают ли они ввода или же, когда символ не получен, сообщают, что ввода нет; выдают ли они на экран дисплея эхо (введенный символ); и реагирует ли функция на ввод стандартного символа прерывания во время ее исполнения.

Функция 1 прерывания 21h: ввод символа с эхопечатью: Функция 01h ждет появления символа в буфере клавиатуры со стандартного устройства ввода и после приема символа помещает его в регистр AL. Другие функции, относящиеся к вводу символов с клавиатуры: 06h, 07h и 08h.

Функция 6 прерывания 21h: непосредственный ввод и вывод с консоли: Функция 06h - это универсальная функция, объединяющая операции ввода с клавиатуры и вывода на дисплей. В версиях DOS, начиная со второй и выше, эта функция, как и другие, действует по отношению уже не к клавиатуре и дисплею, а к стандартным устройствам ввода и вывода

Функция 7 прерывания 21h: непосредственный ввод с консоли без эхопечати: Функция 07h ожидает ввода символа со стандартного устройства ввода и после ввода символа помещает его в регистр AL. Она не осуществляет эхопечати символа на экране и не воспринимает сочетание клавиш Ctrl-C как прерывание программы.

Функция 8 прерывания 21h: ввод с консоли без эхопечати: Функция 08h ожидает ввода символа, не осуществляя эхопечати и прерывает программу при нажатии Ctrl-C. Эта функция идентична функции 01h, за исключением того, что она не выводит введенный символ на экран дисплея (или стандартное устройство вывода).

3. Исполняемые файлы. Оверлеи. Динамические библиотеки

Исполни́мый мо́дуль или файл— это разновидность файла, содержимое которого является готовой к непосредственному исполнению компьютерной программой. Чаще всего он содержит двоичное представление машинных инструкций для определённого процессора.

Исполнением бинарных файлов занимаются аппаратно- и программно-реализованные машины. К первым относится центральные процессоры, ко вторым — виртуальные машины, например, виртуальная машина Java. Формат бинарного файла определяется архитектурой исполняющей его машины. Известны машины, реализованные как аппаратно, так и программно, например, процессоры семейства x86 и виртуальная машина VMWare.

Исполняемый статус файла чаще всего определяется принятыми соглашениями. Так, в одних операционных системах исполняемые файлы распознаются благодаря соглашению об именовании файлов (например, путем указания в конце имени расширения файла — «.exe» или «.bin»), тогда как в других исполняемые файлы обладают специфичными метаданными (например, битом разрешения «execute» в UNIX-подобных операционных системах).

Overlay (оверлей) — метод программирования, позволяющий

заканчивается этой командой. Команды CALL и RET не изменяют значения флагов.

Существует 2 типа вызовов процедур. Ближним называется вызов процедуры, которая находится в текущем сегменте кода. Дальний создавать программы, занимающие больше памяти, чем установлено в системе. Встроенные компьютеры часто используют оверлеи, так как обычно Система содержит мало памяти и не поддерживает виртуальную память. Метод предполагает разделение программы на фрагменты, называемые оверлеями (overlays). Размер каждого оверлея ограничен, согласно размеру доступной памяти. Использование динамических библиотек (по-другому – библиотек динамической компоновки) – это способ осуществления модульности в период выполнения программы. Динамическая библиотека (DLL)упростить и саму разработку программного обеспечения. Вместо того чтобы каждый раз перекомпилировать огромные EXE-программы, достаточно перекомпилировать лишь отдельный динамический модуль. Кроме того, доступ к динамической библиотеке возможен сразу из нескольких исполняемых модулей, что делает многозначность более гибкой.

Билет №23

1. Инструкция INT в x86.

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

уменьшает указатель стека на 2 и заносит в вершину стека содержимое флагового регистра;

очищает флаги TF и IF;

уменьшает указатель стека на 2 и заносит в стек значение командного указателя;

обеспечивает выполнение необходимых действий;

восстанавливает из стека значение регистра и возвращает управление в прерванную программу на команду, следующую после INT.

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

Существуют следующие стандартные файловые номера:

0 Ввод (обычно с клавиатуры) CON

1 Вывод (обычно на экран) CON

2 Вывод по ошибке (на экран) CON

3 Ввод/вывод на внешнее устройство AUX

4 Вывод на печать LPT1 или PRN

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

2. Команда dir в DOS. Получение аналогичных списков в Windows.

Выводит список файлов и подкаталогов, находящихся в заданном каталоге. dir [дисковод:][путь\][имя-файла] [параметры]

Параметры:/p - поэкранный вывод;/w - вывод в широком формате;/s - оглавление указанного в команде каталога и всех его подкаталогов; /b - только имена файлов без заголовочных и итоговых сведений; /aатрибут - сведения о файлах, имеющих указанные атрибуты.

Сортировки: /on - по имени;/oe - по расширению;/od - по времени;/og - сначала выводить сведения о подкаталогах;

Примеры: dir - оглавление текущего каталога. dir *.exe - сведения обо всех файлах.exe текущего каталога. dir a: - оглавление текущего каталога диска а:; dir с:\*.exe /s - сведения обо всех файлах.exe на диске с:.

Для Windows: DIR можно использовать без параметров. В этом случае команда DIR действует на текущий каталог. На экран выводится метка диска (тома), его серийный номер, имена файлов и подкаталогов, находящихся в текущем каталоге и дата их последнего изменения. Если в команде DIR используется только параметр [диск:], то на экран будет выведено содержимое диска. Если в команде используется параметр [диск:][каталог], то на экран будет выведено содержимое каталога. Ключ /P применяется в том случае, если содержимое диска или каталога не умещается в одном экране. Для примера, выведем на экран содержимое каталога «Windows»: dir windows /p. Тогда для просмотра текста просто можно нажать любую клавишу. Ключ /W используется в том случае, если необходимо вывести перечень файлов и каталогов в одной строке с максимально возможным их количеством, умещающемся на экране (широкий формат). Файлы и папки выводятся в алфавитном порядке (сортируются по строкам).

3. Понятия вычислительного процесса и ресурса.

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

Билет №63__81__99__

1. Инструкции сопроцессора в x86.

Сопроцессор — специализированный процессор, расширяющий возможности центрального процессора компьютерной системы, но оформленный как отдельный функциональный модуль

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

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

Целочисленные арифметические команды.

FIADD источник – сложение значения в стеке ST(0) и целочисленного источника. Результата запоминается в регистре стека ST(0).

FISUB источник – вычитает значение целочисленного источника из регистра стека ST(0). Результат запоминается в ST(0).

FIMUL умножение и FIDIV источник деление.

У вещественных арифметических команд разнообразие синтаксиса написания операнд более разнообразен.

Сложение

FADD – складывает значения регистров стека ST(0) и ST(1). Результат в ST(0).

FADD источник – складывает значение ST(0) и значение из источника, представляющего адрес ячейки памяти.

Вычитание

FSUB – вычитает значение из ST(0) значение ST(1). Результат в ST(0).

FSUB источник – вычитает из ST(0) значение из ячейки памяти, адрес которой передается в источнике. Результат в ST(0).

Умножение

FMUL – перемножает значения из регистров стека ST(0) и ST(1).

Деление

FDIV – делит содержимое регистра ST(0) на значение регистра ST(1).

Выводит на экран, устанавливает или отменяет переменные операционной среды MS-DOS, которые используются для управления поведением некоторых командных файлов и программ, а также управляют работой MS-DOS. Команда SET часто используется в файлах AUTOEXEC.BAT или CONFIG.SYS для установки переменных при каждом запуске MS-DOS.

SET [переменная=[строка]]

Введите SET без параметров для вывода текущих переменных среды. Если при вызове указать только имя переменной без знака равенства и значения, команда SET выведет значения всех переменных, имя которых начинается с указанной строки. Например: SET P. Эта команда выведет значения всех переменных, имена которых начинаются с 'P'. Если имя переменной не найдено в текущей среде, при возврате команда SET, установит значение ошибки ERRORLEVEL 1. Команда SET не допускает использование знака равенства в имени переменной среды.

Команда SET поддерживает два дополнительных ключа:

SET /A выражение

SET /P variable=[promptString]

Ключ /A указывает, что строка справа от знака равенства является числовым выражением, значение которого вычисляется.

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

2. Макросредства макроассемблера.

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

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

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

-директивы повторения WHILE, REPT, IRP и IRPC. - Директивы этой группы предназначены для создания макросов, содержащих несколько идущих подряд одинаковых последовательностей строк. При этом возможна частичная модификация этих строк.

-директивы управления процессом генерации макрорасширения EXITM и GOTO. - Они предназначены для управления процессом формирования макрорасширения из набора строк соответствующего макроопределения.





Дата публикования: 2015-10-09; Прочитано: 332 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.042 с)...