- •1. Определение и основные особенности осрв.
- •3. Основные области применения осрв
- •5. Основные определения: программа, процесс, состояние, стек, виртуальная память.
- •6. Основные определения: межпроцессное взаимодействие (семафоры и т.П.), событие, задача, ресурс, связывание.
- •8. Виды ресурсов. Состояние процесса
- •9)Типы взаимодействия процессов.
- •11)Стандарты на осрв. Нормы esse консорциума vita. Стандарт posix 1003.1b.
- •12. Стандарт на осрв sceptre
- •13. Типы архитектур осрв
- •14.ОБъектно-ориентированный подход к программированию. Основная концепция объектно-ориентированного подхода
- •16. Модульная арх-ра осрв(на основе микроядра)
- •17. Объектная арх-ра на основе объектов-микроядер
- •19. Синхронизация и взаимодействие процессов
- •20. Семафоры.
- •21. События (сигналы).
- •22. Почтовые ящики
- •23. Очереди задач
- •24.Собъекты синхронизации стандарта Posix, Mutex, Condvar
- •25.Управление задачами. Планирование задач.
- •26. Планирование задач. Приоритеты.
- •27. Стратегии планирования задач.
- •28. Планирование периодических задач
- •29.Переключение контекста.
- •30. Классификация осрв.Краткий обзор современных осрв
- •31.Системы на основе Linux
- •32.Осрв на основе Windows nt
- •33.Критерии выбора языка программирования для срв
16. Модульная арх-ра осрв(на основе микроядра)
Модульн. арх-ра – ОС состоит их неск. взаимос-х модулей).
Лишена недост-в монолит. типа (т.е обновл-е ф-ий ОС не требует полной перекомпиляции; ядро ОС в проц-се вып-ия м.б. вытеснено процессом с более высоким приоритетом; алг-мы работы ОС могут быть адапт-ны на разн. аппарат платф-мы ).
В мод. типе арх-ры ф-ции ОС распр-ся м/у отд. модулями, т.е. баз. ядро ОС предст-т собой микроядро, выпол-ее все ф-ции ОС, кроме ф-ции прогр. интерфейса.
Микроядро
API + менеджер процессов
М1….
М2
(по функц. признаку)
17. Объектная арх-ра на основе объектов-микроядер
(на базе объектов-микроядер). Soft Kernel-сис, постр-ая по объект. типу. В объект. типе ОС осут-т прогр. интерфейс. ОС пред-т собой сов-ть объек-в, кот. взаимод. м/у собой. Роль прогр. интерфейса берут на себя микроядра, связ. с приложением. Сами объекты, обр-ие ОС пред-т приложениям (процессам) прогр. интерфейс. Как правило прог-мы дл таких ОС созд-ся на языке С++.
В подб. ОС все комп. (прогр. комп.) имеют равные праваю. Т.о любой процесс, раб-ий с процессором .б вытеснен прц-ом с более выс. приоритетом. Роль прогр. интерф-са(АPI) вып-т с одной стороны компилятор, с др. стороны динам. ред-р объектных связей. При запуске приложения дин. ред-р загр-т необх-ые микрояд. Динамич-ий ус-т взаимос-зь м/у объектами ОС. Если микрояд., требуемое для запуска прилож-я уже запущено, т.е запущено прилож-е, исп. его, то ОС вос-ся этим микроядром и не будет ос-ть повтор. загрузку. Этим СП-м эк-ся память. Микроядра по своей стр-ре похожи на модули или погр. динамич. биб-ки, однако микрояд. имеют нек. особ-ти. 1.Микроядро и модуль. Многие ОС под-т дин. загрузку - комп-ты сис-мы, кот. наз. модулями, отличие зак-ся в том, что модули не реализ-т объек-ориент подход. Кроме ого, обмен инф. с мод-ми идет ч/з сист. вызовы. 2. Микроядро и дин. библ-ка(dLL). В общем случае дин. библ-ки м. сод-ть только дин. подгруж-ые ф-ции и объек-ориент. подход при этом не исп-ся. Однако, часто при исп. об-ориент подхода после комп. пилож-ия оно будет сос-ть из испол-го exe файла и дин. библ-к dLL, при этом в этих биб-хбудут сод-ся не отд. ф-ции или биб-ки ф-ции, а будут сод-ся объекты. 3.Микроядро и драйвер. Модуль пред-н для упр-ия оборуд-ем. Особ-ти у драйверов такие же как у модулей, т.е прямые, сист. вызовы.
19. Синхронизация и взаимодействие процессов
Доступ задач к различным ресурсам в многозад-х ОС требует синхр-ии действия этих процессов. Особенно, если ресурс является разделяемым. Способы осуществления взаимодействия подразделяют на безопасные и небезопасные. Безопасное вз-е – обмен инф. ос-ся ч/з объекты взаим-я, кот предост-ся ОС, при этом целостность инф. обесп-ся ОС. Пример:семафоры, сигналы и почт. ящики. Небезопасное вз-е – обмен инф. ос-ся посредством разл. рес-в (глобальные перем.). При этом объекты синхр. и взаим-ия ОС не задейст-ся.
20. Семафоры.
Семафор – переменная, организованная ОС, которая хранит количество пользователей задач или процессов, которые имеют одновременный доступ к некот. ресурсу. Фактически, счетчик пользователей. С каждым семафором связана очередь ожидания, образованная процессами или задачами, ожидающими, когда семафор примет некот. значение. В зависимости от max значения счетчика семафоры бывают: 1.двоичные (0 или 1) исп-ся для работы с критич. разделяемым ресурсом. 2.счетные (0…n) исп-ся для работы некритичными разделяемыми ресурсами. n - max кол-во пользователей, получ. одноврем. Доступ к ресурсу. Каждый процесс получивший доступ к ресурсу, уменьшает значение счетчика на 1. Когда счетчик =0, то доступ к ресурсу закрыт, при освобождении ресурса процессом счетчик +1. Процесс, стоящий в очереди, получает доступ.