Файл: Литература по курсу аос (по всем вопросам должен быть представлен краткий рукописный конспект в общей тетради).docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 08.02.2024

Просмотров: 76

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Вопросы и литература по курсу АОС
(по всем вопросам должен быть представлен краткий рукописный конспект в общей тетради)


  1. Структура программного обеспечения персонального компьютера.

  2. Понятие операционной системы персонального компьютера. Основные интерфейсы компьютерной системы.

  3. Краткая история операционных систем.

  4. Основные функциональные компоненты ОС.

  5. Сетевые и распределенные операционные системы.

  6. Требования к современным операционным системам.

  7. Базовая архитектура операционной системы. Понятие ядра системы. Классификация операционных систем в зависимости от особенностей архитектуры ядра.

  8. Аппаратная зависимость и переносимость операционных систем.

  9. Совместимость операционных систем и множественные прикладные среды.

  10. Подсистема управления процессами, основные задачи. Понятие многозадачности.

  11. Многозадачность в системах пакетной обработки, разделения времени и реального времени.

  12. Понятия процесса и потока. Состояния потока. Планирование и диспетчеризация потоков в многопоточных системах (с использованием не вытесняющих алгоритмов, на основе квантования, на основе приоритетов, смешанные алгоритмы планирования).

  13. Приоритеты и концепции планирования потоков в Windows 2000, ОС Unix System V и OS/2.

  14. Планирование процессов и потоков в системах реального времени.

  15. Обработка прерываний (назначение, типы, механизм, маскирование). Диспетчеризация и приоритеты прерываний. Централизованная схема диспетчеризации прерываний на примере Windows NT. Отложенный (DPS) и асинхронный (APS) вызовы процедур для обработки прерываний. Выполнение обработки прерываний в контексте и вне контекста процесса.

  16. Реализация системных вызовов. Использование механизма прерываний для реализации системных вызовов.

  17. Основы синхронизации процессов и потоков. Понятие гонок. Критическая секция кода и исключение гонок. Блокирующие переменные. Понятие семафора и его использование для целей синхронизации. Синхронизация и проблема тупиков. Синхронизирующие объекты в операционных системах.

  18. Подсистема управления памятью. Функции ОС по управлению памятью. Методы распределения памяти (фиксированные разделы, динамические разделы, сегментная, страничная, сегментно-страничная структуризация адресного пространства, свопинг, виртуальная память). Организация виртуальной памяти, преобразование адреса. Обмен данными между процессами на основе виртуальной памяти.

  19. Аппаратная поддержка сегментной организации памяти в системах на основе процессоров с архитектурой IA32.

  20. Защита данных в системах с сегментной организацией памяти на основе процессоров с архитектурой IA32.

  21. Смешанная сегментно-страничная организация памяти в системах на основе процессоров с архитектурой IA32. Трансляция адреса. Буфер ассоциативной трансляции (TLB).

  22. Иерархия запоминающих устройств и кэширование данных. Принципы работы кэш - памяти. Детерминированный и случайный способы отображения основной памяти на кэш. Проблема согласования данных. Схемы выполнения запросов в схемах с двухуровневой кэш памятью.

  23. Управление памятью в реальном режиме адресации на примере консоли Windows XP.

  24. Задачи подсистемы управления внешними устройствами.

  25. Подсистема управления файлами. Задачи ОС по управлению файлами. Логическая организация файловой системы. Физическая организация данных на диске. Физическая организация файла. Файловые операции. Стандартные файлы ввода и вывода, перенаправление ввода-вывода. Файловые системы Unix (s5 и ufs), FAT, NTFS. Контроль доступа к файлам в системах Unix и в Windows NT/2000/XP

  26. Обзор семейства операционных систем Microsoft Windows. Базовая архитектура Windows 2000. Исполнительная система и ядро системы. Компоненты системы Windows 2000 режима пользователя. Поддержка прикладного интерфейса(User, GDI, Kernel).

  27. Системный реестр: структура системного реестра Windows; редактор системного реестра; импорт и экспорт данных системного реестра; предопределенные ключи системного реестра; создание резервных копий и восстановление системного реестра; регистрация типа документа и расширения имени файла в реестре.




  1. Структура программного обеспечения персонального компьютера.


Компьютерная система состоит из:

