Библиотека Рефераты Курсовые Дипломы Поиск
Библиотека Рефераты Курсовые Дипломы Поиск
сделать стартовой добавить в избранное
Кефирный гриб на сайте www.za4et.net.ru

Компьютеры, Программирование Компьютеры, Программирование

Процессы, нити и волокна в ОС Windows

Чашка "Неваляшка".
Ваши дети во время приёма пищи вечно проливают что-то на ковёр и пол, пачкают руки, а Вы потом тратите уйму времени на выведение пятен с
222 руб
Раздел: Тарелки
Пакеты с замком "Extra зиплок" (гриппер), комплект 100 штук (150x200 мм).
Быстрозакрывающиеся пакеты с замком "зиплок" предназначены для упаковки мелких предметов, фотографий, медицинских препаратов и
148 руб
Раздел: Гермоупаковка
Горшок торфяной для цветов.
Рекомендуются для выращивания крупной рассады различных овощных и цветочных, а также для укоренения саженцев декоративных, плодовых и
7 руб
Раздел: Горшки, ящики для рассады

Реферат по теме: &quo ;Процессы, нити и волокна в ОС Wi dows&quo ; Содержание Процессы, нити и волокна в ОС Wi dows Создание процессов Завершение процессов Создание нитей Завершение нитей Создание волокон Уничтожение волокон Wai -функции Выводы Список литературы 1. Процессы, нити и волокна в ОС Wi dows Процессом обычно называют экземпляр выполняемой программы. Хотя на первый взгляд кажется, что программа и процесс понятия практически одинаковые, они фундаментально отличаются друг от друга. Программа представляет собой статический набор команд, а процесс это набор ресурсов и данных, использующихся при выполнении программы. Процесс в Wi dows состоит из следующих компонентов: – структура данных, содержащая всю информацию о процессе, в том числе список открытых дескрипторов различных системных ресурсов, уникальный идентификатор процесса, различную статистическую информацию и т.д.; – адресное пространство – диапазон адресов виртуальной памяти, которым может пользоваться процесс; – исполняемая программа и данные, проецируемые на виртуальное адресное пространство процесса. Процессы инертны. Отвечают же за исполнение кода, содержащегося в адресном пространстве процесса, нити. Нить ( hread) – некая сущность внутри процесса, получающая процессорное время для выполнения. В каждом процессе есть минимум одна нить. Эта первичная нить создается системой автоматически при создании процесса. Далее эта нить может породить другие нити, те в свою очередь новые и т.д. Таким образом, один процесс может владеть несколькими нитями, и тогда они одновременно исполняют код в адресном пространстве процесса. Каждая нить имеет: – уникальный идентификатор нити; – содержимое набора регистров процессора, отражающих состояние процессора; – два стека, один из которых используется нитью при выполнении в режиме ядра, а другой – в пользовательском режиме; – закрытую область памяти, называемую локальной памятью нити ( hread local s orage, LS) и используемую подсистемами, ru - ime библиотеками и DLL. Чтобы все нити работали, операционная система отводит каждой из них определенное процессорное время. Тем самым создается иллюзия одновременного выполнения нитей (разумеется, для многопроцессорных компьютеров возможен истинный параллелизм). В Wi dows реализована система вытесняющего планирования на основе приоритетов, в которой всегда выполняется нить с наибольшим приоритетом, готовая к выполнению. Выбранная для выполнения нить работает в течение некоторого периода, называемого квантом. Квант определяет, сколько времени будет выполняться нить, пока операционная система не прервет ее. По окончании кванта операционная система проверяет, готова ли к выполнению другая нить с таким же (или большим) уровнем приоритета. Если таких нитей не оказалось, текущей нити выделяется еще один квант. Однако нить может не полностью использовать свой квант. Как только другая нить с более высоким приоритетом готова к выполнению, текущая нить вытесняется, даже если ее квант еще не истек. Квант не измеряется в каких бы то ни было единицах времени, а выражается целым числом. Для каждой нити хранится текущее значение ее кванта.

