Смекни!
smekni.com

Лекции по Основам ВТ (стр. 5 из 15)

Таблица процесса – когда процесс не активен, в ней хранится информация о процессе. Она содержит: --имя процесса –расположение его сегментов –информацию для планировщика. Таблица процесса существует во время всей жизни процесса. Адресуется она из ядра ситемы.

Создание процессов. Новые процессы создаются с помощью системного примитива (разветвления). Вызов этого примитива приводит к тому, что текущий процесс расщепляется на 2 независимых, параллельных процесса, называемых родительским и дочерним. Эти два процесса не имеют общей первичной памяти, но совместно могут использоватьвсе открытые файлы.

Примитив EXEC дает возможность процессу выполнять файл. Он приводит к замене текущего програмного сегмента и текущего сегмента данных на новые соответствующие сегменты, к-ые задаются в файле. Прежние сегменты, если их не зарезервировать, теряются (по умолчанию). Этот процесс выполняется процессом программы, но не самим процессом.

Синхронизация процессов осуществляется при помощи механизма событий. Все процессы ожидают событий, таблицы процессов ассоциируются с событиями. События представляют собой адрес элемента таблицы своего родительского процесса. В любой момент времени все процессы, кроме одного стоят на примитиве – ожидании событий в ядре.

Планирование процесса. Процесс может выполняться в одном из двух событий – пользовательском или системном. В пользовательском состоянии процесс выполняет программу пользователя и имеет доступ к пользовательскому сегменту данных. Главня цель планирования процессов в Ю – обеспечение быстрой реакции для интерактивных пользователей. Планирование процессов проводится в соответствии с приоритетами процессов. Высший приоритет у процессов, к-ые обрабатывают события и ожидания. Следущие по старшинству – связанные с работой дисков. События, связанные с терминалами, временем суток, пользовательскими процессами получают более низкий приоритеты. Пользовательским процессам приписываются приоритеты в зависимости от кол-ва получаемого ими процессорного времени. Процессы с большим временем имеют более низкие приоритеты.

Процессы вталкивания и выталкивания. Процессы могут выталкиваться (выкачиваться) во вторичную память и вталкиваться (подкачиваться). Как в первичной, так и во вторичной памяти выделяется стратегия свободного пространства, имеющего общее название (если процессу требуется дополнительная память он её запрашивает непосредственно у ядра). Ему выделяется новая, большая секция памяти, чтобы вместить процесс и всё содержимое старой памяти копируется в новую область памяти вместе с процессом, а старая область освобождается. Завершение процессов может происходить аварийно (преднамеренно) при помощи примитива EXEC (выход) или непреднамеренно, как результат запрещенных действий (для О.С. сигналы или ловушки предписанные пользователем). Ловушки, связанные с ошибками к программе, т.е. обращаться к некорректным адресам памяти или попытка выполнить программу с несуществующим кодом операции. Для снятия процесса в Ю используются директивы: interrubt – процедура прерывания, quit – увольнение.

Файловая система UNIX. Файл – это множество символов с произвольным доступом, его размер – число содержащихся в нём символов, на физическом уровне до 1000000000 символов. В файле содержатся произвольные данные и не имеет другой структуры, кроме наложенной пользователем.

Диск разбивается на 4 блока: 1.Неиспользуемый блок. 2.Управляющий (суперблок) – содержит размер диска и др. областей. 3.i-список, состоящий из описания файлов, наз. i-узлами. 4.Область для хранения содержимого файла.

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

Следом за i-списком идут блоки памяти, предназначенные для хранения содержимого файлов. Пространство на диске, оставшееся свободным от файлов образует связанный список свободных блоков. Т.о. файловая система UNIX представляет собой структуру данных, размещенных на диске и содержащую управляющий суперблок, в котором определена вся файловая система в целом, массив i-узлов, в которых определены файлы в файловой системе, сами файлы, совокупность свободных блоков. Выделение пространства осуществляется блоками фиксированного размера. Таблица.

