🗊 Презентация Операционные системы Введение в операционные системы

Категория: Образование
Нажмите для полного просмотра!
Операционные системы Введение в операционные системы, слайд №1 Операционные системы Введение в операционные системы, слайд №2 Операционные системы Введение в операционные системы, слайд №3 Операционные системы Введение в операционные системы, слайд №4 Операционные системы Введение в операционные системы, слайд №5 Операционные системы Введение в операционные системы, слайд №6 Операционные системы Введение в операционные системы, слайд №7 Операционные системы Введение в операционные системы, слайд №8 Операционные системы Введение в операционные системы, слайд №9 Операционные системы Введение в операционные системы, слайд №10 Операционные системы Введение в операционные системы, слайд №11 Операционные системы Введение в операционные системы, слайд №12 Операционные системы Введение в операционные системы, слайд №13 Операционные системы Введение в операционные системы, слайд №14 Операционные системы Введение в операционные системы, слайд №15 Операционные системы Введение в операционные системы, слайд №16 Операционные системы Введение в операционные системы, слайд №17 Операционные системы Введение в операционные системы, слайд №18 Операционные системы Введение в операционные системы, слайд №19 Операционные системы Введение в операционные системы, слайд №20 Операционные системы Введение в операционные системы, слайд №21 Операционные системы Введение в операционные системы, слайд №22 Операционные системы Введение в операционные системы, слайд №23 Операционные системы Введение в операционные системы, слайд №24 Операционные системы Введение в операционные системы, слайд №25 Операционные системы Введение в операционные системы, слайд №26 Операционные системы Введение в операционные системы, слайд №27 Операционные системы Введение в операционные системы, слайд №28 Операционные системы Введение в операционные системы, слайд №29 Операционные системы Введение в операционные системы, слайд №30 Операционные системы Введение в операционные системы, слайд №31 Операционные системы Введение в операционные системы, слайд №32 Операционные системы Введение в операционные системы, слайд №33 Операционные системы Введение в операционные системы, слайд №34 Операционные системы Введение в операционные системы, слайд №35 Операционные системы Введение в операционные системы, слайд №36 Операционные системы Введение в операционные системы, слайд №37 Операционные системы Введение в операционные системы, слайд №38 Операционные системы Введение в операционные системы, слайд №39 Операционные системы Введение в операционные системы, слайд №40 Операционные системы Введение в операционные системы, слайд №41 Операционные системы Введение в операционные системы, слайд №42 Операционные системы Введение в операционные системы, слайд №43 Операционные системы Введение в операционные системы, слайд №44 Операционные системы Введение в операционные системы, слайд №45 Операционные системы Введение в операционные системы, слайд №46 Операционные системы Введение в операционные системы, слайд №47 Операционные системы Введение в операционные системы, слайд №48 Операционные системы Введение в операционные системы, слайд №49 Операционные системы Введение в операционные системы, слайд №50 Операционные системы Введение в операционные системы, слайд №51 Операционные системы Введение в операционные системы, слайд №52 Операционные системы Введение в операционные системы, слайд №53 Операционные системы Введение в операционные системы, слайд №54 Операционные системы Введение в операционные системы, слайд №55 Операционные системы Введение в операционные системы, слайд №56 Операционные системы Введение в операционные системы, слайд №57 Операционные системы Введение в операционные системы, слайд №58 Операционные системы Введение в операционные системы, слайд №59 Операционные системы Введение в операционные системы, слайд №60 Операционные системы Введение в операционные системы, слайд №61 Операционные системы Введение в операционные системы, слайд №62 Операционные системы Введение в операционные системы, слайд №63 Операционные системы Введение в операционные системы, слайд №64 Операционные системы Введение в операционные системы, слайд №65 Операционные системы Введение в операционные системы, слайд №66 Операционные системы Введение в операционные системы, слайд №67 Операционные системы Введение в операционные системы, слайд №68 Операционные системы Введение в операционные системы, слайд №69 Операционные системы Введение в операционные системы, слайд №70 Операционные системы Введение в операционные системы, слайд №71 Операционные системы Введение в операционные системы, слайд №72 Операционные системы Введение в операционные системы, слайд №73 Операционные системы Введение в операционные системы, слайд №74 Операционные системы Введение в операционные системы, слайд №75 Операционные системы Введение в операционные системы, слайд №76 Операционные системы Введение в операционные системы, слайд №77 Операционные системы Введение в операционные системы, слайд №78 Операционные системы Введение в операционные системы, слайд №79 Операционные системы Введение в операционные системы, слайд №80 Операционные системы Введение в операционные системы, слайд №81 Операционные системы Введение в операционные системы, слайд №82 Операционные системы Введение в операционные системы, слайд №83 Операционные системы Введение в операционные системы, слайд №84 Операционные системы Введение в операционные системы, слайд №85 Операционные системы Введение в операционные системы, слайд №86 Операционные системы Введение в операционные системы, слайд №87 Операционные системы Введение в операционные системы, слайд №88 Операционные системы Введение в операционные системы, слайд №89 Операционные системы Введение в операционные системы, слайд №90 Операционные системы Введение в операционные системы, слайд №91 Операционные системы Введение в операционные системы, слайд №92 Операционные системы Введение в операционные системы, слайд №93 Операционные системы Введение в операционные системы, слайд №94 Операционные системы Введение в операционные системы, слайд №95 Операционные системы Введение в операционные системы, слайд №96 Операционные системы Введение в операционные системы, слайд №97 Операционные системы Введение в операционные системы, слайд №98 Операционные системы Введение в операционные системы, слайд №99 Операционные системы Введение в операционные системы, слайд №100 Операционные системы Введение в операционные системы, слайд №101 Операционные системы Введение в операционные системы, слайд №102 Операционные системы Введение в операционные системы, слайд №103 Операционные системы Введение в операционные системы, слайд №104 Операционные системы Введение в операционные системы, слайд №105 Операционные системы Введение в операционные системы, слайд №106 Операционные системы Введение в операционные системы, слайд №107 Операционные системы Введение в операционные системы, слайд №108 Операционные системы Введение в операционные системы, слайд №109 Операционные системы Введение в операционные системы, слайд №110 Операционные системы Введение в операционные системы, слайд №111 Операционные системы Введение в операционные системы, слайд №112 Операционные системы Введение в операционные системы, слайд №113 Операционные системы Введение в операционные системы, слайд №114 Операционные системы Введение в операционные системы, слайд №115 Операционные системы Введение в операционные системы, слайд №116 Операционные системы Введение в операционные системы, слайд №117 Операционные системы Введение в операционные системы, слайд №118 Операционные системы Введение в операционные системы, слайд №119 Операционные системы Введение в операционные системы, слайд №120 Операционные системы Введение в операционные системы, слайд №121 Операционные системы Введение в операционные системы, слайд №122 Операционные системы Введение в операционные системы, слайд №123 Операционные системы Введение в операционные системы, слайд №124 Операционные системы Введение в операционные системы, слайд №125 Операционные системы Введение в операционные системы, слайд №126 Операционные системы Введение в операционные системы, слайд №127 Операционные системы Введение в операционные системы, слайд №128 Операционные системы Введение в операционные системы, слайд №129 Операционные системы Введение в операционные системы, слайд №130 Операционные системы Введение в операционные системы, слайд №131 Операционные системы Введение в операционные системы, слайд №132 Операционные системы Введение в операционные системы, слайд №133 Операционные системы Введение в операционные системы, слайд №134 Операционные системы Введение в операционные системы, слайд №135 Операционные системы Введение в операционные системы, слайд №136 Операционные системы Введение в операционные системы, слайд №137 Операционные системы Введение в операционные системы, слайд №138 Операционные системы Введение в операционные системы, слайд №139 Операционные системы Введение в операционные системы, слайд №140 Операционные системы Введение в операционные системы, слайд №141 Операционные системы Введение в операционные системы, слайд №142 Операционные системы Введение в операционные системы, слайд №143 Операционные системы Введение в операционные системы, слайд №144 Операционные системы Введение в операционные системы, слайд №145 Операционные системы Введение в операционные системы, слайд №146 Операционные системы Введение в операционные системы, слайд №147 Операционные системы Введение в операционные системы, слайд №148 Операционные системы Введение в операционные системы, слайд №149 Операционные системы Введение в операционные системы, слайд №150 Операционные системы Введение в операционные системы, слайд №151 Операционные системы Введение в операционные системы, слайд №152 Операционные системы Введение в операционные системы, слайд №153 Операционные системы Введение в операционные системы, слайд №154 Операционные системы Введение в операционные системы, слайд №155 Операционные системы Введение в операционные системы, слайд №156 Операционные системы Введение в операционные системы, слайд №157 Операционные системы Введение в операционные системы, слайд №158 Операционные системы Введение в операционные системы, слайд №159 Операционные системы Введение в операционные системы, слайд №160 Операционные системы Введение в операционные системы, слайд №161 Операционные системы Введение в операционные системы, слайд №162 Операционные системы Введение в операционные системы, слайд №163 Операционные системы Введение в операционные системы, слайд №164 Операционные системы Введение в операционные системы, слайд №165 Операционные системы Введение в операционные системы, слайд №166 Операционные системы Введение в операционные системы, слайд №167 Операционные системы Введение в операционные системы, слайд №168 Операционные системы Введение в операционные системы, слайд №169 Операционные системы Введение в операционные системы, слайд №170 Операционные системы Введение в операционные системы, слайд №171 Операционные системы Введение в операционные системы, слайд №172 Операционные системы Введение в операционные системы, слайд №173 Операционные системы Введение в операционные системы, слайд №174 Операционные системы Введение в операционные системы, слайд №175 Операционные системы Введение в операционные системы, слайд №176 Операционные системы Введение в операционные системы, слайд №177 Операционные системы Введение в операционные системы, слайд №178 Операционные системы Введение в операционные системы, слайд №179 Операционные системы Введение в операционные системы, слайд №180 Операционные системы Введение в операционные системы, слайд №181 Операционные системы Введение в операционные системы, слайд №182 Операционные системы Введение в операционные системы, слайд №183 Операционные системы Введение в операционные системы, слайд №184 Операционные системы Введение в операционные системы, слайд №185 Операционные системы Введение в операционные системы, слайд №186 Операционные системы Введение в операционные системы, слайд №187 Операционные системы Введение в операционные системы, слайд №188 Операционные системы Введение в операционные системы, слайд №189 Операционные системы Введение в операционные системы, слайд №190 Операционные системы Введение в операционные системы, слайд №191 Операционные системы Введение в операционные системы, слайд №192 Операционные системы Введение в операционные системы, слайд №193 Операционные системы Введение в операционные системы, слайд №194 Операционные системы Введение в операционные системы, слайд №195 Операционные системы Введение в операционные системы, слайд №196 Операционные системы Введение в операционные системы, слайд №197 Операционные системы Введение в операционные системы, слайд №198 Операционные системы Введение в операционные системы, слайд №199 Операционные системы Введение в операционные системы, слайд №200 Операционные системы Введение в операционные системы, слайд №201 Операционные системы Введение в операционные системы, слайд №202 Операционные системы Введение в операционные системы, слайд №203 Операционные системы Введение в операционные системы, слайд №204 Операционные системы Введение в операционные системы, слайд №205 Операционные системы Введение в операционные системы, слайд №206 Операционные системы Введение в операционные системы, слайд №207 Операционные системы Введение в операционные системы, слайд №208 Операционные системы Введение в операционные системы, слайд №209 Операционные системы Введение в операционные системы, слайд №210 Операционные системы Введение в операционные системы, слайд №211 Операционные системы Введение в операционные системы, слайд №212 Операционные системы Введение в операционные системы, слайд №213 Операционные системы Введение в операционные системы, слайд №214 Операционные системы Введение в операционные системы, слайд №215 Операционные системы Введение в операционные системы, слайд №216 Операционные системы Введение в операционные системы, слайд №217 Операционные системы Введение в операционные системы, слайд №218 Операционные системы Введение в операционные системы, слайд №219 Операционные системы Введение в операционные системы, слайд №220 Операционные системы Введение в операционные системы, слайд №221 Операционные системы Введение в операционные системы, слайд №222 Операционные системы Введение в операционные системы, слайд №223 Операционные системы Введение в операционные системы, слайд №224 Операционные системы Введение в операционные системы, слайд №225 Операционные системы Введение в операционные системы, слайд №226 Операционные системы Введение в операционные системы, слайд №227 Операционные системы Введение в операционные системы, слайд №228 Операционные системы Введение в операционные системы, слайд №229 Операционные системы Введение в операционные системы, слайд №230 Операционные системы Введение в операционные системы, слайд №231 Операционные системы Введение в операционные системы, слайд №232 Операционные системы Введение в операционные системы, слайд №233 Операционные системы Введение в операционные системы, слайд №234 Операционные системы Введение в операционные системы, слайд №235 Операционные системы Введение в операционные системы, слайд №236 Операционные системы Введение в операционные системы, слайд №237 Операционные системы Введение в операционные системы, слайд №238 Операционные системы Введение в операционные системы, слайд №239 Операционные системы Введение в операционные системы, слайд №240 Операционные системы Введение в операционные системы, слайд №241 Операционные системы Введение в операционные системы, слайд №242 Операционные системы Введение в операционные системы, слайд №243 Операционные системы Введение в операционные системы, слайд №244 Операционные системы Введение в операционные системы, слайд №245 Операционные системы Введение в операционные системы, слайд №246 Операционные системы Введение в операционные системы, слайд №247 Операционные системы Введение в операционные системы, слайд №248 Операционные системы Введение в операционные системы, слайд №249 Операционные системы Введение в операционные системы, слайд №250 Операционные системы Введение в операционные системы, слайд №251 Операционные системы Введение в операционные системы, слайд №252 Операционные системы Введение в операционные системы, слайд №253 Операционные системы Введение в операционные системы, слайд №254 Операционные системы Введение в операционные системы, слайд №255 Операционные системы Введение в операционные системы, слайд №256 Операционные системы Введение в операционные системы, слайд №257 Операционные системы Введение в операционные системы, слайд №258 Операционные системы Введение в операционные системы, слайд №259

