- •Понятие и классификация ос
- •Основные задачи:
- •Эволюция ос
- •Основные понятия и концепции ос
- •Классификация ос
- •По особенности алгоритма управления ресурсом.
- •По особенностям аппаратных платформ.
- •По особенностям методов построения.
- •Управление процессами
- •Операции над процессами.
- •Алгоритмы планирования
- •2 Группы алгоритмов планирования
- •Потоки (Thread)
- •Средства взаимодействия и синхронизация процессов
- •Семафоры
- •Типовые ситуации с использованием s-ов.
- •Взаимное исключение на семафоре:
- •Синхронизация на семафоре:
- •Семафор как счетчик ресурсов:
- •Взаимоблокировки
- •Неделимые транзакции
- •Архитектура и управление процессами в ос семейства Windows
- •В каждой Windows системе выполняются процессы:
- •Процесс windows состоит из:
- •Синхронизация потоков
- •Для связи между процессами используются:
- •Архитектура процессов Unix.
- •Управление процессами.
- •Создание новых процессов.
- •Межпроцессное взаимодействие.
- •Файловая система
- •Функции файловой системы:
- •Типы файлов:
- •Структуризация фалов
- •Адресация и доступ к файлам
- •Размещение в виде связанного списка блоков дисковой памяти.
- •Использования связанного списка индексов.
- •Операции над файлом
- •Обобщённая модель файловой системы.
- •Отображаемые в память файлы.
- •Современная архитектура файловой системы.
- •Файловые системы windows.
- •Файловая система Fat.
- •Структура разделов под fat
- •Структура каталога ntfs
Создание новых процессов.
Происходит при помощи системного вызова fork(). Рис. 5.
Новый процесс, создаваемый fork является полной копией исходного и его контекстом. Отличаются только PID. Дочерний процесс с помощью системного вызова exe запускает другую программу, заново инициализируя кода данных. Родительский процесс может синхронизировать своё исполнение завершением дочернего с помощью системного вызова wait.
Межпроцессное взаимодействие.
Лекция 181012
Способ взаимодействия |
Тип связи |
Способ применения |
Системные вызовы |
Разделяемая память |
Общий доступ |
Высокопроизводительный обмен данными |
Shmem, wimap |
Переменное окружение |
Односторонняя (при запуске ОС) |
Задание режима работы программы |
Setenv |
Сигнал nor |
односторонняя |
Для уведомления о наступлении системного события |
Signal |
Канал nd1 |
односторонний |
Ввод вывод |
Pipe |
сокеты |
двухсторонний |
Для сетевого обмена |
Socket, … |
Разделяемая память – это механизм, с помощью которого 2 процесса средствами ОС могут обращаться к общему участку физической памяти каждый через своё адресное пространство. Взаимодействующие программы должны изначально содержать код с помощью специальных системных вызовов обозначающий участки адресных пространств для обмена данными. Разделяемая память не содержит встроенных средств синхронизации. Программы должны сами отслеживать доступ к соответствующим ресурсам.
Переменные окружения – каждый запускаемый процесс снабжается информационным пространством, которое он может изменять. В нём можно создавать именованное хранилище данных (переменное окружение), содержащее любую текстовую или числовую информацию. При создании процессов родительский может указать каким из копируемых переменных окружения надо изменить значения.
Сигнал – при получении сигнала исполнение процессов приостанавливается и запускается подпрограмма – обработчик. Она может быть стандартной, определённой в ОС или явно определена в исходном тексте исполняемой программы. У сигнала есть единственная характеристика – его номер (целое число).
Канал – в unix – однонаправленные потоки данных (очереди между процессами). Могут быть неименованными (существуют только вместе с процессом) или именованные, представленные в файловой системе.
Сокет – интерфейс сокета явно разделяет по взаимодействию 2 процессов клиентскую и серверную часть. Серверный процесс инициализирует сокет и ждёт входящих соединений, клиентский устанавливается в 1.
Виды сокетов: Потоковые (сервер и множество клиентов); Датаграмные - позволяют отправлять сообщения короткой длины между привязанными к нему процессами.
Файловая система
С точки зрения ОС файл – это именованная неинтерпретированная последовательность байт.
Файловая система - часть ОС, включающая совокупность всех файлов на диске, наборы, структуры данных для управления ими и комплекс программных средств.