 
        
        - •Вопрос 1. Логическая организация файлов. Атрибуты и данные файла. Типы файлов. Операции с файлами.
- •Файл представляет собой последовательность логических записей разной длины.
- •Rename (переименование).
- •Вопрос 2.Модели хранения информации в файловых системах. Надежность и непротиворечивость файловой системы. Решение проблемы непротиворечивости файловых систем.
- •1.Традиционные фс.
- •3.Транзакционная файловая система.
- •Вопрос 3. Методы физической реализации хранения атрибутов и данных файлов.
- •1. Непрерывные файлы
- •2. Связные списки.
- •3. Связный список при помощи таблицы в памяти
- •Вопрос 4. Концепция файловой системы fat. Структура логического диска с файловой системой fat.
- •Вопрос 5. Основные характеристики файловой системы ntfs.
- •Вопрос 6. Структура раздела с файловой системой ntfs.
- •Вопрос 7. Главная файловая таблица mft файловой системы ntfs. Структура таблицы mft.
- •Вопрос 8. Атрибуты файлов в файловой системе ntfs. Структура записи mft.
- •Вопрос 9. Хранение данных в файловой системе ntfs. Потоки данных.
- •Вопрос 10. Структура файловой системы unix. Типы файлов ос unix.
- •Вопрос 11. Жесткая и символическая связь имен с данными файла в файловой системе unix.
- •Вопрос 12. Структура индексного узла файловой системы unix. Адресация блоков данных.
- •Вопрос 13. Архитектура Windows 2000/xp. Компоненты исполнительной системы.
- •Вопрос 14. Объектная модель Windows 2000/xp и менеджер объектов.
- •Вопрос 15. Управление оперативной и виртуальной памятью в Microsoft Windows 2000/xp.
- •Вопрос 16. Управление процессами и потоками в Windows 2000/xp.
- •Вопрос 17. Состояния потока в Windows 2000/xp.
- •Вопрос 18. Общая архитектура системы unix. Модули ядра.
- •Вопрос 19.Системные вызовы и выполнение кода ядра ос unix.
- •Вопрос 20.Управлене процессами в ос unix.
- •Вопрос 21. Состояния процесса в ос Unix.
- •Вопрос 22.Распределение памяти процессов в unix.
Вопрос 16. Управление процессами и потоками в Windows 2000/xp.
В операционной системе Windows 2000 есть множество концепций для управления центральным процессором и объединения ресурсов.
Основные понятия.
Каждый процесс содержит, по крайней мере, один поток, содержащий, в свою очередь, как минимум одно волокно (облегченный поток).
Для управления определенными ресурсами процессы могут объединяться в задания. Все вместе - задания, процессы, потоки и волокна - образует общий набор инструментов для управления ресурсами и реализации параллельного выполнения, как на однопроцессорных, так и на многопроцессорных машинах.
Краткое описание этих четырех понятий приведено в. табл. 13.2.
 
Табл. 13.2. Основные понятия, используемые для управления процессами и ресурсами
системы Windows 2000
Процессы.
Процессы представляют собой контейнеры для ресурсов.
У каждого процесса есть 4-гигабайтное адресное пространство, в котором пользователь занимает нижние 2 Гбайт (в версиях Windows 2000 Advanced Server и Datacenter Server этот размер может быть по желанию увеличен до 3 Гбайт), а операционная система занимает остальную его часть.
Таким образом, операционная система присутствует в адресном пространстве каждого процесса, хотя она и защищена от изменений с помощью аппаратного блока управления памятью MMU.
У процесса есть
идентификатор процесса,
один или несколько потоков,
список дескрипторов объектов (управляемых в режиме ядра),
маркер доступа, хранящий информацию защиты.
Процессы создаются с помощью вызова Win32, который принимает на входе имя исполняемого файла, определяющего начальное содержимое адресного пространства, и создает первый поток.
Каждый процесс начинается с одного потока, но новые потоки могут создаваться динамически.
Потоки
Потоки формируют основу диспетчеризации центрального процессора, так как операционная система всегда для запуска выбирает поток, а не процесс.
Соответственно, у каждого потока есть состояние (готовый, работающий, блокированный и т. д.), тогда как у процессов состояний нет. Потоки могут динамически создаваться вызовом Win32, которому в адресном пространстве процесса задается адрес начала исполнения. У каждого потока есть идентификатор потока, выбираемый из того же пространства, что и идентификаторы процессов, поэтому один и тот же идентификатор никогда не будет использован одновременно для процесса и для потока.
Как правило, поток работает в пользовательском режиме, но когда он обращается к системному вызову, то переключается в режим ядра, после чего продолжает выполнять тот же поток, с теми же свойствами и ограничениями, которые были у него в режиме пользователя.
У каждого потока есть два стека, один используется в режиме ядра, а другой в режиме пользователя.
Помимо состояния, идентификатора и двух стеков, у каждого потока есть
- контекст (в котором сохраняются его регистры, когда он не работает), 
- приватная область для локальных переменных, 
Когда поток завершает свою работу, он может прекратить свое существование.
Когда прекращает существование последний активный поток, процесс завершается.
Потоки представляют собой концепцию диспетчеризации, а не концепцию владения ресурсами.
Любой поток может получить доступ ко всем объектам его процесса. Все, что ему для этого нужно сделать - это заполучить дескриптор и обратиться к соответствующему вызову Win32. Система не следит за тем, какой объект, каким потоком создан. Как только дескриптор объекта помещен в таблицу дескрипторов процесса, любой поток процесса может его использовать.
Помимо нормальных потоков, работающих в процессах пользователя, в операционной системе Windows 2000 есть множество процессов-демонов, не связанных ни с каким пользовательским процессом (они ассоциированы со специальной системой или простаивающими процессами).
Некоторые демоны выполняют административные задачи, как, например, запись «грязных» страниц на диск, тогда как другие формируют пул, и ими могут пользоваться компоненты исполняющей системы или драйверы, которым нужно выполнить какие-либо асинхронные задачи в фоновом режиме.
Волокна
Переключение потоков в операционной системе Windows 2000 занимает довольно много времени, так как для этого необходимо переключение в режим ядра, а затем возврат в режим пользователя.
Для предоставления сильно облегченного псевдопараллелизма в Windows 2000 используются волокна.
Волокна подобны потокам, но планируются в пространстве пользовательского процесса.
У каждого потока может быть несколько волокон, так же как у процесса может быть несколько потоков, с той разницей, что когда волокно логически блокируется, оно помещается в очередь блокированных волокон после чего для работы выбирается другое волокно в контексте того же потока.
Операционная система не знает о смене волокон, так как все тот же поток продолжает работу.
Так как операционная система ничего не знает о волокнах , то с ними, в отличие от заданий, процессов и потоков, не связаны объекты исполняющей системы.
Для управления волокнами нет и настоящих системных вызовов. Однако для этого есть вызовы Win32 API. Они относятся к тем вызовам Win32 API, которые не обращаются к системным вызовам.
