Рефераты. Семейство операционных систем W2k. Обзор версий. Процессы и очереди

В пакет Windows 2000 Datacenter Server входит программа Windows Datacenter Program, которая может производить полную проверку решений с использованием теста совместимости оборудования HCT (Datacenter Hardware Compatibility Test), интегрировать поддержку оборудования и программного обеспечения с использованием Joint Support Queue, систематически обновлять систему при помощи Change Management Services, а так же проверять сертификацию приложений Datacenter с использованием теста Veritest.


Требования к оборудованию

·        Сервер. Многопроцессорная обработка с применением 8 или большего числа процессоров (поддерживается до 32 процессоров)

·        Процессор Intel Pentium III (Xeon) или более быстрый.

·        Не менее 256 МБ оперативной памяти (поддерживается минимум 128 МБ, максимум 64 ГБ).

·        Жесткий диск, содержащий 2,0 ГБ свободного места.

·        Монитор VGA или более высокого разрешения.

·        Убедитесь, что все системные компоненты содержатся в списке совместимого оборудования (Hardware Compatibility List) для системы Microsoft Windows 2000 Datacenter Server.



Процессы

Вторым по значимости понятием в операционной системе (ОС) является понятие процесса. Процессы - это последовательность операций при выполнении программы или ее части вместе с используемыми данными [1].

По времени развития процессы делятся на последовательные, параллельные и комбинированные. Для последних есть точки, в которых существуют оба процесса, и точки в которых существует только один процесс [6].

По временным характеристикам различают интерактивные, пакетные процессы и процессы реального времени. Время существования интерактивного процесса определяется реакцией ЭВМ на запрос обслуживания и составляет секунды. Процессы реального времени имеют гарантированное время окончания работы и время реакции мсек. Пакетные процессы запускаются один вслед за другим и время реакции часы и более [3].

По генеалогическому признаку различают порождающие и порожденные процессы.

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

По месту развития процессы делятся на внутренние (реализуются в центральном процессоре) и внешние (реализуются на внешних процессорах).

По принадлежности к операционной системе процессы бывают системные (исполняют программу из состава операционной системы) и пользовательские.

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

Распределение процессов между имеющимися ресурсами носит название планирование процессов.

Очереди

Одним из методов планирования процессов, ориентированных на эффективную загрузку ресурсов, является метод очередей ресурсов. Новые процессы находятся во входной очереди, часто называемой очередью работ – заданий.

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

Очередь - структура данных, работающая по принципу "первым пришел, первым ушел" (FIFO(First In, First Out)). Для нее определены две операции: добавление нового элемента в конец очереди ("Put") и получение (получение значения с последующим удалением) элемента из начала очереди ("Get"). Также возможна операция "Peek": получение значения первого элемента очереди без его удаления. Очередь реализуется на основе указателей (ссылок) на следующий элемент очереди [2].


Типы очередей

1)      Однонаправленные - это когда движешься от начала очереди в конец последовательно, то есть сначала выполняется первый процесс в очереди, потом второй, третий и так далее, при этом выполненный процесс снимается с очереди - это и есть классическая очередь.
При реализации такой очереди в программе хранится только указатель на первый объект очереди. Для доступа, например, к 5-ому элементу, необходимо пройти все предыдущие элементы очереди. При этом в самой записи (элементе очереди) хранится кроме полезной информации, еще и ссылка (указатель) на следующий элемент [8].

2)      Двунаправленные – это процессы выполняются не по порядку, то есть сначала может быть выполнен элемент из начала очереди, далее из конца, затем из середины и т.д. При реализации такой очереди обычно хранится уже две переменные - "голова" и "хвост" очереди. Хотя вполне можно ограничиться только "Головой". В самой записи находится уже два указателя: на предыдущий элемент и на следующий. Первый элемент очереди ссылки на предыдущий элемент не имеет (на Pascal ставиться "пустое значение указателя" - Nil), а последний элемент - ссылки на следующий не имеет и вместо него ставится Nil

 

