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

Операционные системы

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

                     Управление разделяемыми ресурсами.
       Здесь мы обозначим только проблему, потому что конкретные ее  решения
мы рассмотрим на примере ОС UNIX.
       Предположим,  есть  два   процесса,   которые   работают   на   общем
пространстве  оперативной  памяти.  При  этом  разделяемые   ресурсы   могут
работать в разных режимах, т.е. не исключена ситуация,  когда  два  процесса
реально находятся на разных машинах, но они связаны общем полем  оперативной
памяти. В этом случае возникает проблема с буферизацией  работы  с  памятью,
потому что на каждой  из  машин  есть  свои  механизмы  буферизации  чтения-
записи. Здесь  возникает  нехорошая  ситуация,  когда  состояние  физической
памяти  не  соответствует  реальному  ее  содержимому.  А  также   возникают
некоторые проблемы для ОС, работающей на двух машинах.
       Следующая проблема. Пусть есть  два  процесса,  которые  работают  на
одной  машине.  Должны  быть   определенные   средства,   которые   позволят
синхронизовать  доступ  к  разделяемой  памяти,  то  есть  позволят  создать
условия, при которых обмен каждого из  работающих  процессов  с  оперативной
памятью будет происходить корректно.  Это  значит,  что  при  каждом  чтении
информации  из  разделяемой  памяти  должно  быть  гарантированно,  что  все
пользователи, которые начали писать что-то в эту память,  уже  этот  процесс
завершили - должна быть синхронизация по обмену с разделяемой памятью.
       В действительности при решении  задач  зачастую  не  требуется  таких
разделяемых ресурсов,  как общая память, но  хотелось  бы,  чтобы  процессы,
которые функционируют одновременно, могли оказывать некоторое  влияние  друг
на друга. Влияние, аналогичное аппарату прерываний. Для реализации этого  во
многих ОС  имеются  средства  передачи   сигналов  между  процессами,  тогда
возникает некоторая программная эмуляция прерываний. Один процесс говорит  -
передай сигнал другому процессу.  В  другом  процессе  возникает  прерывание
выполнения   этого   процесса   и   передача   управления    на    некоторую
предопределенную функцию, которая должна обработать полученный  сигнал.  Это
третья функция ОС.
       Я обратил ваше внимание на такие функции ОС,  которые  влияют  на  ее
эксплуатационные свойства. Реально любая ОС также  содержит  огромный  набор
других функций, которые обеспечивают работу этой системы.
                                  Лекция №6

      На  прошлой  лекции  мы  говорили  о  том,   что   практически   любая
операционная система  обеспечивает буферизацию ввода/вывода. На самом  деле,
это одна из основных функций операционной  системы.  По  аналогии  борьбы  с
разными скоростями доступа к различным  компонентам  вычислительной  системы
операционная  система  вводит  в  своих  пределах  программную  буферизацию,
которая  также  решает  проблемы  сглаживания  времени  доступа  и  проблемы
синхронизации в целом (пример с  устройством  печати).  Сглаживание  проблем
доступа заключается в  том,  что  практически  каждая  операционная  система
имеет КЭШ-буфера, которые аккумулируют обращения  к  внешнему  запоминающему
устройству (ВЗУ) аналогично аппаратной буферизации при работе с  оперативной
памятью. Это  позволяет  существенно  оптимизировать  операционную  систему.
Признаком  наличия  такой   буферизации   является   требование   прекратить
выполнение операционной системы перед выключением машины. Например,  работая
с операционной системой MS-DOS, можно выключить  компьютер  в  любой  момент
времени, потому что такой буферизации в ней  нет.  В  операционных  системах
типа Windows и UNIX  считается  некорректным  просто  выключить  машину  при
работающей  системе,  в  этом  случае  есть  вероятность,   что   произойдет
некоторая потеря информации (так как, например, моменты заказа  на  обмен  и
непосредственно  обмена  далеко  не  совпадают).  Степень  этой  буферизации
определяет реальную эффективность системы. Когда на нашем  факультете  стали
появляться  Pentium-ы,  то  обнаружилось,  что  при  работе  с  Windows   95
практически нет качественного различия между тем,  работает  ли  система  на
486 процессоре или на  Pentium-е.  Это  говорит  о  том,  что  эффективность
системы не упирается в эффективность  работы  с  внешним  устройством.  Если
взять операционную систему UNIX, то  эта  разница  будет  заметна,  так  как
здесь быстродействие процессора сильнее влияет на качество  работы  системы,
нежели чем для Windows 95,  потому  что  в  системе  Windows  95  обменов  с
внешним носителем значительно больше за счет некоторой «тупости»  алгоритмов
буферизации работы с внешними устройствами.

                            2. Файловая система.
      Мы с вами  говорили,  что  каждая  из  операционных  систем  оперирует