Содержание

Вы можете ознакомиться и скачать презентацию на тему Операционные системы Введение в операционные системы. Доклад-сообщение содержит 259 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Операционные системы Введение в операционные системы
Описание слайда:
Операционные системы Введение в операционные системы

Слайд 2


Введение в операционные системы Основные определения
Описание слайда:
Введение в операционные системы Основные определения

Слайд 3


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

Слайд 4


Уровни ВС
Описание слайда:
Уровни ВС

Слайд 5


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

Слайд 6


Основные ресурсы ВС Процессорное время (процессор) Адресное пространство (оперативная память) Файлы (накопители данных) Внешние устройства...
Описание слайда:
Основные ресурсы ВС Процессорное время (процессор) Адресное пространство (оперативная память) Файлы (накопители данных) Внешние устройства ввода/вывода (принтеры, сетевые устройства, …)

Слайд 7


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

Слайд 8


Мультипрограммирование: процессы и потоки Мультипрограммирование, метод одновременно выполнения на одной ЭВМ нескольких программ, относящихся к...
Описание слайда:
Мультипрограммирование: процессы и потоки Мультипрограммирование, метод одновременно выполнения на одной ЭВМ нескольких программ, относящихся к различным задачам или различным ветвям одной и той же задачи. В настоящее время в большинстве ОС определены два типа единиц работы, между которыми разделяется процессор и другие ресурсы компьютера: процесс и поток. Процесс – абстракция, описывающая выполняющуюся программу. Для ОС процесс представляет собой единицу работы, заявку на потребление системных ресурсов. Одним из основных ресурсов является адресное пространство процесса. Поток (нить, thread) – последовательность выполнения инструкций процессора. Процесс в этом случае рассматривается ОС как заявка на потребление всех видов ресурсов, кроме одного – процессорного времени, которое ОС распределяет между потоками. Таким образом, поток представляет собой мини-процесс, который работает в адресном пространстве породившего его процесса. В простейшем случае процесс состоит из одного потока, и именно таким образом трактовалось понятие «процесс» до середины 80-х годов (например, в ранних версиях UNIX).

Слайд 9


Мультипрограммирование: процессы и потоки Мультипрограммирование, метод одновременно выполнения на одной ЭВМ нескольких программ, относящихся к...
Описание слайда:
Мультипрограммирование: процессы и потоки Мультипрограммирование, метод одновременно выполнения на одной ЭВМ нескольких программ, относящихся к различным задачам или различным ветвям одной и той же задачи. В настоящее время в большинстве ОС определены два типа единиц работы, между которыми разделяется процессор и другие ресурсы компьютера: процесс и поток. Процесс – абстракция, описывающая выполняющуюся программу. Для ОС процесс представляет собой единицу работы, заявку на потребление системных ресурсов. Одним из основных ресурсов является адресное пространство процесса. Поток (нить, thread) – последовательность выполнения инструкций процессора. Процесс в этом случае рассматривается ОС как заявка на потребление всех видов ресурсов, кроме одного – процессорного времени, которое ОС распределяет между потоками. Таким образом, поток представляет собой мини-процесс, который работает в адресном пространстве породившего его процесса. В простейшем случае процесс состоит из одного потока, и именно таким образом трактовалось понятие «процесс» до середины 80-х годов (например, в ранних версиях UNIX).

Слайд 10


Введение в операционные системы Классификация ОС
Описание слайда:
Введение в операционные системы Классификация ОС

Слайд 11


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

Слайд 12


Классификация ОС Особенности алгоритмов управления ресурсами
Описание слайда:
Классификация ОС Особенности алгоритмов управления ресурсами

Слайд 13


Поддержка многозадачности По числу одновременно выполняемых задач ОС могут быть разделены на два класса: однозадачные (например, MS-DOS, MSX);...
Описание слайда:
Поддержка многозадачности По числу одновременно выполняемых задач ОС могут быть разделены на два класса: однозадачные (например, MS-DOS, MSX); многозадачные (OC EC, UNIX, Windows 9х, NT). Однозадачные ОС в основном выполняют функцию предоставления пользователю виртуальной машины. Многозадачные ОС поддерживают в том или ином виде мультипрограммирование и управляют разделением совместно используемых ресурсов (процессор, оперативная память, файлы и пр.).

Слайд 14


Поддержка многопользовательского режима По числу одновременно работающих пользователей ОС делятся на: однопользовательские (MS-DOS, Windows 3.x);...
Описание слайда:
Поддержка многопользовательского режима По числу одновременно работающих пользователей ОС делятся на: однопользовательские (MS-DOS, Windows 3.x); многопользовательские (UNIX, Windows NT). Главным отличием многопользовательских систем от однопользовательских является наличие средств защиты информации каждого пользователя от несанкционированного доступа других пользователей.

Слайд 15


Вытесняющая и не вытесняющая многозадачность Способ распределения процессорного времени между несколькими одновременно существующими в системе...
Описание слайда:
Вытесняющая и не вытесняющая многозадачность Способ распределения процессорного времени между несколькими одновременно существующими в системе задачами (процессами или потоками) в режиме мультипрограммирования во многом определяет специфику ОС. Среди множества существующих вариантов реализации многозадачности можно выделить две группы алгоритмов: невытесняющая (корпоративная) многозадачность (NetWare, Windows 3.x); вытесняющая многозадачность (Windows NT, OS/2, UNIX).

Слайд 16


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

Слайд 17


Классификация дисциплин обслуживания
Описание слайда:
Классификация дисциплин обслуживания

Слайд 18


Классификация дисциплин обслуживания Бесприоритетные ДО – выбор из очереди производится без учета относительной важности задач и времени их...
Описание слайда:
Классификация дисциплин обслуживания Бесприоритетные ДО – выбор из очереди производится без учета относительной важности задач и времени их обслуживания. Приоритетное обслуживание – отдельным задачам предоставляется преимущественное право перейти в состояние ВЫПОЛНЕНИЯ. Фиксированные приоритеты – являются величиной постоянной на всем жизненном цикле процесса. Динамические приоритеты – изменяются в зависимости от некоторых условий в соответствии с определенными правилами.

Слайд 19


Поддержка многопоточности Важным свойством операционных систем является возможность распараллеливания вычислений в рамках одного процесса....
Описание слайда:
Поддержка многопоточности Важным свойством операционных систем является возможность распараллеливания вычислений в рамках одного процесса. Многопоточная ОС разделяет процессорное время не между процессами, а между их отдельными нитями (потоками).

Слайд 20


Многопроцессорная обработка Другим важным свойством ОС является отсутствие или наличие в ней средств поддержки многопроцессорной обработки....
Описание слайда:
Многопроцессорная обработка Другим важным свойством ОС является отсутствие или наличие в ней средств поддержки многопроцессорной обработки. Мультипроцессирование приводит к усложнению всех алгоритмов управления ресурсами. В наши дни становится общепринятым введение в ОС функций поддержки многопроцессорной обработки данных. Такие функции имеются в операционных системах Solaris фирмы Sun, Windows NT-2000 фирмы Microsoft и NetWare фирмы Novell. Многопроцессорные ОС могут классифицироваться по способу организации вычислительного процесса: асимметричные ОС и симметричные ОС.

Слайд 21


Виды мультипроцессирования
Описание слайда:
Виды мультипроцессирования

Слайд 22


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

Слайд 23


Классификация ОС Особенности областей использования
Описание слайда:
Классификация ОС Особенности областей использования

Слайд 24


Типы многозадачных ОС Многозадачные ОС подразделяются на три типа в соответствии с использованными при их разработке критериями эффективности:...
Описание слайда:
Типы многозадачных ОС Многозадачные ОС подразделяются на три типа в соответствии с использованными при их разработке критериями эффективности: системы пакетной обработки (например, OC EC); системы разделения времени (UNIX, MS Windows); системы реального времени (QNX, RT/11).

Слайд 25


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

Слайд 26


Операционные системы Структурная организация операционных систем
Описание слайда:
Операционные системы Структурная организация операционных систем

Слайд 27


Монолитная структура
Описание слайда:
Монолитная структура

Слайд 28


Многоуровневая структура
Описание слайда:
Многоуровневая структура

Слайд 29


Микроядерная структура Альтернативой является построение ОС на базе модели клиент-сервер и тесно связанной с ней концепции микроядра. Микроядро...
Описание слайда:
Микроядерная структура Альтернативой является построение ОС на базе модели клиент-сервер и тесно связанной с ней концепции микроядра. Микроядро работает в привилегированном режиме и выполняет только минимум функций по управлению аппаратурой, в то время как функции ОС более высокого уровня выполняют специализированные компоненты ОС – серверы, работающие в пользовательском режиме.

Слайд 30


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

Слайд 31


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

Слайд 32


Сетевые службы и сервисы сетевые службы глубоко встроены в ОС; сетевые службы объединены в виде некоторого набора – оболочки; сетевые службы...
Описание слайда:
Сетевые службы и сервисы сетевые службы глубоко встроены в ОС; сетевые службы объединены в виде некоторого набора – оболочки; сетевые службы производятся и поставляются в виде отдельного продукта.

Слайд 33


Операционные системы Эволюция операционных систем
Описание слайда:
Операционные системы Эволюция операционных систем

Слайд 34


Этапы эволюции 1 этап (1940-60) системный монитор, ранние пакетные системы 2 этап (1965-75) мультипрограммирование, пакетные ОС и ОС разделения...
Описание слайда:
Этапы эволюции 1 этап (1940-60) системный монитор, ранние пакетные системы 2 этап (1965-75) мультипрограммирование, пакетные ОС и ОС разделения времени 3 этап (1970-80) ОС мини-ЭВМ 4 этап (1980-90) ОС ПК 5 этап (1990-наст.вр.) корпоративные ОС

Слайд 35