Когда нити выделяется квант процессорного времени, это значит, что ее квант устанавливается в начальное значение. Оно зависит от операционной системы. Например, для Wi 2000 Professio al начальное значение кванта равно 6, а для Wi 2000 Server – 36. Всякий раз, когда возникает прерывание от таймера, из кванта нити вычитается 3, и так до тех пор, пока он не достигнет нуля. Частота срабатывания таймера зависит от аппаратной платформы. Например, для большинства однопроцессорных x86 систем он составляет 10 мс, а на большинстве многопроцессорных x86 систем – 15 мс. В любом случае операционная система должна определить, какую нить выполнять следующей. Выбрав новую нить, операционная система переключает контекст. Эта операция заключается в сохранении параметров выполняемой нити (регистры процессора, указатели на стек ядра и пользовательский стек, указатель на адресное пространство, в котором выполняется нить и др.), и загрузке аналогичных параметров для другой нити, после чего начинается выполнение новой нити. Планирование в Wi dows осуществляется на уровне нитей, а не процессов. Это кажется понятным, так как сами процессы не выполняются, а лишь предоставляют ресурсы и контекст для выполнения нитей. Поэтому при планировании нитей, система не обращает внимания на то, какому процессу они принадлежат. Например, если процесс А имеет 10 готовых к выполнению нитей, а процесс Б – две, и все 12 нитей имеют одинаковый приоритет, каждая из них получит 1/12 процессорного времени. В Wi dows существует 32 уровня приоритета, от 0 до 31. Они группируются так: 31–16 – уровни реального времени; 15–1 – динамические уровни; 0 – системный уровень, зарезервированный для процесса обнуления страниц (zero-page hread). Приоритет каждой нити (базовый приоритет нити) складывается из приоритета ее процесса и относительного приоритета самой нити. Есть семь относительных приоритетов нитей: ormal: такой же как и у процесса; Above ormal: 1 к приоритету процесса; Below ormal: –1; Highes : 2; Lowes : –2; ime cri ical: устанавливает базовый приоритет потока для Real ime класса в 31, для остальных классов – в 15; Idle: устанавливает базовый приоритет потока для Real ime класса в 16, для остальных классов – в 1. Если операционная система выполняется на машине, где установлено более одного процессора, то по умолчанию, нить выполняется на любом доступном процессоре. Однако в некоторых случаях, набор процессоров, на которых нить может работать, может быть ограничен. Это явление называется привязкой к процессорам (processor affi i y). Можно изменить привязку к процессорам программно, через Wi 32 функции планирования. Волокна поддерживаются в WI 32 API, начиная с Wi dows2000. Под волокном понимается упрощенная нить, выполнение которой планируется самим приложением, а не планировщиком процессорного времени ОС. Планирование волокон может осуществляться только путем переключения на них только из других волокон. Волокна выполняются в контексте нитей, в которых планируется их применение, и допускают полную их идентификацию с нитями. В каждой нити может быть запланировано несколько волокон.

Для каждого волокна создается собственный стек, в котором хранится информация о состоянии волокна. 2. Создание процессов Создание Wi 32 процесса осуществляется вызовом одной из таких функций, как Crea eProcess, Crea eProcessAsUser (для Wi /2000/Vis a) и Crea eProcessWi hLogo W (начиная с Wi 2000) и происходит в несколько этапов: – Открывается файл образа (EXE), который будет выполняться в процессе. Если исполняемый файл не является Wi 32 приложением, то ищется образ поддержки (suppor image) для запуска этой программы. Например, если исполняется файл с расширением.ba , запускается cmd.exe и т.п. В Wi /2000/Vis a для отладки программ реализовано следующее. Crea eProcess, найдя исполняемый Wi 32 файл, ищет в SOF WARE Microsof Wi dows Curre Versio Image File Execu io Op io раздел с именем и расширением запускаемого файла, затем ищет в нем параметр Debugger, и если строка не пуста, запускает то, что в ней написано вместо данной программы. – Создается объект Wi 32 «процесс». – Создается первичная нить (стек, контекст и объект «нить»). – Подсистема Wi 32 уведомляется о создании нового процесса и нити. – Начинается выполнение первичной нити. – В контексте нового процесса и потока инициализируется адресное пространство (например, загружаются требуемые DLL) и начинается выполнение программы. 3. Завершение процессов Процесс завершается если: – Входная функция первичной нити возвратила управление. – Одна из нитей процесса вызвала функцию Exi Process. – Нить другого процесса вызвала функцию ermi a eProcess. Когда процесс завершается, все User- и GDI объекты, созданные процессом, уничтожаются, объекты ядра закрываются (если их не использует другой процесс), адресное пространство процесса уничтожается. Пример: Программа создает процесс «Калькулятор». #i clude &l ;wi dows.h&g ; i mai (i argc, char argv[]) { S AR UPI FO si; PROCESS I FORMA IO pi; ZeroMemory (&si, sizeof(si)); si.cb = sizeof(si); ZeroMemory (&pi, sizeof(pi)); if (! Crea eProcess( ULL, «c: wi dows calc.exe», ULL, ULL, FALSE, 0, ULL, ULL, &si, &pi)) re ur 0;  // Close process a d hread ha dles. CloseHa dle (pi.hProcess); CloseHa dle (pi.h hread); re ur 0; } 4. Создание нитей Первичная нить создается автоматически при создании процесса. Остальные нити создаются функциями Crea e hread и Crea eRemo e hread (только в Wi /2000/XP/Vis a). 5. Завершение нитей Нить завершается если – Функция нити возвращает управление. – Нить самоуничтожается, вызвав Exi hread. – Другая нить данного или стороннего процесса вызывает ermi a e hread. – Завершается процесс, содержащий данную нить. 6. Создание волокон Волокно может быть создано с помощью системного вызова Crea eFiber из основной нити процесса или получено путем преобразования текущей нити с помощью функции Co ver hread oFiber. Переключение между волокнами может быть организовано с помощью функции Swi ch oFiber, но ее вызов можно осуществлять только из волокна. Пример: Программа создает 4 волокна, каждое из которых выполняет переключение на следующее волокно, если число переключений больше 10, работа завершается.  // для работы с волокнами следующие 2 строки обязательны! #defi e WI 32 LEA A D MEA #defi e WI 32 WI 0x0400 #i clude «s dio.h