некоторыми сущностями,  одной  из  которых  является  процесс.  Есть  вторая
сущность, которая также важна - это понятие файла. Файловая  система  -  это
компонент  операционной  системы,   обеспечивающий   организацию   создания,
хранения и доступа к именованным  наборам  данных.  Эти  именованные  наборы
данных называются файлами.

                          Основные свойства файлов
      1. Файл - это некий объект, имеющий имя, и позволяющий  оперировать  с
содержимым  файла  через   ссылку   на   это   имя.   Обычно   имя   -   это
последовательность некоторых символов, длина которой зависит  от  конкретной
операционной системы.
      2. Независимость файла от расположения. Для работы с конкретным файлом
не требуется иметь  информацию  о  местоположении  этого  файла  на  внешнем
устройстве.
      3. Набор функций ввода/вывода. Практически каждая операционная система
однозначно определяет набор функций, обеспечивающий обмен с файлом.  Обычно,
этот набор функций состоит из следующих запросов:
        1. Открыть файл для работы. Открыть можно  либо  уже  существующий,
           либо новый файл. Может возникнуть вопрос - зачем открывать файл?
           Почему нельзя сразу читать и писать в этот файл? На самом  деле,
           это есть  средство,  для  того  чтобы  централизованно  объявить
           операционной системе,  что  файл  будет  работать  с  конкретным
           процессом. А она уже из этих  сведений  может  принять  какие-то
           решения (например, блокирование доступа в этот файл  для  других
           процессов).
        2. Чтение/запись. Обычно обмен  с  файлами  может  организовываться
           некоторыми блоками данных. Блок  данных,  с  которым  происходит
           обмен, несет  двоякую  сущность.  С  одной  стороны,  для  любой
           вычислительной системы известны размеры блоков  данных,  которые
           наиболее  эффективны  для  обмена,  то  есть   это   программно-
           аппаратные размеры. С  другой  стороны,  эти  блоки  данных  при
           реальном  обмене  могут  варьироваться  достаточно   произвольно
           программистом. В функциях чтения/записи обычно фигурирует размер
           блока данных для обмена  и  количество  блоков  данных,  которые
           необходимо прочесть или записать. От  выбранного  размера  блока
           данных может зависеть  эффективность  реальных  обменов,  потому
           что, предположим  для  некоторой  машины  размером  эффективного
           блока данных является 256Кб, а вы  хотите  обмены  проводить  по
           128Кб,  и  вы  выполняете  два  обращения  для  прочтения  ваших
           логических блоков по 128Кб. Очень  вероятно,  что  вместо  того,
           чтобы за один обмен прочесть блок в 256Кб,  вы  обращаетесь  два
           раза к одному блоку и читаете сначала  одну  половину,  а  затем
           другую. Здесь есть  элементы  неэффективности,  хотя  они  могут
           сглаживаться  «умной»  операционной  системой,  а  если  она  не
           сглаживает, то это уже ваша вина.
        3. Управление файловым указателем. Практически  с  каждым  открытым
           файлом связывается понятие файлового указателя. Этот  указатель,
           по аналогии с регистром счетчика команд, в каждый момент времени
           показывает на следующий относительный адрес по файлу, с  которым
           можно произвести обмен. После обмена с данным  блоком  указатель
           переносится на позицию через  блок.  Для  организации  работы  с
           файлом  требуется  уметь  управлять  этим  указателем.   Имеется
           функция  управления  файловым  указателем,   которая   позволяет
           произвольно (в  пределах  доступного)  перемещать  указатель  по
           файлу. Указатель есть некоторая переменная, доступная программе,
           которая  связана  с  функцией  открытия  файла  (создающей   эту
           переменную).
        4.  Закрытие  файла.  Эта  операция  может   осуществляться   двумя
           функциями:                   1)   Закрыть  и  сохранить  текущее
           содержимое файла.                       2) Уничтожить файл.
           После закрытия файла все связи с ним прекращаются, и он приходит
 
12345След.
скачать работу

Операционные системы

 

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

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


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