Главная    Почта    Новости    Каталог    Одноклассники    Погода    Работа    Игры     Рефераты     Карты
  
по Казнету new!
по каталогу
в рефератах

Лекции по Основам ВТ

ежной, любимой, а программы были совместимы и понятны.
      Цели проекта. Своей уникальностью Ю обязан: 1.Нулевая версия была
   создана 2-мя идеологами за минимальное кол-во чел*лет. 2.Люди,
   создававшие систему были её главными пользователями.
      Внутренняя согласованность и встроенность является следствием этих 2-
   ух обстоятельств, как и яз. Паскаль, созд. Виртом.
      Управлние процессами. Центральная часть – ядро (около 25000 строк на
   Си и 2500 строк на Ассемблере). Большая часть ассемблерного текста
   относится к аппаратным ф-циям, к-ые трудно программировать на Си.
      Образ – текущее состояние псевдокомпьютера, предоставляемое
   пользователю. Конкретный процесс – это выполнение конкретного образа.
   Любой образ включает образ памяти, значение общих регистров, состояние
   открытых файлов, текущие директории – оглавления, справочники и др.
   информацию. Образ процесса во время его выполнения размещается в
   основной памяти (не менее 128Мб). Образ может быть откачан на диск, если
   какому-либо приоритетному процессу потребуется место в основной памяти.
   В современных версиях – это оптимизатор процесса.
      Образ памяти делится  на 3 логических сегмента: --СРП-сегмент
   реентерабельных процедур (начиная с нулевого адреса в виртуальном
   адресном пространстве). –СД-сегмент данных. –СС-сегмент стека.
   Картинка.  СД располаг. За СРП в сорону больших адресов. Сегмент стека
   начинается со старшего адреса в виртуальном адресном пространстве и
   растет вверх по мере занесения в него иформации, при вызове пограмм и
   прерывании. СД в образе памяти содержит данные, записываемые и
   считываемые т-ко одним конкретным процессом. Системные данные,
   относящиеся к процессу хранятся в отдельном сегменте фиксированного
   размера. Этот системный сегмент данных откачивается вместе с процессом.
   Он содержит такие данные об активном процессе, как состояние регистров,
   дескрипторов(описатели открытых файлов), данные для расчетов за
   использованием ЭВМ, область рабочих данных, стек для системной фазы
   выполнения процесса. Процесс которому принадлежит сегмент системных
   данных непосредственно адресоваться не может.
      Таблица процесса – когда процесс не активен, в ней хранится информация
   о процессе. Она содержит: --имя процесса –расположение его сегментов
   –информацию для планировщика. Таблица процесса существует во время всей
   жизни процесса. Адресуется она из ядра ситемы.
      Создание процессов. Новые процессы создаются с помощью системного
   примитива (разветвления). Вызов этого примитива приводит к тому, что
   текущий процесс расщепляется на 2 независимых, параллельных процесса,
   называемых родительским и дочерним. Эти два процесса не имеют общей
   первичной памяти, но совместно могут использоватьвсе открытые файлы.
      Примитив EXEC дает возможность процессу выполнять файл. Он приводит к
   замене текущего програмного сегмента и текущего сегмента данных на новые
   соответствующие сегменты, к-ые задаются в файле. Прежние сегменты, если
   их не зарезервировать, теряются (по умолчанию). Этот процесс выполняется
   процессом программы, но не самим процессом.
      Синхронизация процессов осуществляется при помощи механизма событий.
   Все процессы ожидают событий, таблицы процессов ассоциируются с
   событиями. События представляют собой адрес элемента таблицы своего
   родительского процесса. В любой момент времени все процессы, кроме
   одного стоят на примитиве – ожидании событий в ядре.
      Планирование процесса. Процесс может выполняться в одном из двух
   событий – пользовательском или системном. В пользовательском состоянии
   процесс выполняет программу пользователя и имеет доступ к
   пользовательскому сегменту данных. Главня цель планирования процессов в
   Ю – обеспечение быстрой реакции для интерактивных пользователей.
   Планирование процессов проводится в соответствии с приоритетами
   процессов. Высший приоритет у процессов, к-ые обрабатывают события и
   ожидания. Следущие по старшинству – связанные с работой дисков. События,
   связанные с терминалами, временем суток, пользовательскими процессами
   получают более низкий приоритеты. Пользовательским процессам
   приписываются приоритеты в зависимости от кол-ва получаемого ими
   процессорного времени. Процессы с большим временем имеют более низкие
   приоритеты.
      Процессы вталкивания и выталкивания. Процессы могут выталкиваться
   (выкачиваться) во вторичную память и вталкиваться (подкачиваться). Как в
   первичной, так и во вторичной памяти выделяется стратегия свободного
   пространства, имеющего общее название (если процессу требуется
   дополнительная память он её запрашивает непосредственно у ядра). Ему
   выделяется новая, большая секция памяти, чтобы вместить процесс и всё
   содержимое старой памяти копируется в новую область памяти вместе с
   процессом, а старая область освобождается. Завершение процессов может
   происходить аварийно (преднамеренно) при помощи примитива EXEC (выход)
   или непреднамеренно, как результат запрещенных действий (для О.С.
   сигналы или ловушки предписанные пользователем). Ловушки, связанные с
   ошибками к программе, т.е. обращаться к некорректным адресам памяти или
   попытка выполнить программу с несуществующим кодом операции. Для снятия
   процесса в Ю используются директивы: interrubt – процедура прерывания,
   quit – увольнение.
      Файловая система UNIX. Файл – это множество символов с произвольным
   доступом, его размер – число содержащихся в нём символов, на физическом
   уровне до 1000000000 символов. В файле содержатся произвольные данные и
   не имеет другой структуры, кроме наложенной пользователем.
      Диск разбивается на 4 блока: 1.Неиспользуемый блок. 2.Управляющий
   (суперблок) – содержит размер диска и др. областей. 3.i-список,
   состоящий из описания файлов, наз. i-узлами. 4.Область для хранения
   содержимого файла.
      Каждый i-узел содержит: --идентификацию владельца –идентификацию
   группы владельца –биты защиты –физические адреса на диске или ленте, где
   находится содержимое файлов –время создания файлов –размер файла –время
   последнего его изменения –число связей (ссылок на файл) –индикация
   (является ли файл директорией, обычным файлом или специальным файлом).
      Следом за i-списком идут блоки памяти, предназначенные для хранения
   содержимого файлов. Пространство на диске, оставшееся свободным от
   файлов образует связанный список свободных блоков. Т.о. файловая система
   UNIX представляет собой структуру данных, размещенных на диске и
   содержащую управляющий суперблок, в котором определена вся файловая
   система в целом, массив i-узлов, в которых определены файлы в файловой
   системе, сами файлы, совокупность свободных блоков. Выделение
   пространства осуществляется блоками фиксированного размера.   Таблица.
      Каждый файл однозначно идентифицируется старшим номером устройства,
   младшим номером устройства i-ым номером (индексом i-го узла данного
   файла в массиве i-узлов). Когда вызывается драйвер устройства, но
   старшему номеру индексируется  массив входных точек в драйверы. По
   младшему номеру драйвер выбирает одно устройство из группы идентичных
   физических устройств. Файл директории, в котором перечислены имена
   файлов позволяет установить соответствие между именами и самими файлами.
   Директория образует древовидную структуру, на каждый физический обычный
   файл, или файл устройства могут существовать ссылки (потенциальные
   ссылки в различных узлах этой структуры).
      В непривелегированных программах запись в директории не разрешена,но
   при наличии паролей-приоритетов они могут быть прочитаны. Дополнительных
   связей между директориями нет. Большинство системных директорий UNIX
   используются для своих нужд. Один из них – корневой директорий, который
   является базой для всей структуры директорий и считая его отправной
   точкой можно найти размещение всех файлов. Файл не являющийся
   директорией можно встречать в различеых директориях, иногда под разными
   именами – это явление называется связыванием. Элемент директории,
   относящийся к одному файлу называется связью. Такие связи в UNIXе имеют
   равный приоритет.
      Понятие оболочка. Оболочка в Ю – это механизм взаимодействия между
   пользователем и системой. Т.е. это интерпретатор команд, который
   считывает, набираемые пользователем команды и запускает выполнение
   запрошенных системных функций. В отличие от ядра оболочка не
   располагается резидентно в основной памяти, а подкачивается туда по мере
   необходимости, т.е. она является прикладной программой и поэтому
   пользователи могут писать свою индивидуальную оболочку для своих
   прикладных програм (сценарий).
      Транспортеры и фильтры. Транспортер – это открытый файл, соединяющий
   два процесса. Информация записывается в транспортер на одном конце, файл
   можно считывать на другом.   Схемка.  Синхронизация, диспетчеризация и
   буферизация обеспечиваются UNIXом автоматически. Воспользовавшись
   транспортерами между парами процессов можно организовать конвейер,
   связав процессы друг с другом в линию. Оболочка обеспечивает конвейеры
   линейной структурой. Процессы могут быть взаимосвязаны и более сложно.
      Фильтр в сист. Ю – это программа с одним входным и одним выходным
   потоками. В этом смысле Ю оставляет большое число фильтров. (например:
   языковые процессоры в Ю не выводят листинга, их вывод направляется
   фильтру, который печатает все необходимые листинги в едином
   унифицированном формате.
      Многозадачность (мультипрограммирование). Пользователь может задать
   многозадачность, сопровадив к
12345След.
скачать работу

Лекции по Основам ВТ

 

Отправка СМС бесплатно

На правах рекламы


ZERO.kz
 
Модератор сайта RESURS.KZ