1 этап (1940-60) Середина 40-х XX-века – первые ламповые вычислительные устройства. ОС еще не появились, все задачи организации вычислительного...
Описание слайда:
1 этап (1940-60) Середина 40-х XX-века – первые ламповые вычислительные устройства. ОС еще не появились, все задачи организации вычислительного процесса решались программистом вручную с пульта управления. С середины 50-х годов – новая техническая база – полупроводниковые элементы: выросли технические характеристики ЭВМ: быстродействие процессоров, объемы оперативной и внешней памяти, надежность; появились первые алгоритмические языки, и появился новый тип системного программного обеспечения – трансляторы; были разработаны первые системные управляющие программы – мониторы. Программные мониторы – прообраз современных ОС, первые системные программы, предназначенные для управления вычислительным процессом. Программные мониторы предоставляли пакетный режим обслуживания на базе язык управления заданиями, с помощью которого программист сообщал системе и оператору, какие действия и в какой последовательности он хотел бы выполнить на ЭВМ. Типовой набор директив обычно включал признак начала отдельной работы, вызов транслятора, вызов загрузчика, признаки начала и конца исходных данных. Оператор составлял пакет заданий, которые в дальнейшем без его участия последовательно запускались на выполнение монитором. Кроме того, монитор был способен самостоятельно обрабатывать наиболее распространенные аварийные ситуации. Ранние системы пакетной обработки значительно сократили затраты времени на вспомогательные действия по организации вычислительного процесса и способствовали повышению эффективности использования компьютеров.

Слайд 36


2 этап (1965-75) 1965-1975 годы переход к интегральным микросхемам, новое поколение ЭВМ – IBM/360, многопроцессорная ЭВМ для централизованных...
Описание слайда:
2 этап (1965-75) 1965-1975 годы переход к интегральным микросхемам, новое поколение ЭВМ – IBM/360, многопроцессорная ЭВМ для централизованных вычислений. Реализованы основные концепции, присущие современным ОС: мультипрограммирование, мультипроцессирование, многотерминальный режим, виртуальная память, файловые системы, разграничение доступа и сетевая работа. Мультипрограммирование было реализовано в двух вариантах – пакетная обработка и разделение времени. Для поддержания удаленной работы терминалов в ОС появились специальные программные модули, реализующие различные (в то время, как правило, нестандартные) протоколы связи. Поэтому эти ОС можно считать прообразом современных сетевых ОС. 1965-69 годы – разработка фирмами Bell Telephone Lab., General Electric и Массачусетским технологическим институтом новой многозадачной ОС – Multics (MULTiplexed Information and Computing Service), которая была потом переименована на UNIX.

Слайд 37


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

Слайд 38


3 этап (1970-80) Начало 70-х годов – первые сетевые ОС, которые в отличие от многотерминальных ОС позволяли не только рассредоточить пользователей,...
Описание слайда:
3 этап (1970-80) Начало 70-х годов – первые сетевые ОС, которые в отличие от многотерминальных ОС позволяли не только рассредоточить пользователей, но и организовать распределенное хранение и обработку данных между несколькими компьютерами, связанными сетью. 1969 год – начало работ Министерства обороны США по объединению суперкомпьютеров оборонных и научно-исследовательских центров в единую сеть ARPANET, которая явилась отправной точкой для создания глобальной сети Интернет. Середина 70-х годов – широкое распространение получили мини-ЭВМ (PDP-11, Nova, HP) на базе технологии БИС, которая позволила реализовать достаточно мощные функции при сравнительно невысокой стоимости компьютера. Архитектура мини-ЭВМ была значительно упрощена по сравнению с мэйнфреймами, что нашло отражение и в их ОС. Многие функции мультипрограммных многопользовательских ОС мэйнфреймов были усечены, учитывая ограниченность ресурсов мини-компьютеров. ОС мини-компьютеров часто стали делать специализированными, например, только для управления в реальном времени (ОС RT-11 для PDP-11) или только для поддержания режима разделения времени (RSX-11M для PDP-11). Эти ОС не всегда были многопользовательскими, что во многих случаях оправдывалось невысокой стоимостью компьютеров.

Слайд 39


4 этап (1980-90) Постоянное развитие версий ОС UNIX для ЭВМ различных архитектур. Начало 80-х годов – появление персональных компьютеров (ПК),...
Описание слайда:
4 этап (1980-90) Постоянное развитие версий ОС UNIX для ЭВМ различных архитектур. Начало 80-х годов – появление персональных компьютеров (ПК), которые стали мощным катализатором для бурного роста ЛВС, в результате чего поддержка сетевых функций стала для ОС ПК необходимым условием. Также в 80-е годы – приняты основные стандарты на коммуникационные технологии для ЛВС (например, Ethernet). Это позволило обеспечить совместимость сетевых ОС на нижних уровнях, а также стандартизовать интерфейс ОС с драйверами сетевых адаптеров. 1981 год – первая ОС компании Microsoft для ПК. MS-DOS было однопрограммной однопользовательской ОС с интерфейсом командной строки. Недостающие функции MS-DOS (например, интерфейсные и сетевые) компенсировались внешними программами. Начиная с MS-DOS v3.1 к файловой системе добавились необходимые для сетевой работы средства блокировки файлов и записей (совместная работа пользователей). 1983 год – первая сетевая ОС компании Novell OS-Net для сетей со звездообразной топологией. После выпуска фирмой IBM ПК типа PC XT, компания Novell разработала сетевую ОС NetWare 86 для ПК. 1987 год – Microsoft и IBM выпустили первую многозадачную ОС OS/2 для ПК на базе МП Intel 80286. Эта ОС поддерживала вытесняющую многозадачность, многопоточность, виртуальную память, графический пользовательский интерфейс и виртуальную машину для выполнения DOS-приложений. Начиная с МП Intel 80286 с поддержкой мультипрограммирования, перенос ОС UNIX на ПК, например, версия UNIX компании Santa Cruz Operation (SCO UNIX).

Слайд 40


5 этап (1990 – …) 90-е годы – практически все ОС стали сетевыми. Сетевые функции встраиваются в ядро ОС, являясь ее неотъемлемой частью. Появились...
Описание слайда:
5 этап (1990 – …) 90-е годы – практически все ОС стали сетевыми. Сетевые функции встраиваются в ядро ОС, являясь ее неотъемлемой частью. Появились специализированные ОС, которые предназначены исключительно для выполнения коммуникационных задач. Например, сетевая ОС IOS компании Cisco Systems, работающая в маршрутизаторах, организует в мультипрограммном режиме выполнение набора программ, каждая из которых реализует один из коммуникационных протоколов. Вторая половина 90-х годов – особая поддержка со стороны ОС средств работы с Интернетом. Понятие корпоративная сетевая ОС. Корпоративная ОС отличается способностью хорошо и устойчиво работать в крупных сетях, которые характерны для больших предприятий, имеющих отделения в десятках городов и, возможно, в разных странах. Таким сетям органически присуща высокая степень гетерогенности программных и аппаратных средств, поэтому корпоративная ОС должна взаимодействовать с ОС разных типов и работать на различных аппаратных платформах. К настоящему времени достаточно явно определилась тройка лидеров в классе корпоративных ОС – это Novell NetWare 4-6, Microsoft Windows NT-2000, а также UNIX-системы различных производителей аппаратных платформ.

Слайд 41


Операционные системы Архитектура Windows NT-2000
Описание слайда:
Операционные системы Архитектура Windows NT-2000

Слайд 42


Архитектура Windows NT-2000 Основная характеристика ОС Windows NT-2000
Описание слайда:
Архитектура Windows NT-2000 Основная характеристика ОС Windows NT-2000

Слайд 43


Основная характеристика Windows NT-2000 Система Windows NT-2003 не является дальнейшим развитием ранее существовавших продуктов. Ее архитектура...
Описание слайда:
Основная характеристика Windows NT-2000 Система Windows NT-2003 не является дальнейшим развитием ранее существовавших продуктов. Ее архитектура создавалась с нуля с учетом предъявляемых к современной ОС требований: совместимость (compatible); переносимость (portability); масштабируемость (scalability); безопасность (security); распределенная обработка (distributed processing); надежность и отказоустойчивость (reliability and robustness); локализации (localization); расширяемость (extensibility).

Слайд 44


Семейство Windows 2000
Описание слайда:
Семейство Windows 2000

Слайд 45


Архитектура Windows NT-2000 Архитектура ОС Windows NT-2000
Описание слайда:
Архитектура Windows NT-2000 Архитектура ОС Windows NT-2000

Слайд 46


Упрощенная архитектура Windows 2000
Описание слайда:
Упрощенная архитектура Windows 2000

Слайд 47


Режим ядра исполняющая система NT, которая включает управление памятью, процессами, потоками, безопасностью, вводом/выводом, межпроцессорными...
Описание слайда:
Режим ядра исполняющая система NT, которая включает управление памятью, процессами, потоками, безопасностью, вводом/выводом, межпроцессорными обменами; ядро (микроядро) Windows NT выполняет низкоуровневые функции ОС: диспетчеризация потоков, прерываний и исключений, синхронизация процессоров. Ядро также включает набор процедур и базовых объектов, используемый исполняемой частью для создания высокоуровневых конструкций; уровень абстракции от оборудования (HAL – Hardware Abstraction Layer), изолирует ядро, драйверы устройств и исполняемую часть NT от аппаратных платформ, на которых должна работать ОС. Подобный подход позволяет обеспечить переносимость Windows NT. драйверы устройств включают как файловую систему, так и аппаратные драйверы, которые транслируют пользовательские вызовы функций ввода/вывода в запросы физических устройств ввода/вывода; функции графического интерфейса пользователя работают с окнами, элементами управления и рисунками.

Слайд 48


Пользовательский режим Специальные процессы поддержки системы, например, процесс регистрации пользователя и менеджер сессий, которые не являются...
Описание слайда:
Пользовательский режим Специальные процессы поддержки системы, например, процесс регистрации пользователя и менеджер сессий, которые не являются службами NT. Процессы сервера, которые являются службами NT (аналог демонов в ОС Unix). Примером может быть регистратор событий (Event Logger). Многие дополнительно устанавливаемые приложения, такие как Microsoft SQL Server и Exchange Server, также включают компоненты, работающие как службы NT. Подсистемы среды представляют собой защищенные серверы пользовательского режима (user-mode), которые обеспечивают выполнение и поддержку приложений, разработанных для различного операционного окружения (различных ОС). Примером подсистем среды могут служить подсистемы Win32, Posix и OS/2 2.1. Пользовательские приложения одного из пяти типов: Win32, Windows 3.1, MS-DOS, Posix или OS/2 1.2.

Слайд 49


Подробная архитектура Windows 2000
Описание слайда:
Подробная архитектура Windows 2000

Слайд 50


Исполняющая система Менеджер процессов и потоков управляет процессами и потоками. Фактически потоки и процессы поддерживаются в NT нижележащим слоем....
Описание слайда:
Исполняющая система Менеджер процессов и потоков управляет процессами и потоками. Фактически потоки и процессы поддерживаются в NT нижележащим слоем. Исполняемая часть добавляет дополнительную семантику и функции к этим объектам нижнего уровня. Менеджер виртуальной памяти использует схему управления, при которой каждый процесс получает собственное достаточно большое адресное пространство, защищенное от воздействия других процессов. Менеджер памяти также обеспечивает низкоуровневую поддержку для менеджера кэш-памяти. Монитор безопасности проводит политику обеспечения мер безопасности на локальном компьютере, охраняя системные ресурсы и выполняя процедуры аудита и защиты объектов. Система ввода/вывода использует независимый от устройств ввод/вывод и отвечает за пересылку данных соответствующим драйверам для дальнейшей обработки. Менеджер кэш-памяти улучшает производительность системы ввода/вывода файлов, размещая читаемые с диска данные в основной памяти для ускорения доступа к ним, а также откладывая на короткое время запись измененных данных на диск. Менеджер объектов, который создает, удаляет объекты и абстрактные типы данных, а также управляет ими. Объекты используются в Windows NT для представления таких ресурсов операционной системы, как процессы, потоки и объекты синхронизации. LPC (Local Procedure Call) передает сообщения между клиентским процессом и процессом сервера на том же самом компьютере. По сути, LPC – это оптимизированная версия известной процедуры удаленного вызова RPC (Remote Procedure Call). Широкий набор библиотечных функций общего типа: обработка строк, арифметические операции, преобразование типов данных, обработка структур. Процедуры распределения памяти, взаимообмен между процессами через память, два специальных типа объектов синхронизации – ресурсы и объекты fast mutex.