- аппаратуры (hardware)

- системных программ (system programms) – для обеспечения удобства выполнения приклидных программ

-- ОС

-- Оболочки ОС (командный интерпретатор)

-- Системные программы (сюда входят средства разработки ПО)

- компилятор

- редактор

- интерпретатор команд

- компоновщик

- отладчик

- прикладных программ (application programms)




  1. Понятие операционной системы персонального компьютера. Основные интерфейсы компьютерной системы.


Определение ОС:

ОС – это набор программных средств, выполняющих функции

- обеспечения интерфейса пользователя-программиста с оборудованием (Hardware) и

- повышения эффективности функционирования вычислительной системы путем рационального управления ее ресурсами.
Операционная система как виртуальная машина

  • Интерфейс между пользователем и компьютером

  • Скрывает особенности устройств внешней памяти

  • Скрываются детали обработки прерываний, управления памятью и т.д.

  • Создается иллюзия неограниченного размера оперативной памяти и числа процессоров

  • С виртуальной машиной проще иметь дело


Операционная система как менеджер ресурсов

  • Буферизация на диске данных, предназначенных для печати, и организации очереди на печать

  • Управление ресурсами и их защита для многопользовательских компьютеров

  • Упорядоченное и контролируемое распределение процессоров, памяти и других ресурсов между различными программами


Интерфейсы ПО:

- Сначала пользователь взаимодействовал напрямую с железом с помощью коммутационных шнуров (пользователи были учеными), потом начали появляться тумблеры, съемные панели. Это длилось долго, вплоть до 70-80 годов

Было неудобно, медленно, нерационально выполнялись повторяющиеся операции
- Потом появилась память (магнитные реле, системы задержки на трубках) и вслед за ней – библиотеки программ ввода-вывода

- Потом появилось FirmWare – ПО от разработчика железа, встроенное в это железо. Это программы базового ввода –вывода BIOS.

Оно выполняет простейшие действия:

- прием символа с клавы

- вывод на экран

- чтение с жесткого диска

Программы работали, обращаясь к БИОС, а БИОС работал одинаково на всех видах железа.
- Потом стали появляться первые Оси. Они были удобнее и предоставляли прикладной АПИ интерфейс, набор системных вызовов, которые были доступны прикладной программе.

На сегодня роль FirmWare – осталась только на этапе загрузки системы. ОС общается напрямую с железом. Пользователь не общается с железом, приложение уже не общается с FirmWare, ОС после загрузки тоже не общается с FirmWare.
И вообще, для универсальности ОС вместо общения с БИОС общается со специальным HAL (Hardware abstraction layer) – виртуальная оболочка общения с аппаратными средствами, а она уже общается с аппаратурой.


- Для унификации общения ОС с разными аппаратными средствами существуют специальные проги – драйвера. Драйвер реализует IO driver interface, предоставляя универсальный набор функций для данного устройства, с которыми может работать Ось или ПО.
- Для общения пользователя и ПО существует специальный слой – оболочка, который (и не один) есть у любой ОС.

Существуют два типа оболочек: CUI и GUI.

Оболочка для CUI – cmd.exe – только символьная информация

Для GUI – Windows Explorer.

3 ступени развития:

- виндовс 2 – почти ничего

- виндовс 3

- 95 и НТ

- 8 – MetroStyle

В 8.1 – не функциональные вызовы уже, а обращение к компонентам.


  1. Краткая история операционных систем.




  1. Доисторический период

В 1832 г. английский математик и изобретатель Чарльз Бебидж сконструировал первую программную вычислительную машину, которую он назвал аналогичной машиной. Особенность этой машины заключалась в том, что для выполнения операций ей был нужен не человек а набор инструкций. Такие инструкции представляли собой определен узор дыр на карточках-перфокартах. Они стали примером первых вычислительных программ.
В 1942 году профессор электротехническй школы Мура Пенсильванского университета
Джон Маучли представил проект "Использование быстродействующих электронных устройств для вычислений", который положил начало созданию первой электронной вычислительной машины ENIAC (Electronic Numerical Integrator and Computer). В 1943 году под руководством Маучли и Эккерта были начаты работы по созданию ENIAC, А демонстрация работы машины состоялась 15 февраля 1946 года.


  1. Первый период  (1945-1955)