Каждый файл однозначно идентифицируется старшим номером устройства, младшим номером устройства i-ым номером (индексом i-го узла данного файла в массиве i-узлов). Когда вызывается драйвер устройства, но старшему номеру индексируется массив входных точек в драйверы. По младшему номеру драйвер выбирает одно устройство из группы идентичных физических устройств. Файл директории, в котором перечислены имена файлов позволяет установить соответствие между именами и самими файлами. Директория образует древовидную структуру, на каждый физический обычный файл, или файл устройства могут существовать ссылки (потенциальные ссылки в различных узлах этой структуры).

В непривелегированных программах запись в директории не разрешена,но при наличии паролей-приоритетов они могут быть прочитаны. Дополнительных связей между директориями нет. Большинство системных директорий UNIX используются для своих нужд. Один из них – корневой директорий, который является базой для всей структуры директорий и считая его отправной точкой можно найти размещение всех файлов. Файл не являющийся директорией можно встречать в различеых директориях, иногда под разными именами – это явление называется связыванием. Элемент директории, относящийся к одному файлу называется связью. Такие связи в UNIXе имеют равный приоритет.

Понятие оболочка. Оболочка в Ю – это механизм взаимодействия между пользователем и системой. Т.е. это интерпретатор команд, который считывает, набираемые пользователем команды и запускает выполнение запрошенных системных функций. В отличие от ядра оболочка не располагается резидентно в основной памяти, а подкачивается туда по мере необходимости, т.е. она является прикладной программой и поэтому пользователи могут писать свою индивидуальную оболочку для своих прикладных програм (сценарий).

Транспортеры и фильтры. Транспортер – это открытый файл, соединяющий два процесса. Информация записывается в транспортер на одном конце, файл можно считывать на другом. Схемка. Синхронизация, диспетчеризация и буферизация обеспечиваются UNIXом автоматически. Воспользовавшись транспортерами между парами процессов можно организовать конвейер, связав процессы друг с другом в линию. Оболочка обеспечивает конвейеры линейной структурой. Процессы могут быть взаимосвязаны и более сложно.

Фильтр в сист. Ю – это программа с одним входным и одним выходным потоками. В этом смысле Ю оставляет большое число фильтров. (например: языковые процессоры в Ю не выводят листинга, их вывод направляется фильтру, который печатает все необходимые листинги в едином унифицированном формате.

Многозадачность (мультипрограммирование). Пользователь может задать многозадачность, сопровадив команду знаком &. В этом случае оболочка не ожидает завершения выполняемой команды. Она даёт приглашение на ввод новой команды, продолжая выполнять предыдущую команду в фоновом режиме. Вновь задаваемая команда может быть файлом, содержащем другие команды, тем самым пользователь, работающий в интерактивном режиме может запустить в качестве фона последовательность пакетных работ.

Windows.

MS в 1985 г. разработал первую версию Windows. Начиная с 1990 г. появилось несколько новых модификаций. Обеспечивается возможность одновременного выполнения нескольких программ и переключение с одной на другую.

Обмен данными Windows: 1) Буферная передача данных; 2) Динамический обмен данными; 3) Механизм связи и внедрения объектов (OLE-технологии); 4) Проектирование программных продуктов и систем (CASE-технологии).

Возможности для разработчиков.

Основная идея оболочки Windows — естественность представления информации, которая должна представляться в той форме, которая обеспечивает наиболее эффективное усвоение этой информации человеком.

Windows — замкнутая рабочая Среда. " операции Windows могут заканчиваться без выхода из нее. Это ОС графического типа, где юзеру не нужно вводить директивы в виде текстовых строк. Все операции поддерживаются мышью. Обеспечивается независимый запуск и выполнение нескольких программ. Очень хорошая интеграция (встраиваемость программ). Windows — мультиагентная Среда.

Режимы работы: 1) Стандартный; 2) Расширенный. Реализуются параллельные процессы с автоматическим разделением во времени; 3) Работа в режиме MS-DOS; 4) Режим виртуальной памяти.

Концепция RISC-архитектуры и транскьюторы.

RISC-машины обладают сокращенным набором команд. Идея RISC-архитектуры порождена с одной стороны развитием сверхбольших интегральных схем, а с другой стороны стремлением реализовать с наименьшими аппратными средствами машины с большими вычислительными возможностями. RISC-машины появились в начале 1980х годов.

Среднестатистические данные показали: 80% команд исполняются в течение 20% машинного времени. Возникла идея разбиения сложной команды на элементарные, добившись роста производительности.