
- •1. Классификация программного обеспечения
- •1. Базовое программное обеспечение
- •2. Трансляторы
- •3. Языки программирования
- •4. Инструментальные средства (утилиты)
- •5. Прикладное программное обеспечение
- •2. Основные задачи ос
- •3. Типы ос
- •4. Базовая система ввода/вывода (bios)
- •5. Файловая система. Типы файловых систем. Их особенности.
- •6. Загрузчик ос
- •Addr1 - addr2
- •7. Ядро ос
- •8. Основные функции ядра
- •9. Драйвер ос
- •10. Типы драйверов
- •11. Типы многозадачности, их особенности
- •12. Понятие суперпроцесса
- •13. Потоки
- •Листинг 2. Окончание процедуры инициализации ядра Linux
- •14. Семафоры
- •15. Встроенные функции ос. Встроенные команды ос
- •16. Внешние команды
- •17. Понятие пользователя. Понятие идентификатора пользователя
- •18. Понятие группы. Понятие идентификатора группы
- •19. Виртуальная память. Swap
- •20. Историческое развитие ос
- •21. Ос unix
- •22. Типы unix
- •23. Особенности bsd. Особенности System 5
- •24. Ядро unix
- •25. Типы драйверов unix
- •26. Потоки в unix
- •27. Управление процессами в unix
- •28. Режимы ядра в Unix
- •29. Файловая система в unix
- •30. Реализация безопасности в unix на уровне файловой системы
- •31. Реализация безопасности в unix на уровне ос
- •32. Понятие пользователь, группа в unix
- •33. Бесправный пользователь. Пользователь ресурса. Пользователь ос
- •34. Понятие ресурса
- •35. Понятие консоли.
- •36. Основные команды в unix
- •37. Сеть в unix
- •38. Ос ms-dos
- •39. Особенности реализации ms-dos, как составной части unix
- •40. Реализация ядра в ms-dos
- •41. Реализация драйверов в ms-dos
- •42. Реализация потоков в ms-dos
- •43. Управление процессами в ms-dos
- •44. Ограничение на использование оп
- •45. Файловая система в ms-dos
- •46. Реализация безопасности в ms-dos
- •47. Реализация многозадачности в ms-dos
- •48. Встроенные команды ms-dos
- •49. Внешние стандартные команды ms-dos
- •50. Графическая оболочка X- Window
- •51. Графическая оболочка Windows
- •52. Ос Windows nt
- •53. Ядро Windows nt
- •54. Драйверы в Windows nt
- •55. Реализация многозадачности в Windows nt
- •56. Файловая система в Windows nt
- •57. Режимы использования оп в Windows nt
- •58. Реализация безопасности в Windows nt на уровне файловой системы
- •59. Реализация безопасности в Windows nt на уросне ос
- •1. Пользователи, ресурсы и операции доступа
- •2. Локальные, глобальные и специальные группы
- •3. Встроенные группы пользователей и их права
- •4. Возможности пользователей
- •5. Управление профилями пользователей
- •6. Аудит
- •7. Репликация каталогов в сети Windows nt
- •60. Сеть в Windows nt
- •1. Однодоменная сеть Windows nt
- •2. Многодоменная сеть Windows nt
2. Основные задачи ос
Архитектура любой современной ОС включает в себя множество не относящихся к ее функциональности составляющих: файловые менеджеры, оболочки, различные утилиты; при этом на разных ОС не могут работать одни и те же программы, хотя некоторые программы есть в версиях для разных ОС, но это не меняет дела, в то время как в принципе основная задача ОС распределение аппаратных ресурсов между рабочими приложениями. В результате мы выбираем ОС не по качествам ядра, что собственно является основной характеристикой ОС, а по набору работающих под ней приложений. При чём, абсолютно отсутствует конкуренция и развитие (ОС включает в себя все больше и больше новых компонентов, в то время как в других областях программной индустрии развитие весьма ощутимо) в этой области и практически нет никакой возможности для появления абсолютно новой ОС с применением искусственного интеллекта, нейро-сетей и тому подобных разработок.
Разница в производительности определяется в основном аппаратным обеспечением, а не ОС. ОС это единицы процентов, а это не стоит обсуждения. ОС определяет стабильность. Но, не смотря на все различия между ОС, остаётся общая концепция и общие функции.
Концептуальные основы построения ОС:
Базовые функции и понятия ОС (процесс, процессор, ресурс):
Определение и классификация ресурсов:
Определение процесса, состояния процесса, классификация процессов;
Мультипрограммирование и многозадачность, понятие потока;
Средства ОС для управления процессами и потоками.
Параллельность и проблема синхронизации (примеры):
Проблема взаимного исключения и критические секции;
Определение и свойства;
Программная реализация взаимного исключения, алгоритм Деккера:
Синхронизация с помощью семафоров (определение и свойства семафоров, семафорные примитивы, примеры использования);
Мониторы как средство синхронизации процессов;
Проблема тупиков;
Определение тупика;
Задачи, связанные с решением проблемы тупика (предотвращение, обходы тупиков, распознавание тупика, вывод системы из тупика и восстановление работоспособности системы);
Модель системы для исследования проблемы тупиков;
Необходимые условия возникновения тупика в системе и методы предотвращения тупиков;
Методы распознавания тупиков в системах с повторно используемыми и потребляемыми ресурсами;
Реализация обходов тупиков;
Вывод системы из тупика и восстановление;
Управление данными:
Понятие файла, логическая и физическая организация данных;
Функция управления данными в ОС (основные задачи, решаемые при реализации файловой системы) и структура подсистемы управления данными ОС;
Представление файлов, именование;
Основные операции над файлами, выполняемые по запросу (создание/уничтожение файла; открытие/закрытие файла; переименование, копирование, переписывание и т.д.);
Логическая организация файлов: последовательные файлы, файлы прямого доступа (индексные и индексно-последовательные файлы), библиотеки;
Функции, выполняемые автоматически;
Перемещение файлов между уровнями внешней памяти;
Динамическое распределение внешней памяти и размещение данных (непрерывное распределение, разрывные распределения (организация цепочек блоков, списков индексов, использование карт памяти));
Организация системы файлов (хранение информации о наличии и размещении данных во внешней памяти, иерархическая структура справочников, каталоги и директории, их организация);
Управление доступом к внешним устройствам;
Управление вводом/выводом;
Управление внешними устройствами: особенности работы с ВУ, каналы, адаптеры, контроллеры; буферизация и блокирование, двойная буферизация;
драйверы внешних устройств: назначение, принципы построения.
Две точки зрения:
Пользователя - предоставление пользователю программисту удобной в работе виртуальной ЭВМ (особенно важно поддержка операций ввода/вывода);
Использование вычислительной системы - эффективное распределение разнообразных ресурсов (процессоров, многоуровневой оперативной памяти, коммуникационного оборудования, внешних и других устройств, а также данных) между процессами, конкурирующими за эти ресурсы.
Две основных задачи распределения ресурсов:
Планирование ресурса (кому, когда, сколько);
Контроль состояния ресурса (занят или нет, сколько имеется).