C тех пор он участвовал в разработке операционных систем, а также преподавал в этой области. C Марком Руссиновичем я познакомился позже, но уже задолго до этого был немало наслышан о его глубоких познаниях в области операционных систем. B числе его заслуг версия файловой системы NTFS, которую он заставил работать в Microsoft Windows 98, и «живой» отладчик ядра Windows, позволяющий заглянуть внутрь системы Windows в процессе ее выполнения. Истоки Windows NT восходят к октябрю 1988 года, когда было решено создать переносимую операционную систему, совместимую с OS/2, поддерживающую POSIX и многопроцессорную обработку, обладающую высокой защищенностью, надежностью и интегрированными средствами работы в сетях. C приходом Windows 3.0 и ее колоссальным успехом заявленные цели несколько изменились: совместимость с OS/2 была перенесена с уровня всей системы на уровень отдельной подсистемы. Поначалу мы полагали, что сумеем создать Windows NT за пару лет, но в действительности ее первая версия вышла лишь через четыре с половиной года — летом 1993-го

1. Основы параллельного программирования на кластере и разработка элективного курса «Администрирование в информационных системах и администрирование виртуальных машин»

2. Системное программирование в операционных системах

3. Реферат по информационным системам управления

4. Влияние структуры исходной ПАН-нити на структуру и свойства углеродного волокна

5. Алгоритмизация и программирование процессов на Fox

6. Метод программирования и схем ветвей в процессах решения задач дискретной оптимизации
7. Алгоритмизация и программирование разветвляющихся процессов
8. Роль микроэлементов в обменных процессах растений и на накоплении ими биологически активных веществ (Реферат (обзор литературы) () WinWord 97)

9. Пластиковое оптическое волокно

10. Периферийное устройство ПЭВМ, Характеристика этапов подготовки и решения задач на ПЭВМ в любой системе программирования. Электронная почта, особенности применения

11. Языки и технология программирования. Начальный курс /Pascal/

12. Объектно-ориентированное программирование на С с использованием библиотеки OpenGL

13. Объективное программирование

14. Обучение начальных курсов методам программирования на языке Turbo Pascal

15. Применение методов линейного программирования в военном деле. Симплекс-метод

16. Аналитический обзор книги "Программирование на языке ассемблера..."

Ежедневник. Гравити Фолз.
СУПЕРпроект самого крутого мультсериала во всем мире – Гравити Фолз! ЕжеДНЕВНИК станет отличным помощником в решении сложных задач,
370 руб
Раздел: Блокноты художественные
Мультиплеер "Улыбка".
В этом телефончике представлены следующие песенки: 1 «Ничего на свете лучше нету» 2 «Расскажи, Снегурочка» 3 «Песенка Мамонтёнка» 4 «Не
314 руб
Раздел: Смартфоны, мультиплееры
Подушка, с лузгой гречихи, 50x68 см.
Подушка с гречневой лузгой - самая натуральная ортопедическая подушка: она высококачественная, "дышащая", экологична. Размер
690 руб
Раздел: Размер 50х70 см, 40х60 см

17. Математические методы и языки программирования: симплекс метод

18. Ответы на вопросы по курсу "Системное программирование" (Шпаргалка)

19. Разработка базы данных `ДЕКАНАТ` в среде программирования "Delphi"

20. Программирование на "СИ" (ТХТ, СИ)

21. 10 задач с решениями программированием на Паскале

22. Программирование и алгоритмические языки
23. Использование макросов для программирования в MS ACCESS
24. Обучающая программа "Графика" программированию в графическом режиме на языке turbo-pascal 7.x

25. Язык программирования Паскаль и ветвление

26. Программирование на Object Pascal в среде Delphi

27. Общая терминология программирования

28. Разработка игровой программы на языке программирования Turbo Pascal

29. Тест на языке программирования Visual Basic

30. Учебник по программированию на Java для мобильных устройств

31. Структура и программирование ПЛИС фирмы Altera в САПР Quartus II, её применение в лабораторном стенде

32. Практика оператора (WINDOWS 95, MICROSOFT WORD 97, MATHCAD, ЯЗЫКИ ПРОГРАММИРОВАНИЯ, ЭЛЕКТРОННЫЕ КНИГИ, VISIO, Norton Utilites 3.0 for Windows 95)

Мешок для обуви "Animal Planet. Бабочки", 41x33 см, розовый.
Мешок для обуви, с дополнительным карманом на молнии. Размер: 41х33 см. Цвет: розовый.
325 руб
Раздел: Сумки для обуви
Копилка, 12,5 см.
Копилка поможет Вам наконец-то собрать требуемую сумму для покупки долгожданной вещицы.
586 руб
Раздел: Копилки
Дополнительный набор "Магнитные истории. В гостях у сказки".
Игра разработана художником и дизайнером Ольга Тихопой. В комплект входят четыре сказки и четыре комплекта сказочных героев. Настоящий
323 руб
Раздел: Магнитный театр

33. Отчет по практическим занятиям по курсу прикладные задачи программирования на тему Windows, Microsoft Word и Microsoft Excel

34. Руководство по программированию на HTML

35. Лабораторная работа №4 по "Основам теории систем" (Послеоптимизационный анализ задач линейного программирования)

36. Лабораторная работа №2 по "Основам теории систем" (Решение задач линейного программирования симплекс-методом. Варианты разрешимости задач линейного программирования)

37. Решение задач линейного программирования

38. Решение задачи линейного программирования
39. Хлопковое волокно: его свойства и классификация
40. Полинозное волокно

41. Нейролингвистическое программирование /краткий обзор/

42. Вопросы для программированного контроля по курсу "Механика"

43. Синтетические волокна

44. Программирование и планирование деятельности

45. Расширение объемов производства и ассортимента полиамидных текстурированых нитей

46. Риск в задачах линейного программирования

47. Методы экономического программирования

48. Мерчандайзинг как программирование поведения покупателя

Сетка москитная белая.
Сетка москитная препятствует проникновению насекомых. Не нарушает естественную циркуляцию воздуха. Подходит для любых типов дверных
372 руб
Раздел: Сетки противомоскитные
Ручка-стилус шариковая сувенирная "Никита".
Перед Вами готовый подарок в стильной упаковке — шариковая ручка со стилусом. Она имеет прочный металлический корпус, а именная надпись
415 руб
Раздел: Металлические ручки
Конструктор электронный ЗНАТОК "Первые шаги в электронике. Набор В" (15 схем).
Вам будет предложено собрать свой первый светодиодный фонарик, собрать звуковые схемы, познакомится с работой транзистора — всего 15
892 руб
Раздел: Инженерные, научно-технические

49. Динамическое и линейное программирование

50. Задача линейного программирования

51. Линейное программирование: постановка задач и графическое решение

52. Искусственные и синтетические волокна

53. Дистанционное обучение программированное

54. Метод программированного обучения в преподавании математики
55. Нейролингвистическое программирование - мнение психолога
56. Нейролингвистическое программирование

57. Решение задачи методами линейного, целочисленного, нелинейного и динамического программирования.

58. Волокна

59. Химические волокна

60. Волокна

61. Динамическое программирование

62. Решение многокритериальной задачи линейного программирования

63. Задача квадратичного программирования с параметром в правых частях ограничений и ее применение

