
- •1. Состав компьютерной системы
- •2. Функции операционной системы. Операционная система как расширенная машина и менеджер ресурсов
- •3. Этапы развития операционных систем
- •4. Типы ос
- •5. Принципы разработки и основные функции современных ос
- •Особенности методов построения
- •6. Рыночные требования, предъявляемые к ос
- •7. Cisc и risc процессоры, конвейерная обработка (микропроцессор, разрядность микропроцессора)
- •8. Транспьютер. Векторные и матричные процессоры.
- •9. Персональный компьютер, рабочая станция, современные периферийные устройства.
- •10. Машинный язык, компилятор, ооп.
- •12. Основные понятия, концепция ос
- •13. Ядро ос. Основные понятия (монолитные системы, многоуровневые системы, виртуальные машины).
- •14. Ядро ос. Модель клиент-сервер и микроядро.
- •15. Классификация ос
- •16. Мультипрограммирование или многозадачность, критерии организации
- •17. Мультипроцессорность: сложность планирования загрузки процессоров, конфликты доступа к общим ресурсам
- •18. Процессы. Основные понятия, состояния процессов
- •19. Обработка прерываний, вектор прерывания
- •20. Алгоритмы планирования процессов
- •21. Создание процессов
- •Идентификатор процесса (pid)
- •Идентификатор родительского процесса (ppid)
- •Поправка приоритета (ni)
- •Терминальная линия (tty)
- •Реальный (uid) и эффективный (euid) идентификаторы пользователя
- •Реальный (gid) и эффективный (egid) идентификаторы группы
- •Образ, дескриптор, контекст процесса
- •22. Идентификаторы
- •Идентификатор процесса (pid)
- •Идентификатор родительского процесса (ppid)
- •Реальный (uid) и эффективный (euid) идентификаторы пользователя
- •Реальный (gid) и эффективный (egid) идентификаторы группы
- •Привилегированный пользователь
- •23. Системные вызовы для управления процессами
- •24. Форматы исполняемых файлов
- •25. Основные команды Unix для управления процессами
- •26. Память. Типы адресов
- •27. Методы распределения памяти между процессами без использования внешнего накопителя
- •Распределение памяти фиксированными разделами
- •Распределение памяти разделами переменной величины
- •Перемещаемые разделы
- •28. Методы распределения памяти между процессами с использованием внешнего накопителя
- •29. Виртуальная память. Способы организации виртуальной памяти Понятие виртуальной памяти
- •Страничное распределение
- •Сегментное распределение
- •Странично-сегментное распределение
- •30. Организация виртуальной памяти при меньшем размере оперативной памяти. Алгоритмы подкачки
- •31. Иерархия запоминающих устройств. Принцип кэширования данных
- •32. Управление файлами и внешними устройствами
- •33. Физическая структура файловой системы
- •34. Физическая структура файловой системы
- •36. Логическая организация файловой системы (типы файлов, иерархическая структура каталогов)
- •37. Структура файловой системы unix.( каталоги root /etc /dev /usr /var /prog.)
- •38. Логическая организация файловой системы ms windows (program files,documents and settings, windows,win nt)
- •40. Механизм защиты файлов в файловой системе oc unix (код защиты файла, дополнительные разряды кода защиты файла. Команды управления кодом защиты (доступ к файлу))
- •41. Многотомные фс (монтируемые фс, распределенные фс)
- •42. Специальные файлы (файлы устройств)
- •43. Дополнительные возможности файловых систем (дисковые квоты, резервное копирование, журнализируемые файловые системы)
- •1) Дисковая квота.
- •2) Резервное копирование
- •3) Журналируемые файловые системы
- •44. Сетевые интерфейсы и протоколы
- •45 Топология сети
- •46. Семиуровневая модель взаимосвязи открытых систем - iso (osi)
- •47. Компьютерные сети. Локальные сети. Глобальные сети с коммутацией пакетов. Vpn.
- •Принцип коммутации пакетов с использованием техники виртуальных каналов
- •48. Межсетевое взаимодействие (шлюзы, мультиплексирование стеков протоколов, вопросы реализации).
- •49. Сравнение вариантов организации взаимодействия сетей
- •50. Сущность маршрутизации. Протоколы настройки маршрутизации в сетях tcp/ip (протоколы длины вектора, протоколы состояния канала, протоколы политики маршрутизации)
- •Протокол состояния связей ospf
- •51. Сетевые службы и протоколы (dhcp, snmp, dns)
- •52. Межсетевые экраны (FireWall), демилитаризованная зона (dmz), трансляция сетевых адресов (nat, Masquerade)
- •55. Открытые системы на базе ос unix
- •56. Системные журналы. Проверка и восстановление файловой системы
- •57. Система X-Window. Преимущества X-Window. Отличие X-Window от ms-Window
19. Обработка прерываний, вектор прерывания
Прерывание – событие, при котором меняется нормальная последовательность команд, выполняемых процессором.
Обработка прерываний:
1. управление передаётся ОС
2. ОС запоминает состояние прерванного процесса
3. ОС передаёт управление соответствующей программе, обработчику данного прерывания.
Прерывание:
1. аппаратные - происходят от соответствующей аппаратуры ввода\вывода
2. программные - либо инициируется программой (запрос на системный вызов), либо ОС (истечение кванта времени)
Вектор прерывания: каждому типу прерывания соответствует адрес ячейки памяти. Адрес ячейки памяти - есть вектор прерывания.
20. Алгоритмы планирования процессов
- в системах пакетной обработки
Алгоритм без переключений: Кто первый – тот и обрабатывается. Из списка задач, подлежащих выполнению, выбирается та, которая будет выполняться наименьшее количество времени. Выполняется полностью.
Алгоритм с переключением: при появлении новой задачи происходит сравнение времени с выполняемой. Выполняться будет та, что выполнится быстрее.
- в системах разделения времени
1) Кольцевой режим. Создается кольцо процессов, подлежащих выполнению. Выполняются они по порядку. Выделяется всем одинаковое количество времени.
2) Алгоритм с приоритетом: процесс имеет приоритет. Тот, у которого приоритет больше – выполняется раньше.
3) C динамически меняющимся приоритетом: приоритет рассчитывается из 2х составляющих – статической и динамической составляющих. Статический приоритет присваивается процессу при запуске. Динамическая составляющая рассчитывается исходя из того, как процесс использует процессорное время. Если процесс отработал своё процессорное время полностью – динамический приоритет понижается, если завершился досрочно – динамический приоритет повышается.
Планировщик процессов
Планировщик процессов в системе UNIX принадлежит к общему классу планировщиков, работающих по принципу "карусели с многоуровневой обратной связью". В соответствии с этим принципом ядро предоставляет процессу ресурсы ЦП на квант времени, по истечении которого выгружает этот процесс и возвращает его в одну из нескольких очередей, регулируемых приоритетами. Прежде чем процесс завершится, ему может потребоваться множество раз пройти через цикл с обратной связью. Когда ядро выполняет переключение контекста и восстанавливает контекст процесса, процесс возобновляет выполнение с точки приостанова.
21. Создание процессов
Новый процесс создается в UNIX только путем системного вызова fork. Процесс, сделавший вызов fork, называется родительским, а вновь созданный процесс - порожденным. Новый процесс является точной копией родительского. При порождении (разветвлении) процесса проверяется, достаточно ли памяти и места в таблице процессов для данного процесса. Если да, то образ текущего процесса копируется в новый образ процесса, и в таблице процессов возникает новый элемент. Новому процессу присваивается новый уникальный идентификатор (PID). Когда изменение таблицы процессов ядра завершается, процесс добавляется к списку процессов, доступных для выполнения и ожидающих в очереди планировщика подобно другим процессам.
Порожденный процесс наследует от родительского процесса следующие основные характеристики:
Способы обработки сигналов (адреса функций обработки сигналов).
Реальные и эффективные идентификаторы пользователя и группы.
Значение поправки приоритета.
Все присоединенные разделяемые сегменты памяти.
Идентификатор группы процессов.
Терминальную линию.
Текущий каталог.
Корневой каталог.
Маска создания файлов (umask).
Ограничения ресурсов (ulimit).
Порожденный процесс отличается от родительского процесса следующими основными характеристиками:
Порожденный процесс имеет свой уникальный идентификатор.
Порожденный процесс имеет другой идентификатор родительского процесса, равный идентификатору породившего процесса.
Порожденный процесс имеет свои собственные копии дескрипторов файлов (в частности, стандартных потоков), открытых родительским процессом. Каждый дескриптор файла порожденного процесса имеет первоначально такое же значение текущей позиции в файле, что и соответствующий родительский.
У порожденного процесса обнуляются счетчики времени, потраченного системой для его обслуживания.
Системный вызов fork завершается неудачей и новый процесс не порождается, если:
Создать процесс запрещает системное ограничение на общее количество процессов.
Создать процесс запрещает системное ограничение на количество процессов у одного пользователя.
Общее количество системной памяти, предоставленной для физического ввода-вывода, временно оказалось недостаточным.
При успешном завершении порожденному процессу возвращается значение 0, а родительскому процессу возвращается идентификатор порожденного процесса. В случае ошибки родительскому процессу возвращается -1, новый процесс не создается и переменной errno присваивается код ошибки.
Обычно после порождения порожденный процесс выполняет системный вызов exec, перекрывающий сегменты текста и данных процесса новыми сегментами текста и данных, взятыми из указанного выполняемого файла. При этом аппаратный контекст процесса инициализируется заново.
Выполняемый файл состоит из заголовка, сегмента команд и сегмента данных. Данные (глобальные переменные) состоят из инициализированной и неинициализированной частей.
Если системный вызов exec закончился успешно, то он не может вернуть управление, так как вызвавший процесс уже заменен новым процессом. Возврат из системного вызова exec свидетельствует об ошибке. В таком случае результат равен -1, а переменной errno присваивается код ошибки.
Новый процесс наследует у процесса, вызвавшего exec, следующие основные характеристики:
Значение поправки приоритета.
Идентификатор процесса.
Идентификатор родительского процесса.
Идентификатор группы процессов.
Терминальную линию.
Текущий каталог.
Корневой каталог.
Маску создания файлов.
Ограничения ресурсов.
Счетчики времени, потраченного системой на обслуживание этого процесса.
Блокировки доступа к сегментам файлов.
Атрибуты процессов в Unix
Процесс в UNIX имеет ряд атрибутов, позволяющих операционной системе управлять его работой. Основные атрибуты представлены в следующих подразделах.