3)      Многонаправленные – после выполнения какого-либо элемента из очереди, может начать выполняться не только предыдущий элемент или следующий, а вообще любой элемент из очереди. В реализации одного элемента такой очереди могут участвовать не два (как в предыдущем случае), а большее количество указателей.


Алгоритм программы, формирующей очередь

Для формирования очереди и работы с ней необходимо иметь три переменные типа указатель, первая из которых определяет начало очереди, вторая - конец очереди, третья – вспомогательная [2].

Описание компоненты очереди и переменных типа указатель представим следующим образом:

type

   PComp=^Comp;

   Comp=record

         D:T;

        pNext:PComp

        end;

  var

   pBegin, pEnd, pAux: PComp;


где pBegin - указатель начала очереди, pEnd - указатель конца очереди, pAux - вспомогательный указатель.

Тип Т определяет тип данных компоненты очереди.

Начальное формирование очереди выполняется следующими операторами (Рис. 1):


Рис. 1 Операторы, выполняющие начальное формирование очереди.

 

Добавление компоненты в очередь производится в конец очереди (Рис. 2):

Рис. 2 Добавление в конец очереди нового элемента.

 

Добавление последующих компонент производится аналогично.

Выборка компоненты из очереди осуществляется из начала очереди, одновременно компонента исключается из очереди. Пусть в памяти ЭВМ сформирована очередь, состоящая из трех элементов (Рис. 3):

Рис. 3 Очередь, состоящая из трех элементов.

Выборка компоненты выполняется следующими операторами (Рис. 4):

 D1:=pBegin^.D;

pBegin:=pBegin^.pNext;

Рис. 4  Выборка компоненты из очереди.

Текст программы, формирующей очередь

Приведенный в курсовой работе алгоритм реализован в программе, которая формирует очередь, добавляет в нее произвольное количество компонент, а затем читает все компоненты и выводит их на экран дисплея. В качестве данных взять строку символов. Ввод данных - с клавиатуры дисплея, признак конца ввода - строка символов END.(Программа написана на языке Turbo Pascal 7.0)

             


  Program QUEUE;

  uses Crt; {использование модуля crt}

  type         {создание новых типов переменных, которые потребуются в программе}

   Alfa= String[10];{строковый тип переменных}

   PComp= ^Comp;{указатель}

   Comp= record {запись}

          sD:Alfa;

          pNext:PComp{указатель следующего элемента в очереди}

         end;

  var {описание переменных, используемых в программе}

{глобальные переменные}

   pBegin, pEnd: PComp;{начало очереди, конец очереди, вспомогательный элемент}

   sC: Alfa;{присвоение sC строкового типа}

  Procedure CreateQueue(var pBegin,pEnd: PComp; var sC: Alfa);{процедура создания очереди, в скобках указаны входные и выходные переменные}

   begin

    New(pBegin);{создание нового структурного типа начала очереди, встроенная функция Pascal}

    pBegin^.pNext:=NIL;{далее идет начальное формирование очереди}

    pBegin^.sD:=sC;

    pEnd:=pBegin

   end;

  Procedure AddQueue(var pEnd:PComp; var sC:Alfa);{процедура добавления элемента в очередь}

   var pAux: PComp;{описание локальных элементов процедуры}

   begin

    New(pAux);{создание нового указателя}

    pAux^.pNext:=NIL;{постановка указателя на последний элемент очереди}

    pEnd^.pNext:=pAux;{постановка указателя в конец последнего элемента очереди}

    pEnd:=pAux; {установка указателя в положение ввода нового элемента очереди}

    pEnd^.sD:=sC{добавление элемента в конец очереди}

   end;

  Procedure DelQueue(var pBegin: PComp; var sC: Alfa); {удаление очереди}