- Все задачи организации вычислительного процесса решались вручную каждым программистом с пульта управления

- Программа загружалась в память машины в лучшем случае с колоды перфокарт

- Вычислительная система выполняла одновременно только одну операцию

- Отладка программ велась с пульта управления
Первое системное ПО

  • В 1951-52 гг. возникают прообразы первых компиляторов с символических языков (Fortran и др.)

  • В 1954 г. Нэт Рочестер разрабатывает ассемблер для IBM-701

  • Первый период характеризуется крайне высокой стоимостью вычислительных систем, их малым количеством и низкой эффективностью использования (последовательная обработка)




  1. Второй период  (1955-Начало 60-х)

  • Компьютеры на основе транзисторов;  

  • Повышена надежность компьютеров

  • Снижение потребления электроэнергии

  • Упрощение систем охлаждения

  • Уменьшение размеров компьютеров

  • Удешевление эксплуатации и обслуживания

  • Начало использования ЭВМ коммерческими компаниями




  • Бурное развитие алгоритмических языков (ALGOL-58, LISP, COBOL, ALGOL-60, PL-1 и т.д.)

  • Появление компиляторов, редакторов связей, библиотек математических и служебных подпрограмм

  • Упрощение процесса программирования

  • Разделение персонала на программистов и операторов, специалистов по эксплуатации и разработчиков вычислительных машин

  • Изменился процесс прогона программ

  • Пользователь приносит программу с входными данными в виде колоды перфокарт (задание)и указывает требуемые для нее ресурсы

  • Оператор загружает задание в память машины и запускает его на исполнение

  • Полученные выходные данные  печатаются на принтере, и  пользователь получает их обратно

  • Для повышения эффективности использования компьютера задания с похожими требуемыми ресурсами собираются вместе, образуя пакет заданий




  • Первые системы пакетной обработки

  • Автоматизируют запуск одной программы из пакета за другой

  • Увеличивают коэффициент загрузки процессора

  • Формализованный язык управления заданиями

  • Программист сообщает системе и оператору, какую работу он хочет выполнить на вычислительной машине

  • Прообраз современных операционных систем

  • Системные программы, предназначенные для управления вычислительным процессом





  1. Третий период (Начало 60-х - 1980)

  • Буферизация ввода/вывода

  • Вначале реальные операции ввода-вывода осуществлялись в режиме off-line

  • Затем - на том же компьютере, который производит вычисления

  • Spooling (Simultaneous Peripheral Operation On Line) или подкачка-откачкаданных

  • Позволяет совместить реальные операции ввода-вывода одного задания с выполнением другого задания

  • Требует наличия аппарата прерываний

  • От магнитных лент к магнитным дискам

  • При обработке пакета заданий на магнитной ленте очередность запуска заданий определялась порядком их ввода

  • При обработке пакета заданий на магнитном диске появляется возможность выбора очередного выполняемого задания

  • Пакетные системы начинают заниматься планированием заданий

  • На счет то или иное задание выбирается в зависимости от наличия запрошенных ресурсов, срочности вычислений и т.д.




  • Мультипрограммирование - дальнейшее повышение эффективности использования процессора

  • Пока одна программа выполняет операцию ввода-вывода, процессор выполняет другую программу

  • Когда операция ввода-вывода заканчивается, процессор возвращается к выполнению первой программы

  • Требуется наличие в памяти нескольких программ одновременно

  • Каждая программа загружается в свой раздел оперативной памяти и не должна влиять на выполнение другой программы




  • Революция в строении вычислительной системы

  • Аппаратная поддержка ОС

  • Реализация защитных механизмов

  • Программы пользователей не должны иметь самостоятельного доступа к распределению ресурсов

  • Привилегированные и непривилегированные команды

  • Переход управления от прикладной программы к ОС сопровождается контролируемой сменой режима

  • Защита памяти для изолирования конкурирующих пользовательских программ друг от друга, а ОС от программ пользователей




  • Наличие прерываний

  • Внешние прерывания оповещают  ОС о  том, что произошло асинхронное событие, например, завершилась операция ввода-вывода

  • Внутренние прерывания (исключительные ситуации)  возникают, когда выполнение программы приводит к ситуации, требующей вмешательства ОС

  • Деление на ноль или попытка нарушения  защиты