Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Инструментарий ОС (на основе Windows)

Читайте также:
  1. Б — мужской костюм, построенный на его основе
  2. Больной испытывает давление на кожу, но не чувствует боли и легкого прикосновения к коже. Какие рецепторы в коже больного повреждены и какие не повреждены?
  3. Буровые растворы на водной основе
  4. Буровые растворы на нефтяной основе (РНО)
  5. В основе Вселенной — несколько закономерностей
  6. Вопрос 4. Анализ личной эффективности на основе данных хронокарты.
  7. Воспитание трудного ребенка совершается только на основе активности самого ребенка во взаимодействии его с окружаю­щей социальной средой.

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

 

Основные базовые понятия: процессы и потоки

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

Процесс Windows включает следующее:

1) закрытое виртуальное адресное пространство – диапазон адресов виртуальной памяти, которым может пользоваться процесс;

2) исполняемая программа: код и данные, проецируемые в виртуальное адресное пространство;

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

4) контекст защиты (Security Context), который называется маркером доступа, идентифицирующий пользователя и его права и привилегии по безопасности;

5) уникальный идентификатор процесса – в ОС Windows также называется идентификатор клиента;

6) минимум один поток, связанный с процессом;

7) указатель на родительский процесс и др.

Поток – некая сущность внутри процесса, получающая процессорное время для своего выполнения, включает следующие элементы:

1) содержимое регистров, доступных процессору и отражающих состояние процессора;

2) два стека: один используется, если процесс исполняется в режиме ядра, другой – в пользовательском режиме;

3) закрытая область памяти (в Windows локальная память потока);

4) уникальный идентификатор потока;

5) контекст защиты и др.

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

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

Для использования волокон существует API (Convert Thread to Fiber), позволяющее преобразовать обычный поток в волокно. Само волокно может порождать новые волокна (API Create Fiber). Выполнение волокна, в отличие от потока, поэтому начинается «вручную» с запуска волокна (API switch to fiber). Волокно работает до завершения или до переключения на другое волокно.

Замечание: потоки имеют собственный контекст, но могут записывать и считывать содержимое реальной ОП любого потока процесса. Не могут обращаться в адресное пространство другого процесса. Исключение: некий процесс может предоставлять свою память (часть адресного пространства) как раздел общей памяти (Shared memory section) (API Read process memory, write process memory).

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

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

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

Следующим понятием, относящимся к процессам, является «задание» (job), являющееся расширением модели процесса. Используется для того, чтобы представлять группу процессов как единое целое (команда tlist)

Взаимоотношения процессов дочерние-родительские показаны отступами. Имена процессов, родительские процессы которых на данный момент завершились (слайд 4) выравниваются по левому краю.

 


Дата добавления: 2015-07-07; просмотров: 288 | Нарушение авторских прав


Читайте в этой же книге: Модель вычислителя | Модель коллектива вычислителей | Принципы технической реализации модели коллектива вычислителей | Классификация архитектур вычислительных систем | Примеры реализаций вычислительных систем. | Прерывания | Основные технологии программирования | Общие подходы к построению ОС. | Подходы к построению ОС. | Основные концепции построения Windows |
<== предыдущая страница | следующая страница ==>
Виртуализация| Режим ядра и пользовательский режим

mybiblioteka.su - 2015-2024 год. (0.005 сек.)