
- •Введение
- •Введение в компьютерные и операционные системы
- •Структура компьютерной системы
- •Программное обеспечение компьютерной системы
- •1.2.1 Операционная система
- •1.2.1.1 Управляющая программа
- •1.2.1.2 Системные обрабатывающие программы
- •1.2.2 Пакеты прикладных программ
- •1.2.3 Программы технического обслуживания
- •Аппаратное обеспечение компьютерной системы
- •1.3.1 Процессор
- •1.3.2 Внутренняя память
- •1.3.3 Устройства ввода и вывода, внешняя память
- •Основные функции и архитектурные особенности ос
- •1.4.1 Основные функции ос:
- •3) Управление памятью.
- •1.4.2 Монолитное ядро
- •1.4.3 Слоеные системы (Layered systems)
- •1.4.4 Виртуальные машины
- •1.4.5 Микроядерная архитектура
- •1.4.6 Смешанные системы
- •Классификация ос
- •Контрольные вопросы
- •Архитектура компьютерных систем
- •Классификация архитектур по параллельной обработке данных
- •Гибридная архитектура numa
- •Кластерная архитектура
- •Проблемы выполнения сети связи процессоров в кластерной системе
- •Контрольные вопросы
- •Способы организации высокопроизводительных процессоров. Ассоциативные конвейерные и матричные процессоры
- •1) Ассоциативные процессоры
- •2) Конвейерные процессоры
- •3) Матричные процессоры
- •Ассоциативные процессоры
- •Конвейерные процессоры
- •Матричные процессоры
- •Контрольные вопросы
- •Способы организации высокопроизводительных процессоров. Новые архитектуры процессоров
- •Клеточные и днк-процессоры.
- •Коммуникационные процессоры
- •Процессоры баз данных
- •Потоковые процессоры
- •Нейронные процессоры
- •Процессоры с многозначной (нечеткой) логикой
- •Контрольные вопросы
- •Управление процессами. Состояние процессов и операции над процессами
- •Введение в процессы
- •Состояния процесса
- •Операции над процессами и связанные с ними понятия
- •5.3.1 Набор операций
- •5.3.2 Pcb и контекст процесса
- •5.3.3 Одноразовые операции
- •5.3.4 Многоразовые операции
- •5.3.5 Прерывание и типы прерываний
- •5.3.6 Переключение контекста
- •5.3.7 Ядро операционной системы
- •Контрольные вопросы
- •Управление процессами. Кооперация процессов и основные аспекты ее логической организации
- •Введение в кооперацию процессов
- •Взаимодействующие процессы
- •Категории средств обмена информацией
- •Логическая организация механизма передачи информации
- •6.4.1 Установление связи между процессами
- •6.4.2 Однонаправленные и двунаправленные связи между процессами
- •6.4.3 Особенности передачи информации с помощью линий связи
- •1) Буферизация
- •2) Поток ввода/вывода и сообщения
- •6.4.4. Надежность средств связи
- •6.4.5 Завершение связи
- •Потоки исполнения
- •Контрольные вопросы
- •Управление процессами. Алгоритмы синхронизации
- •Чередования, условия состязания и взаимоисключения
- •Критическая секция
- •Алгоритмы взаимоисключений
- •7.3.1 Требования, предъявляемые к алгоритмам
- •7.3.2 Запрет прерываний
- •7.3.3 Переменная-замок
- •7.3.4 Строгое чередование
- •7.3.5 Флаги готовности
- •7.3.6 Алгоритм Петерсона
- •7.3.7 Алгоритм булочной (Bakery algorithm)
- •Аппаратная поддержка взаимоисключений
- •7.4.1 Команда Test-and-Set (Проверить и присвоить 1)
- •7.4.2 Команда Swap (Обменять значения)
- •Недостатки алгоритмов взаимоисключений
- •Семафоры
- •7.6.1 Концепция семафоров
- •7.6.2 Решение проблемы производитель-потребитель с помощью семафоров
- •Мониторы
- •Сообщения
- •Эквивалентность семафоров, мониторов и сообщений
- •Контрольные вопросы
- •Управление процессами. Тупики
- •Введение в тупики
- •Концепция ресурса
- •Условия возникновения тупиков
- •Основные направления борьбы с тупиками
- •2) Обнаружение тупиков
- •3) Восстановление после тупиков
- •Алгоритм страуса
- •Обнаружение тупиков
- •Восстановление после тупиков
- •8.7.1 Восстановление при помощи перераспределения ресурсов
- •8.7.2 Восстановление через откат назад
- •8.7.3 Восстановление через ликвидацию одного из процессов
- •Способы предотвращения тупиков путем тщательного распределения ресурсов
- •8.8.1 Предотвращение тупиков и алгоритм банкира
- •8.8.2 Недостатки алгоритма банкира
- •Предотвращение тупиков за счет нарушения условий возникновения тупиков
- •8.9.1 Нарушение условия взаимоисключения
- •8.9.2 Нарушение условия ожидания дополнительных ресурсов
- •8.9.3 Нарушение принципа неперераспределяемости
- •8.9.4 Нарушение условия кругового ожидания
- •Проблемы аналогичные тупикам
- •8.10.1 Двухфазная локализация
- •8.10.2 Тупики не ресурсного типа
- •8.10.3 Голод
- •Контрольные вопросы
- •Управление памятью. Простейшие схемы управления памятью
- •1) Введение в управление памятью
- •2) Связывание адресов
- •Введение в управление памятью
- •Связывание адресов
- •Простейшие схемы управления памятью
- •9.3.1 Схема с фиксированными разделами
- •1) Один процесс в памяти
- •2) Оверлейная структура
- •9.3.2 Схема со свопингом
- •9.3.3 Схема с переменными разделами
- •Контрольные вопросы
- •Управление памятью. Архитектурные средства поддержки виртуальной памяти
- •1) Проблема размещения больших программ. Понятие виртуальной памяти
- •Проблема размещения больших программ. Понятие виртуальной памяти
- •Архитектурные средства поддержки виртуальной памяти
- •Способы организации виртуальной памяти
- •1) Страничная память
- •2) Сегментная организация памяти
- •3) Сегментно-страничная организации памяти
- •Ассоциативная память
- •Иерархия памяти
- •Размер страницы
- •Контрольные вопросы
- •Управление памятью. Аппаратно-независимый уровень управления виртуальной памятью
- •Введение в аппаратно-независимый уровень управления виртуальной памятью
- •Исключительные ситуации при работе с памятью
- •Стратегии управления страничной памятью
- •Алгоритмы замещения страниц
- •11.4.1 Алгоритм fifo (выталкивание первой пришедшей страницы)
- •11.4.2 Оптимальный алгоритм
- •11.4.3 Алгоритм lru (выталкивание дольше всего не использовавшейся страницы)
- •11.4.4 Алгоритм nfu (выталкивание редко используемой страницы)
- •11.4.5 Другие алгоритмы
- •Thrashing. Свойство локальности. Модель рабочего множества
- •Демоны пейджинга
- •Аппаратно-независимая модель памяти процесса
- •Отдельные аспекты функционирования менеджера памяти
- •Контрольные вопросы
- •Система управления вводом-выводом. Физические принципы организации ввода-вывода
- •Введение в систему управления вводом-выводом
- •Введение в физические принципы организации ввода-вывода
- •Общие сведения об архитектуре компьютера
- •Структура контроллера устройства
- •Опрос устройств
- •Прерывания
- •Прямой доступ к памяти
- •Контрольные вопросы
- •Система управления вводом-выводом. Логические принципы организации ввода-вывода
- •1) Введение в логические принципы организации ввода-вывода
- •2) Структура системы ввода-вывода
- •3) Систематизация внешних устройств и интерфейс между базовой подсистемой ввода-вывода и драйверами
- •Введение в логические принципы организации ввода-вывода
- •Структура системы ввода-вывода
- •Систематизация внешних устройств и интерфейс между базовой подсистемой ввода-вывода и драйверами
- •Функции базовой подсистемы ввода-вывода
- •Блокирующиеся, не блокирующиеся и асинхронные системные вызовы
- •Буферизация и кэширование
- •Spooling и захват устройств
- •Обработка прерываний и ошибок
- •Планирование запросов
- •Алгоритмы планирования запросов к жесткому диску
- •13.10.1 Строение жесткого диска и параметры планирования
- •Алгоритм fcfs
- •Алгоритм sstf
- •Алгоритмы сканирования (scan, c-scan, look, c-look)
- •Контрольные вопросы
- •Интерфейсы компьютерных систем
- •Классификация интерфейсов
- •Интерфейс rs-232 для порта сом
- •Интерфейс ieee 1284 для порта lpt
- •Интерфейс ps/2
- •Интерфейс usb
- •Интерфейс Firewire
- •Контрольные вопросы
- •Многопроцессорные компьютерные системы
- •1) Достоинства многопроцессорных систем
- •Достоинства многопроцессорных систем
- •Организация многопроцессорной аппаратуры
- •15.2.1 Общая шина
- •15.2.2 Матрица координатной коммутации
- •15.2.3 Организация с многопортовой памятью
- •Организация многопроцессорных операционных систем
- •15.3.1 Организация «главный-подчиненный»
- •15.3.2 Организация с раздельными мониторами
- •15.3.3 Симметричная организация
- •Контрольные вопросы
- •Требования к компьютерным системам
- •Основные требования к компьютерным системам
- •Отношение "стоимость/производительность"
- •Надежность и отказоустойчивость компьютерных систем
- •Показатели надежности компьютерных систем
- •Масштабируемость
- •Совместимость и мобильность программного обеспечения
- •Контрольные вопросы
- •Программы диагностики компьютерных систем
- •1) Программа диагностики post
- •2) Программа диагностики WatchDog
- •Программа диагностики post
- •Программа диагностики WatchDog
- •Контрольные вопросы
- •Список использованных источников
Введение в компьютерные и операционные системы
На лекции рассматриваются:
1) Структура компьютерной системы
2) Программное обеспечение компьютерной системы
3) Аппаратное обеспечение компьютерной системы
4) Основные функции и архитектурные особенности ОС
5) Классификация ОС
Структура компьютерной системы
На рис.1.1 представлена простейшая компьютерная система (КС), образованная совокупностью программного и аппаратного обеспечения. Оператор связан с КС через пользовательский интерфейс.
Пользовательский интерфейс – средство связи человека и КС, включающее в себя устройство ввода-вывода и программное обеспечение.
Компьютерная
система
Программное
обеспечение КС
Программы
технического обслуживания
Пакеты прикладных
программ
Оператор
Процессор
Внешние устройства
(устройства ввода и вывода, внешняя
память)
Внутренняя
память
Операционная система
Управляющая
программа
Системные
обрабатывающие программы
Аппаратное
обеспечение КС
Рисунок 1.1 – Структура компьютерной системы
Программное обеспечение компьютерной системы
В программное обеспечение КС входят:
а) операционная система;
б) пакеты прикладных программ;
в) программы технического обслуживания.
1.2.1 Операционная система
Операционная система (ОС) является важнейшей и центральной частью программного обеспечения КС, предназначенной для эффективного управления вычислительным процессом, планирования работы и распределения ресурсов КС, автоматизации процесса подготовки программ и организации их выполнения при различных режимах работы КС, облегчения общения оператора с КС.
В состав ОС входят:
а) управляющая программа;
в) системные обрабатывающие программы.
1.2.1.1 Управляющая программа
Управляющая программа – часть ОС, планирующая и организующая работу технических устройств КС, распределяющая и управляющая действиями программ обработки. Управляющая программа включает в себя:
а) программы начальной загрузки;
б) программы инициализации ядра;
в) программы управления заданиями;
г) программы управления задачами;
д) программы управления данными;
е) программы управления восстановлением.
1) Программы начальной загрузки – программы, приводящие КС и операционную систему в состояние готовности. Они осуществляют:
- настройку оперативной памяти;
- загрузку ядра ОС в оперативную память;
- загрузку программ инициализации ядра, которым передают управление.
2) Программы инициализации ядра – программы, подготавливающие ядро операционной системы к работе и осуществляющие:
- подготовку и проверку системной информации;
- проверку состояния памяти и устройств ввода-вывода;
- связь с оператором и др.
3) Программы управления заданиями предназначены для управления заданиями и обеспечения связи с оператором. Они состоят из двух групп программ - планировщика заданий и главного планировщика.
Задание содержит информацию о том, какие преобразования и над какими данным должны быть произведены. Когда в ОС поступает задание, то ОС создает соответствующий процесс (задачу) или группу процессов (задач). Каждый шаг задания указывает, какие программы должны выполняться, с какими данными и какие ресурсы требуются. В результате анализа пункта задания формируется процесс (задача).
Последовательный процесс – это выполнение на последовательном процессоре программы с данными, требующей ресурсов и представленной в ОС блоком управления процессом (PCB).
Ресурсы – объекты, которые запрашиваются, используются и освобождаются процессами в период их активности (например, процессор, память, устройства ввода-вывода).
Задача – это совокупность связанных между собой и образующих единое целое программ и данных, требующая ресурсов для своего выполнения. В ОС с каждой задачей связан блок управления задачей (TCB), содержащий информацию о ней.
В литературе термины «процесс» и «задача» часто считаются синонимами. В OS/2, OS/360, DOS, 16-битной Windows использовался термин «задача». В UNIX, Novell NetWare, 32-битной Windows (95/98/NT/2000) используются термины «процесс» и «поток» (выполняющаяся часть программы). В простейшем случае процесс состоит из одного потока, а в случае нескольких параллельных подзадач процесс имеет несколько параллельно выполняющихся потоков.
Планировщик заданий предназначен для управления заданиями и осуществляет:
- ввод потока (пакета) заданий;
- контроль заданий;
- планирование порядка выполнения заданий;
- закрепление за заданием внешнего устройства в соответствии с его пунктами;
- выделение оперативной памяти для пункта задания;
- загрузку указанной в пункте задания первой программы в оперативную память;
- передачу управление над задачей супервизору;
- освобождение оперативной памяти и внешнего устройства, и вывод результатов после завершения задания супервизором.
Главный планировщик принимает команды оператора (например, запуск или остановка задания), т.е. обеспечивает связь между оператором и ОС.
4) Программы управления задачами (супервизор) – программы, предназначенные для связи аппаратного и программного обеспечения и осуществляющие:
- управление распределением ресурсов ОС между задачами в процессе их выполнения с учетом приоритета задачи;
- управление состоянием задачи (организация мультипрограмного режима);
- управление связью между программами;
- контроль выполнения задач и др.
5) Программы управления данными – программы, предназначенные для организации обмена информацией (ввода-вывода) между оператором и КС и осуществляющие:
- централизованное выполнение операций обмена с внешними устройствами КС;
- хранение информации во внешней памяти;
- обеспечение различных способов организации и идентификации данных;
- каталогизацию наборов данных. Каталог (справочник, словарь) идентифицирует и определяет местонахождение всех наборов данных или файлов и позволяет осуществить их поиск;
- обеспечение независимости данных от типов используемых внешних устройств;
- обеспечение различных методов доступа к данным.
Данными, организованными как файлы, управляет файловая система.
6) Программы управления восстановлением - программы, используемые для восстановления работоспособности КС в случае аппаратных сбоев.