{далее происходит выборка элемента очереди и его последующее удаление из очереди}

   begin

    sC:=pBegin^.sD;

    pBegin:=pBegin^.pNext

   end;

  begin

   Clrscr;{очищение экрана, внутренняя функция модуля crt}

   writeln(' ВВЕДИ СТРОКУ '); {вывод на экран запроса к пользователю}

   readln(sC); {считывание ответа пользователя}

   CreateQueue(pBegin,pEnd,sC); {процедура создания очереди}

{далее следует цикл добавления элементов в очередь до тех пор пока пользователь не введет команду остановки}

   repeat

    writeln(' ВВЕДИ СТРОКУ ');

    readln(sC);

    AddQueue(pEnd,sC)

   until sC='END';

   writeln(' ***** ВЫВОД РЕЗУЛЬТАТОВ *****'); {вывод результатов}

{далее следует последовательное удаление элементов из очереди до тех пор пока очередь не опустеет}

   repeat

    DelQueue(pBegin,sC);

    writeln(sC);

   until pBegin=NIL

  end.


Program Lifo;

Type

Ptr = ^Sp;

Sp = Record

Buk:Char;

Sl:Ptr;

End;

Var

Pp,Np,Tp:Ptr; {Последующий, начальный и текущий указатели}

C:Char;

Begin

{Начало очереди}

Pp:=Nil;          { очередь пустая}

Writeln (` Введите элемент очереди`);

Readln(C);

While C<>`*`do

Begin

{Выделение памяти для текущего адреса}

New (Tp);

Tp^.Buk:=C;

{Сдвигаем  указатель}

Tp^.Sl:=Pp;    { Ссылки из последнего элемента и}

Pp:=Tp;          { на последний очереди}

Writeln (` Введите элемент очереди`);

Readln(C);

End;

{Теперь Pp  и Tp- cсылка на последний, (верхний), элемент,}

{ Выборка с конца очереди}

Tp:=Pp; { Tекущий указатель = ссылке на первый элемент }

While Tp <> Nil do

Begin

Write (Tp^.Buk);        { вывод информационного Элемента }

Tp:=Tp^.Sl;    { переход к следующему элементу }

End;

Writeln(`Конец`);

End.




ЗАКЛЮЧЕНИЕ

Хотя выпуск новых версий ОС подобных Windows 2000 Pro всегда влечет за собой немало проблем, разработчики Microsoft изначально сумели предоставить пользователям те возможности, которых они ждали, реализовав все нововведения достаточно логично.

Вместе с тем, необходимо понимать, что Windows 2000 Pro вовсе не является универсальной операционной системой. Например, любителям игр лучше иметь дело с Windows 98, которая совместима с куда более широким спектром программного обеспечения и оборудования, а также устаревших устройств. Что же касается Windows 2000 Pro, то она отлично проявляет себя в таких недоступных для Windows 98 областях, как защита информации, надежность и масштабируемость.

Многие специалисты считают Windows 2000 Pro лучшей настольной операционной системой для предпринимателей, мобильных пользователей, профессиональных дизайнеров и разработчиков программного обеспечения. И именно поэтому настоятельно рекомендуют всем, кто располагает необходимым оборудованием, как можно скорее самим оценить всю мощь этой изящно построенной и функционально богатой операционной среды [10].



Использованная литература:

1)     Дорот В.Л., Новиков Ф.А. Толковый словарь современной компьютерной лексики. – СПб.: БХВ-Петербург, 2002.

2)     Фаронов В. В. TurboPascal 7.0. - М.:Нолидж, 2003.

3)     Партыка Т.Л., Попов И.И. Операционные системы, среды и оболочки: Учебное пособие. – М.:ФОРУМ, 2005.

4)     Уильям Р. Станек. Microsoft Windows 2000. Справочник администратора. – М.: Русская Редакция, 2004.

5)     Информатика. Базовый курс / Под редакцией С. В. Симоновича. - СПб.: Питер, 2003.

6)     курс лекций по предмету «Операционные системы», Журавлева Е. М., РГСУ,2005.

7)     #"#">#"#">#"#">http://www.win2000mag.net


Страницы: 1, 2, 3, 4, 5



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.