Слайд 51


Ядро (микроядро) Windows NT Ядро (Microkernel) является основой модульного строения ОС и координирует выполнение большинства базовых операций Windows...
Описание слайда:
Ядро (микроядро) Windows NT Ядро (Microkernel) является основой модульного строения ОС и координирует выполнение большинства базовых операций Windows NT. Программное обеспечение ядра выполняется полностью в привилегированном режиме, является неперемещаемым и невыгружаемым. Ядро, в первую очередь, занимается планированием действий процессора. В случае если компьютер содержит несколько процессоров, ядро может выполнятся на всех процессорах (SMP) и синхронизирует их работу с целью достижения максимальной производительности системы. Ядро осуществляет диспетчеризацию потоков (threads), таким образом, чтобы максимально загрузить процессоры системы и обеспечить первоочередную обработку потоков с более высоким приоритетом. Ядро также обеспечивает работу других базовых объектов ядра, которые используются исполняющей системой (и в некоторых случаях экспортируются в режим пользователя).

Слайд 52


Архитектура Windows NT-2000 Объекты Windows NT-2000
Описание слайда:
Архитектура Windows NT-2000 Объекты Windows NT-2000

Слайд 53


Понятие объекта
Описание слайда:
Понятие объекта

Слайд 54


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

Слайд 55


Типы объектов Windows 2000 Объекты исполнительной системы (executive object) представляются различными компонентами исполнительной системы. Они...
Описание слайда:
Типы объектов Windows 2000 Объекты исполнительной системы (executive object) представляются различными компонентами исполнительной системы. Они доступны программам пользовательского режима (защищенным подсистемам) посредством базовых сервисов и могут создаваться и использоваться как подсистемами, так и исполнительной системой. Объекты ядра (kernel object) – это более примитивный набор объектов, реализованный ядром. Эти объекты невидимы коду пользовательского режима, а создаются и используются только внутри исполнительной системы.

Слайд 56


Структура объектов Windows 2000
Описание слайда:
Структура объектов Windows 2000

Слайд 57


Структура объектов Windows 2000
Описание слайда:
Структура объектов Windows 2000

Слайд 58


Примеры объектов Файл Регион памяти Поток Процесс Семафор Таймер
Описание слайда:
Примеры объектов Файл Регион памяти Поток Процесс Семафор Таймер

Слайд 59


Защита объектов ОС Windows 2000 поддерживает два вида контроля доступа к объектам: управление избирательным доступом (discretionary access control) –...
Описание слайда:
Защита объектов ОС Windows 2000 поддерживает два вида контроля доступа к объектам: управление избирательным доступом (discretionary access control) – основной механизм контроля доступа, при котором владельцы объектов разрешают или запрещают доступ к ним для других пользователей (процессов). Когда процесс пытается использовать какой-либо объект, система проводит сравнение атрибутов безопасности, находящихся в идентификаторе безопасности маркера доступа с каждым элементом контроля доступа (access control element, ACE) в списке контроля доступа (access control list, ACL) самого объекта. управление привилегированным доступом (privileged access control) – необходим в тех случаях, когда управления избирательным доступом недостаточно. Данный метод гарантирует, что пользователь сможет обратиться к защищенным объектам, даже если их владелец недоступен.

Слайд 60


Отношения между маркером доступа и атрибутами безопасности объекта
Описание слайда:
Отношения между маркером доступа и атрибутами безопасности объекта

Слайд 61


Операционные системы Введение в файловые системы
Описание слайда:
Операционные системы Введение в файловые системы

Слайд 62


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

Слайд 63


Понятие ФС В широком смысле понятие “ФС” включает: совокупность всех файлов на диске, наборы структур данных, используемых для управления файлами,...
Описание слайда:
Понятие ФС В широком смысле понятие “ФС” включает: совокупность всех файлов на диске, наборы структур данных, используемых для управления файлами, комплекс системных программных средств, реализующих управление файлами.

Слайд 64


Типы файлов Файлы бывают разных типов: обычные файлы: текстовые; двоичные; специальные файлы; файлы-каталоги.
Описание слайда:
Типы файлов Файлы бывают разных типов: обычные файлы: текстовые; двоичные; специальные файлы; файлы-каталоги.

Слайд 65


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

Слайд 66


Структура каталогов
Описание слайда:
Структура каталогов

Слайд 67


Логическая организация ФС
Описание слайда:
Логическая организация ФС

Слайд 68


Логическая организация файла
Описание слайда:
Логическая организация файла

Слайд 69


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

Слайд 70


Способы физической организации
Описание слайда:
Способы физической организации

Слайд 71


Права доступа к файлу создание файла уничтожение файла открытие файла закрытие файла чтение файла запись в файл дополнение файла
Описание слайда:
Права доступа к файлу создание файла уничтожение файла открытие файла закрытие файла чтение файла запись в файл дополнение файла

Слайд 72


Матрица прав доступа
Описание слайда:
Матрица прав доступа

Слайд 73


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

Слайд 74


Кэширование диска – запись сквозная отложенная
Описание слайда:
Кэширование диска – запись сквозная отложенная

Слайд 75


Общая модель ФС
Описание слайда:
Общая модель ФС

Слайд 76


Файловые системы Работа с файлами в Windows API
Описание слайда:
Файловые системы Работа с файлами в Windows API

Слайд 77


Работа с томами Для выяснения того, какие логические диски существуют в системе, используется функция DWORD GetLogicalDrives( void ) Каждый...
Описание слайда:
Работа с томами Для выяснения того, какие логические диски существуют в системе, используется функция DWORD GetLogicalDrives( void ) Каждый установленный бит возвращаемого значения соответствует существующему в системе логическому устройству. Например, если в системе существуют диски A:, C: и D:, то возвращаемое функцией значение равно 13(10). Функция DWORD GetLogicalDrivesStrings( DWORD cchBuffer, LPTSTR lpszBuffer) заполняет lpszBuffer информацией о корневом каталоге каждого логического диска в системе. В приведенном выше примере буфер будет заполнен символами A:\C:\D:\ параметр cchBuffer определяет длину буфера. Функция возвращает реальную длину буфера, необходимую для размещения всей информации.

Слайд 78


Работа с томами Для определения типа диска предназначена функция UINT GetDriveType( LPTSTR lpszRootPathName ) В качестве параметра ей передается...
Описание слайда:
Работа с томами Для определения типа диска предназначена функция UINT GetDriveType( LPTSTR lpszRootPathName ) В качестве параметра ей передается символическое имя корневого каталога (напр. A:\), а возвращаемое значение может быть одно из следующих:

Слайд 79


Работа с томами Для получения подробной информации о носителе используется функция GetVolumeInformation. Она заполняет параметры информацией об имени...
Описание слайда:
Работа с томами Для получения подробной информации о носителе используется функция GetVolumeInformation. Она заполняет параметры информацией об имени тома, названии файловой структуры, максимальной длине имени файла, дополнительных атрибутах тома, специфических для файловой структуры. Функция GetDiskFreeSpace сообщает информацию о размерах сектора и кластера и о наличии свободных кластеров.

Слайд 80


Работа с каталогами и файлами
Описание слайда:
Работа с каталогами и файлами

Слайд 81


