- •Понятие «Операционная система». (1-1)
- •Расположение ос в общей структуре компьютера
- •Функции ос
- •Блок управления процессом. Операции над процессом. (15-1, 28-1)
- •Машинные регистры
- •Ос поддерживает следующие операции над процессами:
- •Понятие прерывания. Схемы прерываний. (16-1)
- •Понятия файла, символьного набора, организации файлов. Средства файловой системы. (23-1, 26-1)
- •Блок управления файлом. (25-1)
- •Топология файловой системы. (26-1, 24-1)
- •Реализация файлов и каталогов. (9-1, 24-1)
- •Реализация файлов
- •Реализация каталогов
- •Стратегии управления памятью. Концепции распределения памяти. Алгоритмы замещения. (18-1)
- •Существует большое количество алгоритмов замещения:
- •Концепции распределения памяти:
- •Организация памяти при связном распределении. Оверлейные перекрытия. (19-1)
- •Организация памяти на основе мультипрограммирования. (20-1)
- •Организация памяти на основе мультипрограммирования с фиксированными разделами.
- •Организация памяти на основе мультипрограммирования с переменными разделами.
- •Организация памяти на основе свопинга. Битовые карты и связный список свободных и занятых блоков. (21-1) Свопинг
- •Битовые карты и связный список свободных и занятых блоков.
- •Концепция виртуальной памяти. (22-1)
- •Способы реализации вп
- •Преобразование V в ψ
- •Расслоение памяти. Регистр перемещений. Прерывания и опрос состояний. (2-1) Метод расслоения памяти (интерливинг)
- •Регистр перемещения
- •Прерывания и опрос состояний
- •Буферизация. Периферийные устройства. Защита памяти. (3-1) Буферизация
- •Периферийные устройства
- •Защита памяти
- •Таймер. Каналы ввода/вывода. Захват цикла. (4-1) Таймер и часы
- •Каналы ввода-вывода
- •Захват цикла
- •Относительная адресация. Режимы работы эвм. (5-1) Относительная адресация
- •Режим работы компьютера
- •Виртуальная память. Мультипроцессорная обработка. Прямой доступ к памяти. (6-1) Виртуальная память
- •Мультипроцессорная обработка
- •Прямой доступ к памяти
- •Программирование на машинном языке. Ассемблеры и макропроцессоры. Компиляторы. (7-1) Программирование на машинном языке
- •Ассемблеры и макропроцессоры
- •Компиляторы
- •Конвейеризация. Иерархия памяти. (8-1) Конвейеризация
- •Иерархия памяти
- •Система управления вводом/выводом. Спулинг. (10-1) Система управления вводом/выводом
- •По системы управления вводом/выводом (не надо)
- •Спулинг
- •Процедурно-ориентированные и проблемно-ориентированные языки. Интерпретаторы. (11-1) Процедурно-ориентированные и проблемно-ориентированные языки.
- •Интерпретаторы
- •Абсолютные и перемещающие загрузчики. Связывающие загрузчики и редакторы связей. (12-1) Абсолютные и перемещающие загрузчики
- •Связывающие загрузчики и редакторы связей
- •Микропрограммирование. Эмуляция. Горизонтальный и вертикальный микрокод. (13-1) Микропрограммы
- •Горизонтальный и вертикальный микрокод
- •Эмуляция
- •Основные характеристики ос unix. (27-2)
- •Достоинства Unix систем
- •Недостатки Unix систем
- •Структура ос unix. Ядро и процессы. (26-2)
- •Структура процесса ос unix. Состояние системы и виды взаимодействия в ос unix. (25-2) Состояние системы
- •Структура процесса
- •Дескриптор процесса в ос unix. Контекст процесса. (5-2)
- •Создание процессов в ос unix. (11-2)
- •Планирование процессов в ос unix. (13-2)
- •Информационные связи между процессами в ос unix. (10-2)
- •Управление памятью в ос unix на основе свопинга (1-2)
- •Управление памятью в ос unix на основе страничной подкачки. (2-2)
- •Алгоритм замещения страниц в ос unix. (3-2)
- •Типы файлов в файловой системе ос unix. Топология файловой системы. Последние изменения в файловой системе ос unix. (18-2)
- •Последние изменения в файловой системе ос unix
- •Индексный дескриптор файла в ос unix. Таблица файлов. (6-2)
- •Поддержка файлов ядром ос unix . (4-2)
- •Физическая и логическая организация файловой системы ос unix. (16-2)
- •Логическая и физическая организация системы управления вводом/выводом ос unix. (15-2)
- •Структурная организация системы управления вводом/выводом ос unix. (12-2)
- •Реализация системы управления вводом/выводом ос unix. (14-2)
- •Функционирование ос unix. (7-2, 19-2)
- •Начальная загрузка и выход на интерактивный режим в ос unix. (25-2)
- •Интерактивный режим работы в ос unix. (24-2)
- •Понятие системного вызова. Системные вызовы system и execl. (23-2)
- •Системныевызовыработысфайламиopen,creat,close,dup,dup2.(21-2, 19-2)
- •Системный вызов open
- •Системный вызов creat
- •Системные вызовы dup, dup2
- •Системные вызовы ввода/вывода. (20-2, 8-2)
- •Системный вызов read
- •Системный вызов write
- •Системный вызов close
- •Системный вызов pipe
- •Интерпретатор команд shell. (28-2)
- •Экранирование
- •Встроенные команды языка shell
- •Внешние команды
- •Сравнение чисел
Операционные системы
Понятие «Операционная система». (1-1)
Операционная система (ОС) – это набор программ, который обеспечивает возможность использования аппаратных средств компьютера и предоставляет пользователю интерфейс для реализации прикладного ПО и управления информацией.
Расположение ос в общей структуре компьютера
Самый нижний уровень содержит физические устройства, состоящие из интегральных микросхем, проводников, источников тока и т.д.
Выше у некоторых компьютеров расположен микроархитектурный (микропрограммный) уровень – примитивная программная прослойка, напрямую работающая с оборудованием и располагающаяся в ПЗУ. Основное его назначение – интерпретация машинных команд. Нужен, чтобы безболезненно переходить с одной архитектуры на другую.
Система команд содержит 50-300 команд, предназначенных для перемещения данных, выполнения арифметических и сдвиговых операций, сравнения величин. Управление устройствами на этом уровне осуществляется с помощью специальных регистров устройств, методов адресации и оперативной памяти компьютера.
Уровень операционной системы состоит из ядра ОС и системных программ. Ядро – это та часть программ, которые всегда находятся в оперативной памяти. Системные программы загружаются в оперативную память по мере необходимости.
Прикладные программы – приобретаются или пишутся самим пользователем.
Функции ос
Определяет интерфейс пользователя.
Обеспечивает распределение аппаратных ресурсов между процессами (пользователями).
Планирует доступ пользователей к общим ресурсам.
Обеспечивает эффективное выполнение операций ввода/вывода.
Осуществляет восстановление информации и вычислительных процессов в случае ошибок.
ОС управляет следующими ресурсами:
Память (оперативная и внешняя).
Устройства ввода/вывода (периферийные).
Данные.
Программы.
Ресурсы бывают:
Выгружаемые – такие ресурсы можно безболезненно забирать у владеющего ими процесса (например, оперативная память).
Невыгружаемые. Например, компакт-диски.
Исчерпаемые (память, файл).
Неисчерпаемые (круговой конвеер).
Последовательность событий, необходимых для использования ресурса, можно представить в следующем виде:
Запрос ресурса
Использование
Возврат
ОС взаимодействует с:
Пользователями
Программами (прикладными и системными)
Аппаратными средствами
Понятие ядра операционной системы. Функции ядра. (27-1)
Все операции, связанные с процессами выполняются под управлением той части ОС, которая называется ядром.
Ядро представляет собой небольшую часть кода ОС в целом. Однако оно относится к числу наиболее интенсивно используемых компонент системы. По этой причине ядро обычно резидентно размещается в оперативной памяти, в то время как другие части ОС перемещаются во внешнюю память и обратно по мере необходимости.
Функции ядра ОС
Ядро ОС, как правило, содержит программы для реализации следующих функций:
Управление процессами и потоками;
Обработка прерываний;
Поддержка операций ввода/вывода;
Управление оперативной памятью;
Поддержка работы файловой системы;
Функции учета работа компьютера (различная статистическая информация).
Понятие процесса. Состояния процесса. (14-1)
Процесс – это программа в стадии выполнения (вместе с текущими значениями счетчика команд, регистров и переменных).
Состояния процесса
В период своего существования процесс проходит через ряд дискретных состояний:
Выполняется – если в данный момент времени ему выделен ЦП.
Готов – если он мог бы использовать ЦП, предоставленный в его распоряжение.
Блокирован – если он ожидает появления некоторого события (например, ввода).
(Приостановлен) – промежуточное состояние, не называть!
Когда в систему поступает некоторое задание, она создает соответствующий процесс, который затем устанавливается в конец списка готовых процессов. Этот процесс постепенно продвигается к головной части списка по мере завершения выполнения предыдущих процессов. Когда процесс окажется первым в списке готовых процессов и когда освобождается ЦП, этому процессу выделяется ЦП, и происходит смена состояния процесса из состояния готовности в состояние выполнения.
Чтобы предотвратить либо случайный, либо умышленный монопольный захват ресурсов компьютера каким-то одним процессом, ОС устанавливает в специальном аппаратном таймере прерываний временной интервал, в течение которого любому процессу разрешается занимать ЦП.
Если процесс добровольно не освобождает ЦП в течение указанного временного интервала, таймер вырабатывает сигнал прерывания, по которому управление будет передано ОС. После этого ОС переведет ранее выполнявшийся процесс в состояние готовности, а первый процесс из списка готовых – в состояние выполнения.
С каждым процессом связывается его адресное пространство: список адресов от минимума до максимума, который процесс может прочесть и в который он может писать. В адресном пространстве содержится сама программа, данные к ней, ее стек.
Со всяким процессом связываются регистры, включая счетчик команд, указатель стека и другие регистры.
Понятие процесса базируется на двух независимых концепциях: группирования ресурсов и выполнения программ. С одной стороны у процесса есть адресное пространство, содержащее текст программы, данные, открытые файлы, дочерние процессы и т.д. С другой стороны, процесс можно рассматривать как поток исполняемых команд. У потока есть счетчик команд, регистры, стек и т.д. Хотя поток должен исполняться внутри процесса, следует различать концепции потока и процесса. Процесс используется для группирования ресурсов, а потоки являются объектами, поочередно исполняющимися на ЦП.
Концепция потока добавляет процессу возможность выполнения нескольких программ достаточно независимо.