Реферат Курсовая Конспект
Определение операционной системы ОС. Назначение и основные функции ОС. - раздел Образование, 1. 1Определение Операционной Системы (Ос). Назначение И Основные Ф...
|
1. 1Определение операционной системы (ОС). Назначение и основные функции ОС.
Операционная система (ОС) - комплекс программ, обеспечивающих управление ресурсами вычислительной системы и процессами, использующие эти ресурсы при вычислении.
Ресурсы - любой физический или логический компонент компьютера (это процессор, память, информация, жёсткий диск). Информация – файлы, библиотеки.
Функции ОС:
· Управление процессором (чередование выполнения программ)
· Управление памятью (выделение программам памяти)
· Управление устройствами (инициализация запросов на ввод-вывод), управление очередями, фиксация завершения обмена.
· Управление программами (инициализация программ и осуществление межпрограммных связей)
· Управление данными (файловые манипуляции)
Применение ОС позволяет спрятать аппаратные особенности компьютера, то есть с помощью ОС в распоряжении программиста или пользователя поступает виртуальная машина с существенно облегчёнными функциями. ОС поддерживает два интерфейса, уровень обоих существенно выше аппаратного.
Операционная система |
ЭВМ |
Пользовательский
Пользователь |
Системное и прикладное программное обеспечение |
интерфейс
Пользовательский интерфейс – командный язык для управления функционированием компа.
Программный интерфейс – набор услуг, освобождающий программиста от кодирования рутинных операций (API - Application Program Interface). Мы будем использовать WIN32API (в kernel32.dll). Он применяется в таких языках как Visual C++, Delphi, C, Visual Basic.
Стек потока под Windows 95, 98.
Особенностью в том, что размер стека составляет 1 Мб + 128 Кб. Структура:
64 Кб СТЕК 64 Кб |
Локальный доступ.
Таблица дескрипторов.
Таблица дескрипторов содержит не только дескрипторы файлов, но и объектов ядра. Структу-ра таблицы дескрипторов:
Количество записей | 4байта |
Флаг 1 | 8 байт |
Объект 1 | |
… | |
Флаг N | 8 байт |
Объект N |
Первые 4 байта определяют количество записей в таблице дескрипторов (30h). Если таблица заполнена, то Windows создаёт кучу, делая прибавление 10h и так далее, то есть для Windows ограничения в 255 дескрипторов не существует. После количества записей идёт массив 8 байтных структур. Каждая структура состоит из двух полей.
1 поле. Флаг управления доступом к объекту. Назначение флагов различно для различных типов объекта. Например объект – процесс. Флаг – процесс завершён. Следующее DWORD – указатель базы данных соответствующего объекта.
Переменная ядра, связанная с процессами.PsActiveProcessHead. Заголовок списка блоков PDB. CreateProcess(…) открывет ехе файл, который будет выполняться в процессе, то есть PDB. Создаёт первичный поток, то есть стек потока, контекст потока (содержимое всех регистров) и объект поток, то есть TDB.
15. Потоки. Состояния потоков. Свойства потоков. Объект ядра поток. Функции для работы с потоками.
Потоки отвечают за исполнение программного кода. При создании процесса всегда создаётся первичный поток. По желанию программиста создаются дополнительные потоки. CreateThread(…). Для чего создаются потоки?
Выделив различные задачи, выполняемые процессом в отдельном потоке позволяет избежать цикла опросов.
Поток может находится в одном из 3-х состояний:
1. Поток фактически работает, при этом в регистре процессора переписывается содержимое структуры CONTEXT. Все остальные потоки процесса приостанавливаются в случае одного процессора в системе.
2. Поток готов к выполнению. Отсутствуют все причины, препятствующие работе потока, за исключением того, что процессор занят выполнением другого потока.
3. Заблокированное состояние. Поток ожидает некоторого события, например, ожидание завершения работы другого потока или какого-либо процесса. До наступление этого события планировщик не позволит этому процессу выполнится.
Объектами синхронизации являются потоки процессы, критические секции, семафоры, события, мьютексы.
Потоки владеют набором регистров.
Все потоки процесса имеют общий доступ к тому, чем этот процесс владеет, т.е. к адресному пространству процесса (различным регионам адресного пространства). Все потоки процесса совместно используют одни и те же значения дескрипторов, следовательно они могут обращаться к файлам, событиям, файлам проецируемым в память, которые принадлежат процессу.
Каждый поток обладает собственным стеком, собственной очередью оконных сообщений, собственным набором значений локальной памяти потока и собственной цепочкой обработки структу-рированных исключений.
Поток может завладеть или освободить синхронизирующими объектами процесса. Дескриптор потока – это индекс в таблице дескрипторов процесса. Идентификатор потока – это закодированный указатель на базу данных потока (PDB).
Поток простоя.
Если нет ни одного потока готового к выполнению, то Windows запускает поток простоя. Поток простоя в цикле проверяет не появился ли готовый поток. Поток простоя не имеет приоритета и работает только в том случае, когда нет ни одного готового к выполнению потока.
19. Динамическое повышение приоритета.
Пример (MS Visual C).
#pragma code_seg <имя>
#pragma data_seg <имя>
Если имя секции занимает 8 байт, то отсутствует завершающий нуль.
2. RVA, когда загрузчик должен отобразить секцию.
3. Размер секции, выровненный на ближайшую верхнюю границу размера файла. Файл делится на области, кратные 512 байт.
Как производится обработка вызовов функций, экспортируемых по имени.
1) Загрузчик просматривает строки, на которые указывает таблица имён функций, для того чтобы найти имя требуемой функции. Если имя найдено, определяется индекс в таблице имён функций.
2) По найденному индексу из таблицы номеров функций извлекается индекс в таблице адресов функций. Из таблицы адресов извлекается RVA требуемой функции.
Ресурсы РЕ-файла.
Организованы в виде иерархического дерева. Информация о ресурсах содержится в секции .rsrc. Организация ресурсов имеет следующую структуру.
Для каждого типа ресурса содержатся подкаталоги первого уровня, или структура data, которая содержит указатель на конкретное описание ресурса.
Структура файловой системы NTFS.
Здесь мы рассмотрим структуру тома NTFS, включая способы разбиения дискового пространства и его организации в кластеры, принципы хранения на диске реальных файловых данных.
Главная таблица файлов.
В NTFS все данные, хранящиеся на томе, содержатся в файлах. Это относится и к структурам данных, используемым для поиска и выборки файлов, к начальному загрузочному коду и битовой карте, в которой регистрируется состояние пространства всего тома (метаданные NTFS). Хранение всех видов данных в файлах позволяет файловой системе легко находить и поддерживать данные, а каждый файл может быть защищен дескриптором защиты. Кроме того, при появлении плохих секторов на диске, NTFS может переместить файлы метаданных.
Главная таблица файлов (MFT) занимает центральное место в структуре NTFS-тома. MFT реализована как массив записей о файлах. Размер каждой записи фиксирован и равен 1 Кб. Логически MFT содержит по одной строке на каждый файл тома, включая строку для самой MFT. Кроме MFT на каждом томе NTFS имеется набор файлов метаданных с информацией, необходимой для реализации структуры файловой системы. Имена всех файлов метаданных NTFS начинаются со знака доллара ($), хотя эти знаки скрыты.
Метофайл
Структура главной файловой таблицы (MFT).
Главная таблица файлов (MFT) занимает центральное место в структуре NTFS-тома. MFT реализована как массив записей о файлах. Размер каждой записи фиксирован и равен 1 Кб. Логически MFT содержит по одной строке на каждый файл тома, включая строку для самой MFT. Кроме MFT на каждом томе NTFS имеется набор файлов метаданных с информацией, необходимой для реализации структуры файловой системы. Имена всех файлов метаданных NTFS начинаются со знака доллара ($), хотя эти знаки скрыты. Так, имя файла MFT –– $Mft. Остальные файлы NTFS-тома являются обычными файлами и каталогами. Первая запись MFT, хранящая адреса других записей, называется базовой (base file record).
При первом обращении к тому NTFS должна смонтировать его, то есть считать с диска метаданные и сформировать внутренние структуры данных, необходимые для обработки обращений к файловой системе. Чтобы смонтировать том, NTFS ищет в загрузочном секторе физический адрес MFT на диске. Запись о самой MFT является первым элементом в этой таблице, вторая запись указывает на файл в середине диска ($MftMirr), который называется зеркальной копией MFT и содержит копию первых нескольких строк MFT. Если по каким-либо причинам считать часть MFT не удастся, для поиска файлов метаданных будет использована именно эта копия MFT.
T1a.
Повтор. Выделить и инициализировать файловую запись в MFT.
Отмена. Освободить файловую запись в MFT.
T1b.
Повтор. Добавить имя файла в каталог.
Отмена. Удалить имя файла из каталога.
T1c.
Повтор. Установить биты 3-9 в битовой карте. Пометить кластеры как занятые.
Отмена. Очистить биты 3-9 в битовой карте. Пометить кластеры как свободные.
Транзакция была запротоколирована. После того как NTFS выполняет подоперации непосредственно над томом в кэше. По окончанию обновления кэша NTFS помещает в журнал ещё одну запись, которая помечает транзакцию записью, как завершённую. В журнале транзакций появляется ещё одна запись подоперации. После того как транзакция подтверждена NTFS гарантирует, что все вызванные ею модификации произойдут на томе, даже если после подтверждения будет сбой.
При восстановлении после сбоя NTFS просматривает журнал и восстанавливает все подтверждённые транзакции, то есть NTFS ещё раз повторяет подтверждённую транзакцию. Это сделано для большей надёжности. После повтора всех подтверждённых транзакций NTFS отыскивает транзакции, которые не были подтверждены в момент сбоя и откатывает каждую запротоколированную операцию.
NTFS организована как реляционная база данных. Отмена транзакций проводится в обратном направлении. Если повторение идёт в прямом, то откат идёт в обратном направлении.
Информация для повтора и отмены может быть выражена либо физически, либо логически. Физическое описание задаёт модификацию тома как диапазон байт. Логическое описание представляет модификацию в терминах операций. Например, удалить файл a.dat. NTFS генерирует записи модификации для каждой из следующих транзакций: создание файла (каталога), удаление файла (каталога), расширение файла (каталога), урезание файла (каталога), остановка файловой информации, перенос, изменение прав доступа.
Записи контрольной точки.
Запись контрольной точки помогает NTFS определить, какая обработка необходима для тома после сбоя. Благодаря записи контрольной точки NTFS знает, как далеко ей надо пройти, чтобы начать восстановление.
После восстановления после сбоя NTFS считает журнал пустым.
41. Записи модификации, записи контрольной точки, таблица транзакций, таблица измененных страниц в журнале транзакций.
T1a.
Повтор. Выделить и инициализировать файловую запись в MFT. Отмена. Освободить файловую запись в MFT.
T1b.
Повтор. Добавить имя файла в каталог. Отмена. Удалить имя файла из каталога.
T1c.
Повтор. Установить биты 3-9 в битовой карте. Пометить кластеры как занятые. Отмена. Очистить биты 3-9 в битовой карте. Пометить кластеры как свободные.
Транзакция была запротоколирована. После того как NTFS выполняет подоперации непосредственно над томом в кэше. По окончанию обновления кэша NTFS помещает в журнал ещё одну запись, которая помечает транзакцию записью, как завершённую. В журнале транзакций появляется ещё одна запись подоперации. После того как транзакция подтверждена NTFS гарантирует, что все вызванные ею модификации произойдут на томе, даже если после подтверждения будет сбой.
При восстановлении после сбоя NTFS просматривает журнал и восстанавливает все подтверждённые транзакции, то есть NTFS ещё раз повторяет подтверждённую транзакцию. Это сделано для большей надёжности. После повтора всех подтверждённых транзакций NTFS отыскивает транзакции, которые не были подтверждены в момент сбоя и откатывает каждую запротоколированную операцию.
NTFS организована как реляционная база данных. Отмена транзакций проводится в обратном направлении. Если повторение идёт в прямом, то откат идёт в обратном направлении.
Информация для повтора и отмены может быть выражена либо физически, либо логически. Физическое описание задаёт модификацию тома как диапазон байт. Логическое описание представляет модификацию в терминах операций. Например, удалить файл a.dat. NTFS генерирует записи модификации для каждой из следующих транзакций: создание файла (каталога), удаление файла (каталога), расширение файла (каталога), урезание файла (каталога), остановка файловой информации, перенос, изменение прав доступа.
Записи контрольной точки.
Запись контрольной точки помогает NTFS определить, какая обработка необходима для тома после сбоя. Благодаря записи контрольной точки NTFS знает, как далеко ей надо пройти, чтобы начать восстановление.
Таблица транзакций.
Таблица транзакций(transaction table)— предназначена для отслеживания начатых, но еще не зафиксированных транзакций. B процессе восстановления результаты подопераций этих транзакций должны быть удалены с диска. Таблица транзакций содержит LSN незафиксированных (незавершенных) транзакций.
Таблица измененных страниц в журнале транзакций.
Таблица измененных страниц(dirty page table) — в нее записывается информация о том, какие страницы кэша содержат изменения структуры файловой системы, еще не записанные на диск. Эти данные в процессе восстановления должны быть сброшены на диск. Таблица измененных страниц — LSN записей, соответствующих модификациям кэша, не отраженным на диске. LSN самой старой записи, найденной NTFS в двух таблиц, определяет, откуда начнется проход повтора. Однако, если последняя запись контрольной точки окажется более ранней, NTFS начнет проход повтора именно с нее.
42. Восстановление данных в NTFS. Проход анализа. Проход повтора. Проход отмены.
Начальная загрузка.
На этом этапе файл Ntldr переводит процессор из реального режима в 32-разрядный режим линейной памяти, необходимый для выполнения любых дополнительных функций. Затем запускаются соответствующие драйверы системы minifile. Они встроены в Ntldr, поэтому этот файл способен находить и загружать Windows 2000 данные из разделов, отформатированных как с помощью FAT, так и NTFS.
Поиск оборудования.
В компьютерах с процессором Intel поиск оборудования осуществляют файлы Ntdetect.com и Ntoskrnl.exe. Программа Ntdetect.comзапускается, если на этапе выбора ОС выбрана система Windows 2000 (или по окончании времени ожидания).
Трансляция программы
TASM [ключи] имя_исходного_файла [,имя_объектного_файла]
[,имя_файла_листинга] [,имя_файла_перекрестных_ссылок]
Ключ /zi разрешает транслятору сохранить связь символических имен в программе с их смещениями в сегменте кода, что позволяет отладчику выполнять отладку, используя оригинальные имена.
На рисунке приведен пример программы работы с ассемблерными вставками.
Ассемблерная вставка увеличивает на 2 исходное число.
Программный код для события OnClick кнопки «Ассемблерные вставки»имеет следующий вид:
procedure TForm1.Button1Click (Sender: TObject);
Var x:Integer;
begin
x:=StrToInt(Edit1.Text);
asm
mov ax,word ptr x
add ax,2
mov word ptr x,ax
end;
Edit2.Text:=IntToStr(x);
end;
55. Ассемблерные команды линейного и циклического сдвига. Пример программы.
Для преобразования числа в символьную форму используются команды сдвига. Все команды сдвига перемещают биты в поле операнда влево или вправо, в зависимости от кода операции. Все команды сдвига имеют одинаковую структуру: КОП операнд, счетчик_сдвигов.
Количество сдвигаемых разрядов (значение счетчик_сдвигов) может задаваться двумя способами:
статически — непосредственно во втором операнде;
динамически — в регистре CL перед выполнением команды сдвига.
Все команды сдвига устанавливают флаг переноса CF.
По принципу действия команды сдвига можно разделить на два типа:
Команды линейного сдвига
Команды простого циклического сдвига ;
– Конец работы –
Используемые теги: определение, операционной, системы, ОС, назначение, основные, Функции, ОС0.123
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Определение операционной системы ОС. Назначение и основные функции ОС.
Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов