
- •1. Понятие компьютерной системы, масштабы компьютерных систем
- •2. Назначение компьютерных систем и профилирование по классам задач
- •3. Шинная архитектура микропроцессорных систем
- •4. Режимы работы микропроцессорной системы
- •5. Понятие прерывания и их обработка
- •6. Управление вводом-выводом
- •7. Драйверы устройств
- •8. Стационарные вычислительные системы
- •9. Мобильные и портативные вычислительные системы
- •10. Бездисковые станции и рекламные планшеты
- •11. Банкоматы, инфокиоски и фотокиоски
- •12. Использование гибридных телефонно-вычислительных устройств
- •13. Различные определения ос
- •14. Функций ос
- •15. Категории пользователей ос
- •16. Логические уровни общения «человек – эвм»
- •17. Мультипрограммный режим работы ос
- •18. Описание различных режимов работы ос
- •19. Однозадачные и многозадачные операционные системы
- •20. Однопользовательские и многопользовательские операционные системы
- •21. Основные характеристики и особенности работы ос ms-dos и управление памятью в ms-dos
- •22. Описание особенностей работы ос Windows
- •23. Ос семейства Unix и их особенности работы
- •24. Понятие интерфейса и его основные виды
- •25. Пакетный режим работы ос
- •26. Командный интерфейс и порядок его работы
- •27. Описание простого графического интерфейса
- •28. Описание wimp интерфейса
- •29. Описание silk интерфейса и необходимое оборудование для его реализации
- •30. Описание тактильного (touch) интерфейса и необходимое оборудование для его реализации
- •31. Описание мимического и семантического интерфейсов и необходимое оборудование для их реализации
- •32. Программные оболочки мобильных устройств различных производителей и их интерфейс доступа
- •33. Командный режим ос Linux
- •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. Использование Proxy-серверов
- •63. Файловая система и примеры распространенных файловых си-стем
- •64. Имена файлов в различных файловых системах
- •65. Атрибуты файлов и права доступа к файлу
- •66. Файловые системы ос семейства Unix
- •67. Особенности работы файловой системы ntfs
- •68. Настройка файла autoexec.Bat и config.Sys в ос ms-dos
- •69. Автоматическое обслуживание настроек ос
- •70. Антивирусная профилактика средств мобильной связи
- •71. Понятие групповой политики в сетях Microsoft
- •72. Типы ос, поддерживающие удаленное управление по
39. Понятие нити и основные отличия от процесса
В традиционных ОС понятие нити тождественно понятию процесса. В действительности желательно иметь несколько нитей управления, разделяющих единое адресное пространство, но выполняющихся квазипараллельно.
Предположим, что файл-сервер блокируется, ожидания выполнения операции с диском. Если сервер имеет несколько нитей управления, вторая нить может выполняться, пока первая нить находится в состоянии ожидания. Это повышает пропускную способность и производительность. Эта цель не достигается путем создания двух независимых серверных процессов, потому что они должны разделять общий буфер кэша, который требуется им, чтобы быть в одном адресном пространстве.
Каждый процесс имеет собственный программный счетчик, собственный стек, собственный набор регистров и собственное адресное пространство. Каждый процесс не должен ничего делать с остальными, за исключением того, что они могут взаимодействовать посредством системных примитивов связи, таких как семафоры, мониторы, сообщения. Во многих отношениях нити подобны мини-процессам. Каждая нить выполняется строго последовательно и имеет свой собственный программный счетчик и стек. Нити разделяют процессор так, как это делают процессы. Только на многопроцессорной системе они действительно выполняются параллельно. Нити могут, например, порождать нити-потомки, могут переходить в состояние ожидания до завершения системного вызова, как обычные процессы, пока одна нить заблокирована, другая нить того же процесса может выполняться.
а) Три процесса с одной нитью каждый, б) Один процесс с тремя нитями:
40. Контекст и дескриптор процесса
На протяжении существования процесса его выполнение может быть многократно прервано и продолжено. Для того, чтобы возобновить выполнение процесса, необходимо восстановить состояние его операционной среды. Состояние операционной среды отображается состоянием регистров и программного счетчика, режимом работы процессора, указателями на открытые файлы, информацией о незавершенных операциях ввода-вывода, кодами ошибок выполняемых данным процессом системных вызовов и т.д. Эта информация называется контекстом процесса.
Кроме этого, операционной системе для реализации планирования процессов требуется дополнительная информация: идентификатор процесса, состояние процесса, данные о степени привилегированности процесса, место нахождения кодового сегмента и другая информация. В некоторых ОС (например, в ОС UNIX) информацию такого рода, используемую ОС для планирования процессов, называют дескриптором процесса.
Дескриптор процесса по сравнению с контекстом содержит более оперативную информацию, которая должна быть легко доступна подсистеме планирования процессов. Контекст процесса содержит менее актуальную информацию и используется операционной системой только после того, как принято решение о возобновлении прерванного процесса.
Очереди процессов представляют собой дескрипторы отдельных процессов, объединенные в списки. Таким образом, каждый дескриптор, кроме всего прочего, содержит по крайней мере один указатель на другой дескриптор, соседствующий с ним в очереди. Такая организация очередей позволяет легко их переупорядочивать, включать и исключать процессы, переводить процессы из одного состояния в другое.
Программный код только тогда начнет выполняться, когда для него операционной системой будет создан процесс. Создать процесс - это значит:
1. Создать информационные структуры, описывающие данный процесс, то есть его дескриптор и контекст;
2. Включить дескриптор нового процесса в очередь готовых процессов;
3. Загрузить кодовый сегмент процесса в оперативную память или в область свопинга.