Синхронная работа с файлами HANDLE CreateFile ( LPCTSTR lpFileName, // pointer to name of the file DWORD dwDesiredAccess, // access (read-write) mode...
Описание слайда:
Синхронная работа с файлами HANDLE CreateFile ( LPCTSTR lpFileName, // pointer to name of the file DWORD dwDesiredAccess, // access (read-write) mode DWORD dwShareMode, // share mode LPSECURITY_ATTRIBUTES lpSecurityAttributes, // pointer to security // descriptor DWORD dwCreationDistribution,// how to create DWORD dwFlagsAndAttributes, // file attributes HANDLE hTemplateFile // handle to file with attributes to copy ); В случае удачи функция CreateFile возвращает описатель открытого файла как объекта ядра. Существенно, что в противном случае она возвращает не NULL, а INVALID_HANDLE_VALUE.

Слайд 82


Асинхронная работа с файлами BOOL ReadFile( HANDLE hFile, // handle of file to read LPVOID lpBuffer, // address of buffer that receives data DWORD...
Описание слайда:
Асинхронная работа с файлами BOOL ReadFile( HANDLE hFile, // handle of file to read LPVOID lpBuffer, // address of buffer that receives data DWORD nNumberOfBytesToRead,// number of bytes to read LPDWORD lpNumberOfBytesRead,// address of number of bytes read LPOVERLAPPED lpOverlapped // address of structure needed for // overlapped I/O ); BOOL WriteFile( HANDLE hFile, // handle to file to write to LPCVOID lpBuffer, // pointer to data to write to file DWORD nNumberOfBytesToWrite, // number of bytes to write LPDWORD lpNumberOfBytesRead,// pointer to number of bytes written LPOVERLAPPED lpOverlapped // address of structure needed for //overlapped I/O );

Слайд 83


Файловые системы Файловые системы фирмы Microsoft
Описание слайда:
Файловые системы Файловые системы фирмы Microsoft

Слайд 84


Кластеры
Описание слайда:
Кластеры

Слайд 85


Фрагментация и дефрагментация
Описание слайда:
Фрагментация и дефрагментация

Слайд 86


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

Слайд 87


Файловые системы Файловая система FAT для MS DOS
Описание слайда:
Файловые системы Файловая система FAT для MS DOS

Слайд 88


Таблица разделов логического диска
Описание слайда:
Таблица разделов логического диска

Слайд 89


Структура логического диска FAT Загрузочная запись (первый сектор диска) – служит для загрузки ОС и организация хранения данных. FAT (File Allocation...
Описание слайда:
Структура логического диска FAT Загрузочная запись (первый сектор диска) – служит для загрузки ОС и организация хранения данных. FAT (File Allocation Table) – таблица размещения файлов. Корневой каталог – для FAT16 512 записей о файлах и каталогах, расположенных в корне файловой системы.

Слайд 90


Элемент каталога FAT16
Описание слайда:
Элемент каталога FAT16

Слайд 91


Логическая организация данных
Описание слайда:
Логическая организация данных

Слайд 92


Размеры разделов и кластеров FAT16 для Windows 95-2000
Описание слайда:
Размеры разделов и кластеров FAT16 для Windows 95-2000

Слайд 93


Файловые системы Файловая система FAT32
Описание слайда:
Файловые системы Файловая система FAT32

Слайд 94


Файловая система FAT32 FAT32 это развитие файловой системы FAT(VFAT, FAT16). 32-разрядная адресация кластеров – максимальное число адресуемых...
Описание слайда:
Файловая система FAT32 FAT32 это развитие файловой системы FAT(VFAT, FAT16). 32-разрядная адресация кластеров – максимальное число адресуемых кластеров – 4 294 377 472. Поддержка больших разделов (более 4Gb), кроме этого уменьшен размер кластера на разделе. Поддержка длинных имен до 255 символов. У нее нет ограничений на число и размер расширения. Длинные имена (LFN) хранятся в специально отформатированных 32-байт записях, байт атрибутов у которых равен 0Fh.

Слайд 95


Элемент каталога FAT32
Описание слайда:
Элемент каталога FAT32

Слайд 96


Пример длинного имени
Описание слайда:
Пример длинного имени

Слайд 97


Проблемы длинных имен в FAT32 Требуется больше дискового пространства Бóльшая фрагментация (на уровне каталогов)
Описание слайда:
Проблемы длинных имен в FAT32 Требуется больше дискового пространства Бóльшая фрагментация (на уровне каталогов)

Слайд 98


Сравнение FAT16 и FAT32
Описание слайда:
Сравнение FAT16 и FAT32

Слайд 99


Файловые системы Файловая система NTFS
Описание слайда:
Файловые системы Файловая система NTFS

Слайд 100


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

Слайд 101


Понятия и термины NTFS Структура NTFS начинается с тома (volume). Том соответствует логическому разделу на диске и создается, когда Вы форматируете...
Описание слайда:
Понятия и термины NTFS Структура NTFS начинается с тома (volume). Том соответствует логическому разделу на диске и создается, когда Вы форматируете диск или часть его для NTFS. NTFS обрабатывает каждый том независимо от других.

Слайд 102


Размер кластера для NTFS
Описание слайда:
Размер кластера для NTFS

Слайд 103


NTFS и архитектура Windows 2000
Описание слайда:
NTFS и архитектура Windows 2000

Слайд 104


Взаимодействие NTFS со связанными компонентами
Описание слайда:
Взаимодействие NTFS со связанными компонентами

Слайд 105


Физическая структура NTFS
Описание слайда:
Физическая структура NTFS

Слайд 106


MFT и ее структура
Описание слайда:
MFT и ее структура

Слайд 107


Метафайлы Первые 16 файлов NTFS (метафайлы) носят служебный характер. Метафайлы находятся корневом каталоге NTFS диска - они начинаются с символа...
Описание слайда:
Метафайлы Первые 16 файлов NTFS (метафайлы) носят служебный характер. Метафайлы находятся корневом каталоге NTFS диска - они начинаются с символа имени "$" Для метафайлов указан реальный размер - можно узнать, например, сколько ОС тратит на каталогизацию всего диска.

Слайд 108


Перечень метафайлов (1)
Описание слайда:
Перечень метафайлов (1)

Слайд 109


Перечень метафайлов (2)
Описание слайда:
Перечень метафайлов (2)

Слайд 110


Файл и его атрибуты (1)
Описание слайда:
Файл и его атрибуты (1)

Слайд 111


Файл и его атрибуты (2)
Описание слайда:
Файл и его атрибуты (2)

Слайд 112


Непосредственное хранение файлов
Описание слайда:
Непосредственное хранение файлов

Слайд 113


Нерезидентное хранение файлов
Описание слайда:
Нерезидентное хранение файлов

Слайд 114


Сжатие файлов
Описание слайда:
Сжатие файлов

Слайд 115


Каталоги
Описание слайда:
Каталоги

Слайд 116


Двоичное дерево B+
Описание слайда:
Двоичное дерево B+

Слайд 117


Хранение каталога
Описание слайда:
Хранение каталога

Слайд 118


Защита целостности данных NTFS является восстанавливаемой ФС и поддерживает следующие технологии защиты целостности данных: Горячая фиксация Механизм...
Описание слайда:
Защита целостности данных NTFS является восстанавливаемой ФС и поддерживает следующие технологии защиты целостности данных: Горячая фиксация Механизм транзакций

Слайд 119


Горячая фиксация
Описание слайда:
Горячая фиксация

Слайд 120


Механизм транзакций Восстанавливаемость ФС в NTFS обеспечивается при помощи техники обработки транзакций, называемой протоколированием (logging). В...
Описание слайда:
Механизм транзакций Восстанавливаемость ФС в NTFS обеспечивается при помощи техники обработки транзакций, называемой протоколированием (logging). В состав средств протоколирования NTFS входят два важных компонента: журнал транзакций (log file) – это системный файл, создаваемый командой Format. сервис журнала операций (log file service, LFS) – набор системных процедур, которые NTFS использует для доступа к журналу транзакций.

Слайд 121


Журнал транзакций
Описание слайда:
Журнал транзакций

Слайд 122


Записи модификации установка файловой информации переименование файла изменение прав доступа к файлу
Описание слайда:
Записи модификации установка файловой информации переименование файла изменение прав доступа к файлу

Слайд 123


Структура записи модификации
Описание слайда:
Структура записи модификации

Слайд 124


Запись контрольной точки Периодически (5 сек.) NTFS помещает в журнал транзакций записи контрольной точки: Запись контрольной точки помогает NTFS...
Описание слайда:
Запись контрольной точки Периодически (5 сек.) NTFS помещает в журнал транзакций записи контрольной точки: Запись контрольной точки помогает NTFS определить, какая обработка необходима для восстановления тома, если сбой произошел “сразу” после помещения этой записи в журнал. LSN контрольной точки записывается в область рестарта.

Слайд 125


Таблицы восстановления Таблица транзакций (transaction table) предназначена для отслеживания транзакций, которые были начаты, но еще не подтверждены....
Описание слайда:
Таблицы восстановления Таблица транзакций (transaction table) предназначена для отслеживания транзакций, которые были начаты, но еще не подтверждены. Их надо удалить в процессе восстановления. В таблицу измененных страниц (dirty page table) записывается информация о том, какие страницы кэша содержат изменения структуры файловой системы, еще не записанные на диск. Эти данные в процессе восстановления должны быть сброшены на диск.

Слайд 126


Процесс восстановления При восстановлении тома NTFS загружает журнал транзакций в оперативную память и выполняет три прохода: анализ; повтор...
Описание слайда:
Процесс восстановления При восстановлении тома NTFS загружает журнал транзакций в оперативную память и выполняет три прохода: анализ; повтор транзакций; отмена транзакций.

Слайд 127


Безопасность в NTFS Защита файлов NTFS на объектном уровне – Security Reference Monitor определяет, имеет ли пользователь необходимые права для...
Описание слайда:
Безопасность в NTFS Защита файлов NTFS на объектном уровне – Security Reference Monitor определяет, имеет ли пользователь необходимые права для вызова какого-либо из этих методов. Шифрование файлов с помощью специального драйвера EFS (Encrypting File System).

Слайд 128


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

Слайд 129


Файловые системы NTFS vs. FAT
Описание слайда:
Файловые системы NTFS vs. FAT

Слайд 130


Итоги
Описание слайда:
Итоги

Слайд 131


Операционные системы Основы управления памятью
Описание слайда:
Операционные системы Основы управления памятью

Слайд 132


Методы управления памятью
Описание слайда:
Методы управления памятью

Слайд 133


Основы управления памятью Методы распределения памяти без использования дискового пространства
Описание слайда:
Основы управления памятью Методы распределения памяти без использования дискового пространства

Слайд 134


Распределение памяти фиксированными разделами
Описание слайда:
Распределение памяти фиксированными разделами

Слайд 135


Распределение памяти разделами переменной величины
Описание слайда:
Распределение памяти разделами переменной величины

Слайд 136


Перемещаемые разделы
Описание слайда:
Перемещаемые разделы

Слайд 137


Основы управления памятью Методы распределения памяти с использованием дискового пространства
Описание слайда:
Основы управления памятью Методы распределения памяти с использованием дискового пространства

Слайд 138


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

Слайд 139


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

Слайд 140


Страничное распределение
Описание слайда:
Страничное распределение

Слайд 141


Страничное распределение: преобразования ВА в ФА
Описание слайда:
Страничное распределение: преобразования ВА в ФА

Слайд 142


Сегментное распределение
Описание слайда:
Сегментное распределение

Слайд 143


Странично-сегментное распределение
Описание слайда:
Странично-сегментное распределение

Слайд 144


Алгоритмы замещения страниц (свопинга) Замещение случайной страницы FIFO (First In First Out) – замещение первой использованной страницы LRU (Least...
Описание слайда:
Алгоритмы замещения страниц (свопинга) Замещение случайной страницы FIFO (First In First Out) – замещение первой использованной страницы LRU (Least Recently Used) – замещение дольше всех неиспользовавшихся страниц NRU (Not Recently Used) или clock – замещение не использовавшихся в последнее время страницы LFU (Least Frequently Used) – замещение наименее часто используемых страниц

Слайд 145


Операционные системы Архитектура памяти в Win32 API. Общие принципы
Описание слайда:
Операционные системы Архитектура памяти в Win32 API. Общие принципы

Слайд 146


Архитектура API управления памятью
Описание слайда:
Архитектура API управления памятью

Слайд 147


Менеджер виртуальной памяти VMM (Virtual Memory Manager) управление виртуальным адресным пространством процесса; разделение памяти между процессами;...
Описание слайда:
Менеджер виртуальной памяти VMM (Virtual Memory Manager) управление виртуальным адресным пространством процесса; разделение памяти между процессами; защита виртуальной памяти одного процесса от других процессов.

Слайд 148


Адресное пространство процесса
Описание слайда:
Адресное пространство процесса

Слайд 149


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

Слайд 150


Операционные системы Управление виртуальной памятью в Win32
Описание слайда:
Операционные системы Управление виртуальной памятью в Win32

Слайд 151


Каталог страниц и свопинг Каждому процессу назначается свой каталог страниц. Именно поэтому адресное пространство каждого процесса изолировано, что...
Описание слайда:
Каталог страниц и свопинг Каждому процессу назначается свой каталог страниц. Именно поэтому адресное пространство каждого процесса изолировано, что очень хорошо с точки зрения защиты процессов друг от друга. Для того, чтобы обеспечить все линейное адресное пространство процесса физическими ячейками памяти. Windows NT-2000 применяет свопинг (swapping). Организацией свопинга занимается VMM. При генерации системы на диске образуется специальный файл свопинга, куда записываются те страницы, которым не находится места в физической памяти. Процессы могут захватывать память в своем 32-битном адресном пространстве и, затем, использовать ее. Страница может иметь различные состояния. VMM использует алгоритм LRU (Least Recently Used) – замещение дольше всех неиспользовавшихся страниц.

Слайд 152


Страничное преобразование
Описание слайда:
Страничное преобразование

Слайд 153


Элемент таблицы страниц
Описание слайда:
Элемент таблицы страниц

Слайд 154


Отдельные состояния страниц Valid – страница используется процессом. Она реально существует в ОП и помечена в PTE как присутствующая в рабочем...
Описание слайда:
Отдельные состояния страниц Valid – страница используется процессом. Она реально существует в ОП и помечена в PTE как присутствующая в рабочем множестве процесса (P=1, T=0). Modified – содержимое страницы было изменено (D=1). В PTE страница помечена как отсутствующая (P=0) и переходная (T=1). Standby – содержимое страницы не изменялось (D=0). В PTE страница помечена как отсутствующая (P=0) и переходная (T=1). Free – страница, на которую не ссылается ни один PTE. Страница свободна, но подлежит обнулению, прежде чем будет использована. Zeroed – свободная и обнуленная страница, пригодная к непосредственному использованию любым процессом. Bad – страница, которая вызывает аппаратные ошибки и не может быть использована ни одним процессом.

Слайд 155


Реализация свопинга С понятием свопинга связаны три стратегии: выборка (fetch); размещение (placement); замещение (replacement).
Описание слайда:
Реализация свопинга С понятием свопинга связаны три стратегии: выборка (fetch); размещение (placement); замещение (replacement).

Слайд 156


Архитектура памяти в Win32 API Организация «статической» виртуальной памяти
Описание слайда:
Архитектура памяти в Win32 API Организация «статической» виртуальной памяти

Слайд 157


Работа приложений с виртуальной памятью Блок адресов в адресном пространстве процесса может находиться в одном из трех состояний Выделен (committed)...
Описание слайда:
Работа приложений с виртуальной памятью Блок адресов в адресном пространстве процесса может находиться в одном из трех состояний Выделен (committed) – блоку адресов назначена физическая память либо часть файла подкачки. Зарезервирован (reserved) – блок адресов помечен как занятый, но физическая память не распределена. Свободен (free) – блок адресов не выделен и не зарезервирован.

Слайд 158


Функции API для работы виртуальной памятью VirtualAlloc VirtualFree VirtualQuery
Описание слайда:
Функции API для работы виртуальной памятью VirtualAlloc VirtualFree VirtualQuery

Слайд 159


Архитектура памяти в Win32 API Организация «динамической» виртуальной памяти
Описание слайда:
Архитектура памяти в Win32 API Организация «динамической» виртуальной памяти

Слайд 160


Кучи (heaps) Кучи (heaps) – это динамически распределяемые области данных. HANDLE GetProcessHeap( void ) – для получения дескриптора кучи по...
Описание слайда:
Кучи (heaps) Кучи (heaps) – это динамически распределяемые области данных. HANDLE GetProcessHeap( void ) – для получения дескриптора кучи по умолчанию; LPVOID HeapAlloc( HANDLE hHeap, DWORD dwFlags, DWORD dwSize ) – для выделения из кучи блока памяти заданного размера и возвращения указателя; LPVOID HeapReAlloc( HANDLE hHeap, DWORD dwFlags, LPVOID lpOldBlock, DWORD dwSize) – для изменения размера выделенного блока памяти с возможностью перемещения блока при необходимости; BOOL HeapFree(HANDLE hHeap, DWORD dwFlags, LPVOID lpMem ) – для освобождения выделенного блока памяти кучи.

Слайд 161


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

Слайд 162


Архитектура памяти в Win32 API Файлы, проецируемые в память
Описание слайда:
Архитектура памяти в Win32 API Файлы, проецируемые в память

Слайд 163


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

Слайд 164


Применение проецируемых файлов Этот механизм имеет три применения в Win32: Для запуска исполняемых файлов (EXE) и динамически связываемых библиотек...
Описание слайда:
Применение проецируемых файлов Этот механизм имеет три применения в Win32: Для запуска исполняемых файлов (EXE) и динамически связываемых библиотек (DLL). Для работы с файлами. Для одновременного использования одной области данных двумя процессами.

Слайд 165


Запуск исполняемых файлов и DLL При исполнении функции CreateProcess система обращается к VMM для выполнения следующих действий Создать адресное...
Описание слайда:
Запуск исполняемых файлов и DLL При исполнении функции CreateProcess система обращается к VMM для выполнения следующих действий Создать адресное пространство процесса (размером 4Gb). Резервировать в адресном пространстве процесса регион размером, достаточным для размещения исполняемого файла. Начальный адрес региона определяется в заголовке EXE-модуля. Обычно он равен 0x00400000. Отобразить исполняемый файл на зарезервированное адресное пространство. Таким же образом отобразить на адресное пространство процесса необходимые ему динамически связываемые библиотеки. Информация о необходимых библиотеках находится в заголовке EXE-модуля. Желательное расположение региона адресов описано внутри библиотеки.

Слайд 166


Запуск EXE-файлов и DLL-библиотек
Описание слайда:
Запуск EXE-файлов и DLL-библиотек

Слайд 167


Одновременное использование одной области данных двумя процессами
Описание слайда:
Одновременное использование одной области данных двумя процессами

Слайд 168


Файлы данных, проецируемые в память Проецирование файла данных в память: Создается объект ядра “файл”. Для создания объекта “файл” используется...
Описание слайда:
Файлы данных, проецируемые в память Проецирование файла данных в память: Создается объект ядра “файл”. Для создания объекта “файл” используется функция CreateFile. С помощью функции CreateFileMapping создается объект ядра “проецируемый файл”. При этом используется дескриптор файла, возвращенный функцией CreateFile. Производится отображение объекта “проецируемый файл” или его части на адресное пространство процесса. Для этого применяется функция MapViewOfFile. Завершение проецирования файла данных: Выполняется открепление файла от адресного пространства процесса с помощью функции UnmapViewOfFile. Выполняется уничтожение объектов “файл” и “проецируемый файл” с помощью функции CloseHandle.

Слайд 169


Операционные системы Управление центральным процессором и объединение ресурсов
Описание слайда:
Операционные системы Управление центральным процессором и объединение ресурсов

Слайд 170


Управление центральным процессором… Процессы и потоки
Описание слайда:
Управление центральным процессором… Процессы и потоки

Слайд 171


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

Слайд 172


Процессы Процесс – это совокупность системных ресурсов, задействованная для выполнения определенной работы. Понятие "процесс" включает...
Описание слайда:
Процессы Процесс – это совокупность системных ресурсов, задействованная для выполнения определенной работы. Понятие "процесс" включает следующее: исполняемый код; собственное адресное пространство, которое представляет собой совокупность виртуальных адресов, которые может использовать процесс; ресурсы системы, такие как файлы, семафоры и т.п., которые назначены процессу операционной системой; хотя бы одну выполняемую нить.

Слайд 173


Процесс и его ресурсы
Описание слайда:
Процесс и его ресурсы

Слайд 174


Атрибуты процесса в Windows NT-2000 Идентификатор процесса – уникальное значение, которое идентифицирует процесс в рамках операционной системы....
Описание слайда:
Атрибуты процесса в Windows NT-2000 Идентификатор процесса – уникальное значение, которое идентифицирует процесс в рамках операционной системы. Закрытое виртуальное адресное пространство – диапазон адресов виртуальной памяти, которым может пользоваться процесс. Исполняемую программу – начальный код и данные, проецируемые на виртуальное адресное пространство процесса. Список открытых дескрипторов различных системных ресурсов – семафоров, файлов и других объектов, доступных всем потокам в данном процессе. Токен доступа – исполняемый объект, содержащий информацию о безопасности и идентифицирующий пользователя, группы безопасности и привилегии, сопоставленные с процессом. Базовый приоритет – основа для исполнительного приоритета нитей процесса. Процессорная совместимость – набор процессоров, на которых могут выполняться нити процесса. Предельные значения квот ресурсов (см. Job). Время исполнения – общее количество времени, в течение которого выполняются все нити процесса. Список потоков процесса (как минимум один поток).

Слайд 175


Нити (thread) Нить (поток) – это непрерывная последовательность инструкций, выполняющих определенную функцию. Для выполнения нити необходимы две...
Описание слайда:
Нити (thread) Нить (поток) – это непрерывная последовательность инструкций, выполняющих определенную функцию. Для выполнения нити необходимы две вещи: системное время и адресное пространство. Нить не имеет собственного адресного пространства и получает доступ к адресному пространству процесса-родителя.

Слайд 176


Атрибуты нити в Windows NT-2000 Идентификатор клиента – уникальное значение, которое идентифицирует нить при ее обращении к серверу. Контекст нити –...
Описание слайда:
Атрибуты нити в Windows NT-2000 Идентификатор клиента – уникальное значение, которое идентифицирует нить при ее обращении к серверу. Контекст нити – информация, которая необходима ОС для того, чтобы продолжить выполнение прерванной нити. Контекст нити содержит текущее состояние регистров, стеков и индивидуальной области памяти. Два стека, один из которых используется потоком при выполнении в режиме ядра, а другой – в пользовательском режиме; Локальная память потока (thread local storage, TLS) – закрытая область памяти, используемую подсистемами, библиотеками исполняющих систем (runtime libraries) и DLL; Динамический приоритет – значение приоритета нити в данный момент. Базовый приоритет – нижний предел динамического приоритета нити. Процессорная совместимость нитей – перечень типов процессоров, на которых может выполняться нить. Время выполнения нити – суммарное время выполнения нити в пользовательском режиме и в режиме ядра. Состояние предупреждения – флаг, который показывает, что нить должна выполнять вызов асинхронной процедуры. Счетчик приостановок – текущее количество приостановок выполнения нити.

Слайд 177


Задание (job) в Windows 2000 В Windows 2000 в модель процессов введено новое расширение – задания (jobs). Задания предназначены в основном для того,...
Описание слайда:
Задание (job) в Windows 2000 В Windows 2000 в модель процессов введено новое расширение – задания (jobs). Задания предназначены в основном для того, чтобы группами процессов можно было оперировать и управлять как единым целым. Объект-задание позволяет устанавливать определенные атрибуты и накладывать ограничения на процесс или процессы, сопоставленные с заданием.

Слайд 178


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

Слайд 179


Волокна (fibers) в Windows 2000 Введены в Windows 2000 для переноса существующих серверных приложений из UNIX. Реализованы на уровне кода...
Описание слайда:
Волокна (fibers) в Windows 2000 Введены в Windows 2000 для переноса существующих серверных приложений из UNIX. Реализованы на уровне кода пользовательского режима. Процессорное время между волокнами распределяется по пользовательскому алгоритму.

Слайд 180


Управление центральным процессором… Планирование загрузки процессорного времени
Описание слайда:
Управление центральным процессором… Планирование загрузки процессорного времени

Слайд 181


Системный планировщик в Windows NT-2000 Вытесняющая мультипоточность. Квантование времени. Приоритетный режим обслуживания: абсолютные приоритеты;...
Описание слайда:
Системный планировщик в Windows NT-2000 Вытесняющая мультипоточность. Квантование времени. Приоритетный режим обслуживания: абсолютные приоритеты; динамические приоритеты.

Слайд 182


Квантование времени
Описание слайда:
Квантование времени

Слайд 183


Приоритетный режим обслуживания Разработчик ПО может использовать приоритеты от 1 до 31. Нулевой приоритет зарезервирован для потока обнуления...
Описание слайда:
Приоритетный режим обслуживания Разработчик ПО может использовать приоритеты от 1 до 31. Нулевой приоритет зарезервирован для потока обнуления страниц. Поток наследует приоритет процесса, породившего его. ОС Windows NT 4.0 предоставляет 4 класса приоритетов: Realtime, High, Normal и Idle. ОС Windows 2000: еще 2 дополнительных класса приоритетов – Below Normal и Above Normal. Относительный приоритет потока: idle, lowest, below normal, normal (обычный), above normal, highest и time-critical.

Слайд 184


Классы приоритета процессов
Описание слайда:
Классы приоритета процессов

Слайд 185


Относительные приоритеты потоков
Описание слайда:
Относительные приоритеты потоков

Слайд 186


Иллюстрация по приоритетам для Windows 2000
Описание слайда:
Иллюстрация по приоритетам для Windows 2000

Слайд 187


Динамические приоритеты
Описание слайда:
Динамические приоритеты

Слайд 188


Принципы адаптивного планирования Если поток полностью исчерпал свой квант, то его приоритет понижается на некоторую величину. Приоритет потоков,...
Описание слайда:
Принципы адаптивного планирования Если поток полностью исчерпал свой квант, то его приоритет понижается на некоторую величину. Приоритет потоков, которые перешли в состояние ожидания, не использовав полностью выделенный им квант, повышается. Приоритет не изменяется, если поток вытеснен более приоритетным потоком. Повышение приоритета для “голодающих” потоков.

Слайд 189


“Голодающие” потоки Пример: Представьте, что поток с приоритетом 4 готов к выполнению, но не может получить доступ к процессору из-за того, что его...
Описание слайда:
“Голодающие” потоки Пример: Представьте, что поток с приоритетом 4 готов к выполнению, но не может получить доступ к процессору из-за того, что его постоянно занимают потоки с приоритетом 8. Это типичный случай "голодания" потока с более низким приоритетом. Обнаружив такой поток, не выполняемый на протяжении уже трех или четырех секунд, система поднимает его приоритет до 15 и выделяет ему двойную порцию времени. По его истечении потоку немедленно возвращается его базовый приоритет.

Слайд 190


Алгоритм планировщика Нить освобождает процессор, если: блокируется, уходя в состояние ожидания; завершается; исчерпан квант; в очереди готовых...
Описание слайда:
Алгоритм планировщика Нить освобождает процессор, если: блокируется, уходя в состояние ожидания; завершается; исчерпан квант; в очереди готовых появляется более приоритетная нить.

Слайд 191


Граф состояний нити для Windows 2000
Описание слайда:
Граф состояний нити для Windows 2000

Слайд 192


Основы управления процессами API Win32 для создания и завершения процессов
Описание слайда:
Основы управления процессами API Win32 для создания и завершения процессов

Слайд 193


Создание процесса BOOL CreateProcess ( PCTSTR pszApplicationName, // имя исполняемого файла PTSTR pszCommandLine, // командная строка...
Описание слайда:
Создание процесса BOOL CreateProcess ( PCTSTR pszApplicationName, // имя исполняемого файла PTSTR pszCommandLine, // командная строка PSECURITY_ATTRIBUTES psaProcess, // PSECURITY_ATTRIBUTES psaThread, // атрибуты защиты потоков BOOL bInheritHandles, // наследование дескрипторов DWORD fdwCreate, // флаги PVOID pvEnvironment, // блок памяти, хранящий строки переменных окружения PCTSTR pszCurDir, // текущий диск и каталог для процесса PSTARTUPINFO psiStartInfo, // используется Windows-функциями при создании нового процесса PPROCESS_INFORMATION ppiProcInfo // инициализируемая структура );

Слайд 194


Флаги потоков DEBUG_PROCESS DEBUG_ONLY_THIS_PROCESS CREATE_SUSPENDED DETACHED_PROCESS CREATE_NEW_CONSOLE CREATE_NO_WINDOW CREATE_BREAKAWAY_FROM_JOB...
Описание слайда:
Флаги потоков DEBUG_PROCESS DEBUG_ONLY_THIS_PROCESS CREATE_SUSPENDED DETACHED_PROCESS CREATE_NEW_CONSOLE CREATE_NO_WINDOW CREATE_BREAKAWAY_FROM_JOB IDLE_PRIORITY_CLASS BELOW_NORMAL_PRIORITY_CLASS NORMAL_PRIORITY_CLASS ABOVE_NORMAL_PRIORITY_CLASS HIGH_PRIORITY_CLASS REALTIME_PRIORITY_CLASS

Слайд 195


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

Слайд 196


Функция ExitProcess Процесс завершается, когда один из его потоков вызывает ExitProcess: VOID ExitProcess(UINT fuExitCode); Эта функция завершает...
Описание слайда:
Функция ExitProcess Процесс завершается, когда один из его потоков вызывает ExitProcess: VOID ExitProcess(UINT fuExitCode); Эта функция завершает процесс и заносит в параметр fuExitCode код завершения процесса.

Слайд 197


Функция TerminateProcess Вызов функции TerminateProcess тоже завершает процесс: BOOL TerminateProcess( HANDLE hProcess, UINT fuExitCode); Параметр...
Описание слайда:
Функция TerminateProcess Вызов функции TerminateProcess тоже завершает процесс: BOOL TerminateProcess( HANDLE hProcess, UINT fuExitCode); Параметр bProcess идентифицирует описатель завершаемого процесса, а в параметре fuExitCode возвращается код завершения процесса.

Слайд 198


Когда все потоки процесса “уходят” Обнаружив, что в процессе не исполняется ни один поток, операционная система немедленно завершает его. При этом...
Описание слайда:
Когда все потоки процесса “уходят” Обнаружив, что в процессе не исполняется ни один поток, операционная система немедленно завершает его. При этом код завершения процесса приравнивается коду завершения последнего потока.

Слайд 199


Управление динамическими приоритетами потоков процесса BOOL SetProcessPriorityBoost( HANDLE hProcess, // дескриптор процесса BOOL...
Описание слайда:
Управление динамическими приоритетами потоков процесса BOOL SetProcessPriorityBoost( HANDLE hProcess, // дескриптор процесса BOOL DisablePriorityBoost // состояние //форсированного приоритета ); BOOL GetProcessPriorityBoost( HANDLE hProcess, // дескриптор процесса PBOOL pDisablePriorityBoost // состояние //форсированного приоритета );

Слайд 200


Основы управления процессами API Win32 для управления потоками
Описание слайда:
Основы управления процессами API Win32 для управления потоками

Слайд 201


Создание потока HANDLE CreateThread ( PSECURITY_ATTRIBUTES psa, SIZE_T cbStack, PTHREAD_START_ROUTINE pfnStartAddr, PVOID pvParam, DWORD dwCreate,...
Описание слайда:
Создание потока HANDLE CreateThread ( PSECURITY_ATTRIBUTES psa, SIZE_T cbStack, PTHREAD_START_ROUTINE pfnStartAddr, PVOID pvParam, DWORD dwCreate, PDWORD pdwThreadID );

Слайд 202


Установка приоритета Поток создается с приоритетом потока THREAD_PRIORITY_NORMAL. Используйте функции GetThreadPriority и SetThreadPriority, чтобы...
Описание слайда:
Установка приоритета Поток создается с приоритетом потока THREAD_PRIORITY_NORMAL. Используйте функции GetThreadPriority и SetThreadPriority, чтобы получать и установить приоритетное значение потока. BOOL SetThreadPriority( HANDLE hThread, // дескриптор потока int nPriority // уровень приоритета потока );

Слайд 203


Приоритеты потоков
Описание слайда:
Приоритеты потоков

Слайд 204


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

Слайд 205


Функция ExitThread Поток можно завершить принудительно, вызвав: VOID ExitThread(DWORD dwExitCоde); В параметр dwExitCode Вы помещаете значение,...
Описание слайда:
Функция ExitThread Поток можно завершить принудительно, вызвав: VOID ExitThread(DWORD dwExitCоde); В параметр dwExitCode Вы помещаете значение, которое система рассматривает как код завершения потока.

Слайд 206


Функция TerminateThread Вызов этой функции также завершает поток: BOOL TerminateThread( HANDLE hThread, DWORD dwExitCode); В параметр dwExitCode...
Описание слайда:
Функция TerminateThread Вызов этой функции также завершает поток: BOOL TerminateThread( HANDLE hThread, DWORD dwExitCode); В параметр dwExitCode помещается код завершения потока. После того как поток будет уничтожен, счетчик пользователей его объекта ядра "поток” уменьшится.

Слайд 207


Если завершается процесс Функции ExitProcess и TerminateProcess принудительно завершают потоки, принадлежащие завершаемому процессу.
Описание слайда:
Если завершается процесс Функции ExitProcess и TerminateProcess принудительно завершают потоки, принадлежащие завершаемому процессу.

Слайд 208


Действия при завершении потока Освобождаются все описатели User-объектов, принадлежавших потоку. Код завершения потока меняется со STILL_ACTIVE на...
Описание слайда:
Действия при завершении потока Освобождаются все описатели User-объектов, принадлежавших потоку. Код завершения потока меняется со STILL_ACTIVE на код, переданный в функцию ExitThread или TerminateThread. Объект ядра "поток" переводится в свободное состояние. Если данный поток является последним активным потоком в процессе, завершается и сам процесс. Счетчик пользователей объекта ядра "поток" уменьшается на 1. BOOL GetExitCodeThread( HANDLE hThread, PDWORD pdwExitCode);

Слайд 209


Управление динамическими приоритетами потока BOOL SetThreadPriorityBoost( HANDLE hThread, // дескриптор потока BOOL DisablePriorityBoost // состояние...
Описание слайда:
Управление динамическими приоритетами потока BOOL SetThreadPriorityBoost( HANDLE hThread, // дескриптор потока BOOL DisablePriorityBoost // состояние //форсирования приоритета ); BOOL GetThreadPriorityBoost( HANDLE hThread, // дескриптор потока PBOOL pDisablePriorityBoost // состояние форсажа //приоритета );

Слайд 210


Управление потоками Флаг CREATE_SUSPENDED DWORD ResumeThread(HANDLE hThread); - возобновить поток DWORD SuspendThread(HANDLE hThread); - “заморозка”...
Описание слайда:
Управление потоками Флаг CREATE_SUSPENDED DWORD ResumeThread(HANDLE hThread); - возобновить поток DWORD SuspendThread(HANDLE hThread); - “заморозка” потока

Слайд 211


Засыпание и переключение потоков VOID Sleep ( DWORD dwMilliseconds ); - “заморозить” себя на определенное время BOOL SwitchToThread();
Описание слайда:
Засыпание и переключение потоков VOID Sleep ( DWORD dwMilliseconds ); - “заморозить” себя на определенное время BOOL SwitchToThread();

Слайд 212


Определение периодов выполнения потока BOOL GetThreadTimes( HANDLE hThread, PFILETIME pftCreationTime, PFILETIME pftExitTime, PFILETIME...
Описание слайда:
Определение периодов выполнения потока BOOL GetThreadTimes( HANDLE hThread, PFILETIME pftCreationTime, PFILETIME pftExitTime, PFILETIME pftKernelTime, PFILETIME pftUserTime );

Слайд 213


Операционные системы Межпроцессное взаимодействие
Описание слайда:
Операционные системы Межпроцессное взаимодействие

Слайд 214


Виды межпроцессного взаимодействия (IPC) Передача информации от одного процесса другому Предотвращение критических ситуаций Синхронизация процессов
Описание слайда:
Виды межпроцессного взаимодействия (IPC) Передача информации от одного процесса другому Предотвращение критических ситуаций Синхронизация процессов

Слайд 215


Межпроцессное взаимодействие Предотвращение критических ситуаций и средства синхронизации процессов
Описание слайда:
Межпроцессное взаимодействие Предотвращение критических ситуаций и средства синхронизации процессов

Слайд 216


Возникновение гонок (состязаний) Два процесса хотят получить доступ к общей памяти в одно и тоже время.
Описание слайда:
Возникновение гонок (состязаний) Два процесса хотят получить доступ к общей памяти в одно и тоже время.

Слайд 217


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

Слайд 218


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

Слайд 219


Семафоры Семафор - неотрицательная целая переменная S >= 0, которая может изменяться и проверяться только посредством двух неделимых примитивов:...
Описание слайда:
Семафоры Семафор - неотрицательная целая переменная S >= 0, которая может изменяться и проверяться только посредством двух неделимых примитивов: V(S): переменная S увеличивается на 1 единым неделимым действием. К переменной S нет доступа другим потокам во время выполнения этой операции. P(S): уменьшение S на 1, если это возможно. Если S=0 и невозможно уменьшить S, оставаясь в области целых неотрицательных значений, то в этом случае поток, вызывающий операцию Р, ждет, пока это уменьшение станет возможным. Успешная проверка и уменьшение также являются неделимой операцией.

Слайд 220


Задача о читателях и писателях
Описание слайда:
Задача о читателях и писателях

Слайд 221


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

Слайд 222


Межпроцессное взаимодействие Синхронизация потоков с использованием объектов ядра Windows 2000
Описание слайда:
Межпроцессное взаимодействие Синхронизация потоков с использованием объектов ядра Windows 2000

Слайд 223


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

Слайд 224


Объекты синхронизации и их состояния процессы потоки задания файлы консольный ввод
Описание слайда:
Объекты синхронизации и их состояния процессы потоки задания файлы консольный ввод

Слайд 225


Спящие потоки
Описание слайда:
Спящие потоки

Слайд 226


Функции ожидания Ожидание одного объекта DWORD WaitForSingleObject( HANDLE hObject, DWORD dwMilliseconds );
Описание слайда:
Функции ожидания Ожидание одного объекта DWORD WaitForSingleObject( HANDLE hObject, DWORD dwMilliseconds );

Слайд 227


Объекты синхронизации События Ожидаемый таймер Семафор Мьютекс
Описание слайда:
Объекты синхронизации События Ожидаемый таймер Семафор Мьютекс

Слайд 228


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

Слайд 229


Создание события HANDLE CreateEvent( PSECURITY_ATTRIBUTES psa, BOOL fManualReset, BOOL fInitialState, // свободен / занят PCTSTR pszName ); HANDLE...
Описание слайда:
Создание события HANDLE CreateEvent( PSECURITY_ATTRIBUTES psa, BOOL fManualReset, BOOL fInitialState, // свободен / занят PCTSTR pszName ); HANDLE OpenEvent( DWORD fdwAccess, BOOL fInhent, PCTSTR pszName);

Слайд 230


Управление событием Перевод события в свободное состояние: BOOL SetEvent(HANDLE hEvenеt); Перевод события в занятое состояние: BOOL ResetEvent(HANDLE...
Описание слайда:
Управление событием Перевод события в свободное состояние: BOOL SetEvent(HANDLE hEvenеt); Перевод события в занятое состояние: BOOL ResetEvent(HANDLE hEvent); Освобождение события и перевод его обратно в занятое состояние: BOOL PulseEvent(HANDLE hEvent);

Слайд 231


Ожидаемые таймеры Ожидаемые таймеры (waitable timers) – это объекты ядра, которые самостоятельно переходят в свободное состояние в определенное время...
Описание слайда:
Ожидаемые таймеры Ожидаемые таймеры (waitable timers) – это объекты ядра, которые самостоятельно переходят в свободное состояние в определенное время или через регулярные промежутки времени.

Слайд 232


Создание ожидаемого таймера HANDLE CreateWaitableTimer( PSECURITY_ATTRIBUTES psa, BOOL fManualReset, PCTSTR pszName // имя объекта ); HANDLE...
Описание слайда:
Создание ожидаемого таймера HANDLE CreateWaitableTimer( PSECURITY_ATTRIBUTES psa, BOOL fManualReset, PCTSTR pszName // имя объекта ); HANDLE OpenWaitableTimer( DWORD dwDesiredAccess, BOOL bInheritHandle, PCTSTR pszName // имя объекта );

Слайд 233


Управление ожидаемым таймером BOOL SetWaitableTimer( HANDLE hTimer, const LARGE_INTEGER *pDueTime, LONG lPeriod, PTIMERAPCROUTINE...
Описание слайда:
Управление ожидаемым таймером BOOL SetWaitableTimer( HANDLE hTimer, const LARGE_INTEGER *pDueTime, LONG lPeriod, PTIMERAPCROUTINE pfnCompletionRoutine, PVOID pvArgToCompletionRoutine, BOOI fResume ); BOOL CancelWaitableTimer(HANDLE hTimer);

Слайд 234


Создание семафора HANDLE CreateSemaphore( PSECURITY_ATTRIBUTE psa, LONG lInitialCount, // начальное значение LONG lMaximumCount, // “объем” PCTRTR...
Описание слайда:
Создание семафора HANDLE CreateSemaphore( PSECURITY_ATTRIBUTE psa, LONG lInitialCount, // начальное значение LONG lMaximumCount, // “объем” PCTRTR pszName); HANDLE OpenSemaphore( DWORD fdwAccess, BOOL bInhentHandle, PCTSTR pszName);

Слайд 235


Управление семафором Поток получает доступ к ресурсу, вызывая одну из Wait-функций и передавая ей описатель семафора. BOOL ReleaseSemaphore( HANDLE...
Описание слайда:
Управление семафором Поток получает доступ к ресурсу, вызывая одну из Wait-функций и передавая ей описатель семафора. BOOL ReleaseSemaphore( HANDLE hSem, LONG lReleaseCount, PLONG plPreviousCount);

Слайд 236


Создание мьютекса HANDLE CreateMutex( PSECURITY_ATTRIBUTES psa, BOOL fInitialOwner, PCTSTR pszName); HANDLE OpenMutex( DWORD fdwAccess, BOOL...
Описание слайда:
Создание мьютекса HANDLE CreateMutex( PSECURITY_ATTRIBUTES psa, BOOL fInitialOwner, PCTSTR pszName); HANDLE OpenMutex( DWORD fdwAccess, BOOL fInheritHandle, PCTSTR pszName);

Слайд 237


Управление мьютексом Поток получает доступ к ресурсу, вызывая одну из Wait-функций и передавая ей описатель мьютекса. BOOL ReleaseMutex(HANDLE...
Описание слайда:
Управление мьютексом Поток получает доступ к ресурсу, вызывая одну из Wait-функций и передавая ей описатель мьютекса. BOOL ReleaseMutex(HANDLE hMutex);

Слайд 238


Межпроцессное взаимодействие Передача информации
Описание слайда:
Межпроцессное взаимодействие Передача информации

Слайд 239


Методы передачи информации
Описание слайда:
Методы передачи информации

Слайд 240


Сообщение WM_COPYDATA Отправитель: COPYDATASTRUCT cds; cds.cbData = (DWORD) nSize; // Размер буфера cds.lpData = (PVOID) pBuffer; // Буфер с данными...
Описание слайда:
Сообщение WM_COPYDATA Отправитель: COPYDATASTRUCT cds; cds.cbData = (DWORD) nSize; // Размер буфера cds.lpData = (PVOID) pBuffer; // Буфер с данными SendMessage (hWndTarget, WM_COPYDATA, (WPARAM) hWnd, (LPARAM) &cds); Получатель: PCOPYDATASTRUCT pcds = (PCOPYDATASTRUCT) lParam; PBYTE pBuffer = (PBYTE) pcds -> lpData;

Слайд 241


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

Слайд 242


Анонимные каналы BOOL CreatePipe( PHANDLE hReadPipe, PHANDLE hWritePipe, LPSECURITY_ATTRIBUTES lpPipeAttributes, DWORD nSize ); ReadFile WriteFile
Описание слайда:
Анонимные каналы BOOL CreatePipe( PHANDLE hReadPipe, PHANDLE hWritePipe, LPSECURITY_ATTRIBUTES lpPipeAttributes, DWORD nSize ); ReadFile WriteFile

Слайд 243


Передача дескрипторов Установить паpаметp bInheritable стpуктуpы SECURITY_ATTRIBUTES в TRUE, чтобы дескрипторы могли наследоваться. Вызов функции...
Описание слайда:
Передача дескрипторов Установить паpаметp bInheritable стpуктуpы SECURITY_ATTRIBUTES в TRUE, чтобы дескрипторы могли наследоваться. Вызов функции CreateProcess с параметром blnheritHandles = TRUE Передача дескрипторов (командная строка, сообщения…) Вызов функции DuplicateHandle

Слайд 244


Создание 2-ого дескриптора BOOL DuplicateHandle( HANDLE hSourceProcessHandle, HANDLE hSourceHandle, HANDLE hTargetProcessHandle, LPHANDLE...
Описание слайда:
Создание 2-ого дескриптора BOOL DuplicateHandle( HANDLE hSourceProcessHandle, HANDLE hSourceHandle, HANDLE hTargetProcessHandle, LPHANDLE lpTargetHandle, DWORD dwDesiredAccess, BOOL bInheritHandle, DWORD dwOptions );

Слайд 245


NPFS Named Pipe File System является виртуальной файловой системой, которая управляет каналами named pipes. Каналы named pipes относятся к классу...
Описание слайда:
NPFS Named Pipe File System является виртуальной файловой системой, которая управляет каналами named pipes. Каналы named pipes относятся к классу файловых объектов (API Win32). RPC реализован как надстройка над NPFS; Канал представляет собой виртуальное соединение, по которому передается информация от одного процесса к другому. Канал может быть однонаправленным или двунаправленным (дуплексным).

Слайд 246


Работа с именованными каналами Серверный процесс создает канал на локальном компьютере с помощью функции программного интерфейса Win32...
Описание слайда:
Работа с именованными каналами Серверный процесс создает канал на локальном компьютере с помощью функции программного интерфейса Win32 CreateNamedPipe. Серверный процесс активизирует канал при помощи функции ConnectNamedPipe, после чего к каналу могут подключаться клиенты. Далее производится подключение к каналу \\computer_name\pipe\pipe_name посредством вызова функции CreateFile.

Слайд 247


Создание именованного канала HANDLE CreateNamedPipe ( LPCTSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD nMaxInstances, DWORD nOutBufferSize,...
Описание слайда:
Создание именованного канала HANDLE CreateNamedPipe ( LPCTSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD nMaxInstances, DWORD nOutBufferSize, DWORD nInBufferSize, DWORD nDefaultTimeOut, LPSECURITY_ATTRIBUTES lpSecurityAttributes );

Слайд 248


Подключение к именованному каналу BOOL ConnectNamedPipe ( HANDLE hNamedPipe, LPOVERLAPPED lpOverlapped ); BOOL DisconnectNamedPipe ( HANDLE...
Описание слайда:
Подключение к именованному каналу BOOL ConnectNamedPipe ( HANDLE hNamedPipe, LPOVERLAPPED lpOverlapped ); BOOL DisconnectNamedPipe ( HANDLE hNamedPipe );

Слайд 249


Обмен данными по именованному каналу BOOL ReadFile/WriteFile ( HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD...
Описание слайда:
Обмен данными по именованному каналу BOOL ReadFile/WriteFile ( HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped );

Слайд 250


Работа с каналом и ее завершение После установления виртуального соединение серверный процесс и клиентский процесс могут обмениваться информацией при...
Описание слайда:
Работа с каналом и ее завершение После установления виртуального соединение серверный процесс и клиентский процесс могут обмениваться информацией при помощи пар функций "ReadFile" и "WriteFile". При помощи одного и того же канала сервер может одновременно обслуживать нескольких клиентов. Для этого серверный процесс может создать N-ное количество экземпляров канала, вызвав N-ное количество раз функцию "CreateNamedPipe" (при этом в каждом вызове должно быть указано одно и то же имя канала). Клиентский процесс может отключиться от канала в любой момент с помощью функции "CloseHandle". Серверный процесс может отключить клиента в любой момент с помощью функции "DisconnectNamedPipe".

Слайд 251


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

Слайд 252


Mailslot является одним из механизмов, предназначенных для осуществления обмена данными между процессами (IPC). При этом процессы могут быть запущены...
Описание слайда:
Mailslot является одним из механизмов, предназначенных для осуществления обмена данными между процессами (IPC). При этом процессы могут быть запущены как на одной ПЭВМ (локально), так и разных ПЭВМ, включённых в одну ЛВС (удалённо).

Слайд 253


Для открытия канала, созданного на другом компьютере в сети, необходимо указать имя в формате \\ИмяКомпьютера\mailslot\[Путь]ИмяКанала Можно открыть...
Описание слайда:
Для открытия канала, созданного на другом компьютере в сети, необходимо указать имя в формате \\ИмяКомпьютера\mailslot\[Путь]ИмяКанала Можно открыть канал для передачи информации сразу всем компьютерам указанного домена. Для этого формируется имя \\ИмяДомена\mailslot\[Путь]ИмяКанала Для передачи сообщения всем компьютерам первичного домена имя задается в форме \\*\mailslot\[Путь]ИмяКанала

Слайд 254


Создание почтового ящика Mailslot на “сервере” HANDLE CreateMailslot ( LPCTSTR lpName, // имя DWORD nMaxMessageSize, // максимальный размер DWORD...
Описание слайда:
Создание почтового ящика Mailslot на “сервере” HANDLE CreateMailslot ( LPCTSTR lpName, // имя DWORD nMaxMessageSize, // максимальный размер DWORD lReadTimeout, // интервал-тайм аута чтения LPSECURITY_ATTRIBUTES lpSecurityAttributes // информация о безопасности );

Слайд 255


Создание клиента почтового ящика HANDLE hSlot = CreateFile(("\\\\computername\\mailslot\\messngr", GENERIC_WRITE, FILE_SHARE_READ, NULL,...
Описание слайда:
Создание клиента почтового ящика HANDLE hSlot = CreateFile(("\\\\computername\\mailslot\\messngr", GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if (hSlot != INVALID_HANDLE_VALUE) { char buf = "From\0\To\0Message\0"; uint cb = sizeof(buf); WriteFile(hSlot, buf, cb, &cb, NULL); … }

Слайд 256


Получение информации о почтовом ящике BOOL GetMailslotInfo ( HANDLE hMailslot, // указатель на слот LPDWORD lpMaxMessageSize, // максимальный размер...
Описание слайда:
Получение информации о почтовом ящике BOOL GetMailslotInfo ( HANDLE hMailslot, // указатель на слот LPDWORD lpMaxMessageSize, // максимальный размер LPDWORD lpNextSize, // размер следующего LPDWORD lpMessageCount, // количество сообщений LPDWORD lpReadTimeout // тайм-аут );

Слайд 257


Изменение свойств ящика BOOL SetMailslotInfo( HANDLE hMailslot, DWORD lpReadTimeout );
Описание слайда:
Изменение свойств ящика BOOL SetMailslotInfo( HANDLE hMailslot, DWORD lpReadTimeout );

Слайд 258


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

Слайд 259


Раздел с общими данными в DLL #pragma data_seg(".shared") //Общие данные #pragma data_seg() UsersDll.def: LIBRARY "UsersDll"...
Описание слайда:
Раздел с общими данными в DLL #pragma data_seg(".shared") //Общие данные #pragma data_seg() UsersDll.def: LIBRARY "UsersDll" SECTIONS .shared READ WRITE SHARED



Похожие презентации
Mypresentation.ru
Загрузить презентацию