64. Результаты селекции хлопчатника Gossypium hirsutum L. на урожайность и качество волокна на юге РФ

Бумага "IQ Color", А4, 250 листов, 5 цветов.
Обладает высокой однородностью цвета и точной нарезкой листа. Применяется для печати на копировально-множительной технике, лазерных и
462 руб
Раздел: Формата А4 и меньше
Глобус Земли, физический, 320 мм.
Глобус Земли физический. Диаметр: 320 мм. На пластиковой подставке.
711 руб
Раздел: Глобусы
Телескопическая ложка.
Прикольный подарок, который рассмешит участников любого застолья. При помощи этой ложки Вы можете с невозмутимым видом «подцепить»
397 руб
Раздел: Прочее

65. Ознакомление с основами программирования на языке Си

66. «Азы» программирования и обучающие программы

67. Высокоуровневые методы обработки информации и программирования

68. Программирование в LE-технология Microsoft Windows

69. Графическое программирование на Ms Fortran

70. Объектно-ориентированный подход к программированию
71. Лабораторные работы по программированию
72. Отчет по курсу прикладные задачи программирования

73. 5 различных задач по программированию

74. Программирование. Delphi

75. АвтоЛИСП - реализация языка программирования

76. Линейное программирование: решение задач графическим способом

77. Общие сведения о языке программирования Qbasic

78. Объектно-ориентированное программирование

79. Основы алгоритмизации и программирования (кр№1, вар1)

80. Основы программирования на языке Паскаль

Магнитные истории "Кто где живет?".
Игра магнитные истории "Кто где живет?" поможет малышу познать окружающий мир, развить внимательность и память, развить мелкую
499 руб
Раздел: Игры на магнитах
Игровой набор "Весы".
Размер: 280х122х130 мм.
338 руб
Раздел: Кассы, весы, игрушечные деньги
Набор для творчества "Свечи".
С помощью этого набора дети научатся делать настоящие восковые свечи своими руками. Оригинальные свечи будут красивым дополнением к
894 руб
Раздел: Наборы по изготовлению свечей

81. Программирование на языках высокого уровня

82. Программирование с использованием генератора случайных чисел

83. Программирование элементов разветвляющейся структуры

84. Программирование элементов разветвляющейся структуры

85. Разработка программированных средств с помощью VBA

86. Языки программирования
87. Техника программирования сложных окон в Visual Basic
88. Безопасное программирование на Perl

89. Функциональное программирование

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

91. Использование SQL в прикладном программировании

92. Языки и технологии программирования

93. Программирование. Контрольная работа

94. Прикладное программирование

95. Программирование ориентированное на объекты

96. Общие сведения об языке программирования Qbasic

Карточная игра "Уно".
Уно – это популярная настольная игра, широко известная по всему миру. В каждом раунде, первым избавляйся от всех карт, набирая очки за
389 руб
Раздел: Колоды карт
Вешалка для одежды напольная ТД-00014, две перекладины, 800x430x1550 мм.
Длина: 80 см. Регулируемая высота: 90-155 см. Ширина: 43 см. Количество перекладин: 2. Максимальная нагрузка: 15 кг. Вешалка напольная
1078 руб
Раздел: Вешалки напольные
Стульчик-подставка "Тачки".
Многофункциональный детский стульчик-подставка - для более комфортного пользования унитазом и умывальником. С антискользящим прорезиненным
459 руб
Раздел: Подставки под ноги

97. Алгоритмические языки и программирование

98. Алгоритмические языки и программирование Системное программное обеспечение Технология программирования"

99. Распределенное программирование


Поиск Рефератов на сайте za4eti.ru Вы студент, и у Вас нет времени на выполнение письменных работ (рефератов, курсовых и дипломов)? Мы сможем Вам в этом помочь. Возможно, Вам подойдет что-то из ПЕРЕЧНЯ ПРЕДМЕТОВ И ДИСЦИПЛИН, ПО КОТОРЫМ ВЫПОЛНЯЮТСЯ РЕФЕРАТЫ, КУРСОВЫЕ И ДИПЛОМНЫЕ РАБОТЫ. 
Вы можете поискать нужную Вам работу в КОЛЛЕКЦИИ ГОТОВЫХ РЕФЕРАТОВ, КУРСОВЫХ И ДИПЛОМНЫХ РАБОТ, выполненных преподавателями московских ВУЗов за период более чем 10-летней работы. Эти работы Вы можете бесплатно СКАЧАТЬ.