Начальная

Windows Commander

Far
WinNavigator
Frigate
Norton Commander
WinNC
Dos Navigator
Servant Salamander
Turbo Browser

Winamp, Skins, Plugins
Необходимые Утилиты
Текстовые редакторы
Юмор

File managers and best utilites

Реферат Процесс в операционной системе. Процессы в операционных системах реферат


Реферат Процесс в операционной системе

Университет Российской Академии Образования, факультет информационных технологийРеферат

на тему:

«Процесс в операционной системе»

выполнил: Белоусов Антон,

студент 5-го курсаМосква, 2010

Процесс в операционной системе

Необходимость процессов и потоков

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

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

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

Процесс и поток – понятия и свойства

Любая работа вычислительной системы заключается в выполнении некоторого программного кода. Чтобы этот программный код мог быть выполнен, его необходимо загрузить в оперативную память, возможно, выделить некоторое место на диске для хранения данных, предоставить доступ к устройствам ввода-вывода, например к последовательному порту для получения данных по подключенному к этому порту модему; и т. д. В ходе выполнения программе может также понадобиться доступ к информационным ресурсам, например файлам, портам TCP/UPD, семафорам. И для выполнения программы необходимо предоставление ей процессорного времени, то есть времени, в течение которого процессор выполняет коды данной программы.

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

В простейшем случае процесс состоит из одного потока, и именно таким образом трактовалось понятие «процесс» до середины 80-х годов (например, в ранних версиях UNIX) и в таком же виде оно сохранилось в некоторых современных ОС. В таких системах понятие «поток» полностью поглощается понятием «процесс», то есть остается только одна единица работы и потребления ресурсов — процесс. Мультипрограммирование осуществляется в таких ОС на уровне процессов.

Для того чтобы процессы не могли вмешаться в распределение ресурсов, а также не могли повредить коды и данные друг друга, важнейшей задачей ОС является изоляция одного процесса от другого. Для этого операционная система обеспечивает каждый процесс отдельным виртуальным адресным пространством, так что ни один процесс не может получить прямого доступа к командам и данным другого процесса.

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

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

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

Потоки возникли в операционных системах как средство распараллеливания вычислений. Конечно, задача распараллеливания вычислений в рамках одного приложения может быть решена и традиционными способами.

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

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

Поэтому в операционной системе наряду с процессами нужен другой механизм распараллеливания вычислений, который учитывал бы тесные связи между отдельными ветвями вычислений одного и того же приложения. Для этих целей современные ОС предлагают механизм многопоточной обработки (multithreading). При этом вводится новая единица работы — поток выполнения, а понятие «процесс» в значительной степени меняет смысл. Понятию «поток» соответствует последовательный переход процессора от одной команды программы к другой. ОС распределяет процессорное время между потоками. Процессу ОС назначает адресное пространство и набор ресурсов, которые совместно используются всеми его потоками.

Итоговые определения

Для систем, использующих обе концепции – и потока, и процесса:

Процесс – единица активности операционной системы, создаваемая при запуске программы на выполнение, и обладающая свойствами:

·       Отдельное виртуальное адресное пространство

·       Код выполняемой программы, загруженный в адресное пространство процесса

·       Начальные параметры запуска – аргументы запуска, рабочую папку и т.п.

·       Набор привилегий на доступ к системным ресурсам и вызовам

·       Текущее состояние, включая статус процесса

·       Набор потоков, выполняющих код программы в адресном пространстве процесса, имеющих доступ к общим ресурсам процесса

Поток – единица активности операционной системы, создаваемая при запуске процесса системой или программно из другого потока того же процесса,  обладающая свойствами:

·       Счетчик команд – указатель на текущую выполняемую команду

·       Регистры – значения регистров процессора в текущий момент времени

·       Стек

·       Состояние

Для конкретной операционной системы определение процесса может быть лаконичнее, так как опирается на конкретные механизмы этой системы, например:

Unix использует два системно- ориентированных определения процесса:

Процесс – объект, зарегистрированный в таблице процессов ОС

Процесс – объект, порожденный системным вызовом fork()

Для систем, не поддерживающих параллельное выполнение средствами потоков, каждый процесс фактически имеет один поток, и понятия потока и процесса объединены.

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

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

Итак, мультипрограммирование более эффективно на уровне потоков, а не процессов. Каждый поток имеет собственный счетчик команд и стек. Задача, оформленная в виде нескольких потоков в рамках одного процесса, может быть выполнена быстрее за счет псевдопараллельного (или параллельного в мультипроцессорной системе) выполнения ее отдельных частей. Например, если электронная таблица была разработана с учетом возможностей многопоточной обработки, то пользователь может запросить пересчет своего рабочего листа и одновременно продолжать заполнять таблицу. Особенно эффективно можно использовать многопоточность для выполнения распределенных приложений, например, многопоточный сервер может параллельно выполнять запросы сразу нескольких клиентов.

Использование потоков связано не только со стремлением повысить производительность системы за счет параллельных вычислений, но и с целью создания более читабельных, логичных программ. Введение нескольких потоков выполнения упрощает программирование. Например, в задачах типа «писатель-читатель» один поток выполняет запись в буфер, а другой считывает записи из него. Поскольку они разделяют общий буфер, не стоит их делать отдельными процессами. Другой пример использования потоков — управление сигналами, такими как прерывание с клавиатуры (del или break). Вместо обработки сигнала прерывания один поток назначается для постоянного ожидания поступления сигналов. Таким образом, использование потоков может сократить необходимость в прерываниях пользовательского уровня. В этих примерах не столь важно параллельное выполнение, сколь важна ясность программы.

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

Создание процессов и потоков

Создать процесс — это прежде всего означает создать описатель процесса, в качестве которого выступает одна или несколько информационных структур, содержащих все сведения о процессе,, необходимые операционной системе для управления им. В число таких сведений могут входить, например, идентификатор процесса, данные о расположении в памяти исполняемого модуля, степень привилегированности процесса (приоритет и права доступа) и т. п. Примерами описателей процесса являются блок управления задачей (ТСВ — Task Control Block) в OS/360, управляющий блок процесса (РСВ — Process Control Block) в OS/2, дескриптор процесса в UNIX, объект-процесс (object-process) в Windows NT.

Создание описателя процесса – это появление в системе еще одного претендента на вычислительные ресурсы. Начиная с этого момента при распределении ресурсов ОС должна принимать во внимание потребности нового процесса.

Создание процесса включает загрузку кодов и данных исполняемой программы данного процесса с диска в оперативную память. Для этого ОС должна обнаружить местоположение такой программы на диске, перераспределить оперативную память и выделить память исполняемой программе нового процесса. Затем необходимо считать программу в выделенные для нее участки памяти и, возможно, изменить параметры программы в зависимости от размещения в памяти. В системах с виртуальной памятью в начальный момент может загружаться только часть кодов и данных процесса, с тем чтобы «подкачивать» остальные по мере необходимости. Существуют системы, в которых на этапе создания процесса не требуется непременно загружать коды и данные в оперативную память, вместо этого исполняемый модуль копируется из того каталога файловой системы, в котором он изначально находился, в область подкачки — специальную область диска, отведенную для хранения кодов и данных процессов. При выполнении всех этих действий подсистема управления процессами тесно взаимодействует с подсистемой управления памятью и файловой системой.

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

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

Создание процессов на примере

В качестве примера возьмем создание процессов в операционной системе UNIX System V Release 4. В этой системе потоки не поддерживаются, в качестве единицы управления и единицы потребления ресурсов выступает процесс.

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

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

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

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

После выполнения системного вызова fork оба процесса продолжают выполнение с одной и той же точки. Чтобы процесс мог опознать, является он родительским процессом или процессом-потомком, системный вызов fork возвращает в качестве своего значения в породивший процесс идентификатор порожденного процесса, а в порожденный процесс — NULL. Типичное разветвление на языке С записывается так:

if( -fork() ) { действия родительского процесса }

else { действия порожденного процесса }

Идентификатор потомка может быть присвоен переменной, входящей в контекст родительского процесса. Так как контекст процесса наследуется его потомками, то потомки могут узнать идентификаторы своих «старших братьев», таким образом сумма знаний наследуется при порождении и может быть распространена между родственными процессами. На независимости идентификатора процесса от выполняемой процессом программы построен механизм, позволяющий процессу перейти к выполнению другой программы с помощью системного вызова ехес.

Таким образом, в UNIX порождение нового процесса происходит в два этапа — сначала создается копия процесса-родителя, затем у нового процесса производится замена кодового сегмента на заданный.

Вновь созданному процессу операционная система присваивает целочисленный идентификатор, уникальный на весь период функционирования системы.

Завершение процесса

В большинстве операционных систем есть одни и те же варианты завершения процесса, различающиеся деталями реализации:

·       Нормальное завершение процесса: завершение при достижении конца основной функции программы (разновидности main), или при вызове системной функции выхода (например, exit в unix).

·       Принудительное завершение процесса: производится внешним процессом с помощью вызова соответствующей системной функции (например, системного вызова kill в unix).

Результат завершения процесса

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

В unix, если процесс-потомок завершает свою работу прежде процесса-предка, и процесс-предок явно не указал, что он не заинтересован в получении информации о статусе завершения процесса-потомка, то завершившийся процесс-потомок не исчезает из системы окончательно, а остается в состоянии «закончил исполнение» либо до завершения процесса-предка, либо до того момента, когда предок проверит завершение потомка.

Резюме

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

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

1.    Э.Таненбаум, А.Вудхалл. Операционные системы. Разработка и реализация. 3-е издание.

2.    В.Г.Олифер, Н.А.Олифер. Сетевые операционные системы. Учебник для ВУЗов.

3.    И.В.Машечкин, А.Н.Терёхин. Операционные системы. Лекционный курс факультета ВМиК МГУ им. М.В.Ломоносова.

bukvasha.ru

Средства управления процессами в ОС Windows - Реферат - Средства управления процессами в ОС Windows

Реферат - Средства управления процессами в ОС Windowsскачать (131.5 kb.)

Доступные файлы (1):

содержание

1.doc

Реклама MarketGid: Кафедра информатики

Реферат

    Средства управления процессами в ОС Windows

Содержание

I. Операционная система как система управления ресурсами и процессами

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

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

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

В многозадачной (многопроцессной) системе процесс может находиться в одном из трех основных состояний:

ВЫПОЛНЕНИЕ - активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором;

ОЖИДАНИЕ - пассивное состояние процесса, процесс заблокирован, он не может выполняться по своим внутренним причинам, он ждет осуществления некоторого события, например, завершения операции ввода-вывода, получения сообщения от другого процесса, освобождения какого-либо необходимого ему ресурса;

ГОТОВНОСТЬ - также пассивное состояние процесса, но в этом случае процесс заблокирован в связи с внешними по отношению к нему обстоятельствами: процесс имеет все требуемые для него ресурсы, он готов выполняться, однако процессор занят выполнением другого процесса.

В ходе жизненного цикла каждый процесс переходит из одного состояния в другое в соответствии с алгоритмом планирования процессов, реализуемым в данной операционной системе. Типичный граф состояний процесса показан на рисунке 1.

В состоянии ВЫПОЛНЕНИЕ в однопроцессорной системе может находиться только один процесс, а в каждом из состояний ОЖИДАНИЕ и ГОТОВНОСТЬ - несколько процессов, эти процессы образуют очереди соответственно ожидающих и готовых процессов. Жизненный цикл процесса начинается с состояния ГОТОВНОСТЬ, когда процесс готов к выполнению и ждет своей очереди. При активизации процесс переходит в состояние ВЫПОЛНЕНИЕ и находится в нем до тех пор, пока либо он сам освободит процессор, перейдя в состояние ОЖИДАНИЯ какого-нибудь события, либо будет насильно «вытеснен» из процессора, например, вследствие исчерпания отведенного данному процессу кванта процессорного времени. В последнем случае процесс возвращается в состояние ГОТОВНОСТЬ. В это же состояние процесс переходит из состояния ОЖИДАНИЕ, после того, как ожидаемое событие произойдет.

^

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

^

Процесс в ОС Windows состоит из следующих компонентов:

  • Структура данных, содержащая всю информацию о процессе, в том числе список открытых дескрипторов различных системных ресурсов, уникальный идентификатор процесса, различную статистическую информацию и т.д.;
  • Адресное пространство - диапазон адресов виртуальной памяти, которым может пользоваться процесс;
  • Исполняемая программа и данные, проецируемые на виртуальное адресное пространство процесса.
Новые процессы создаются при помощи функции Win32 API (Application Programming Interface – интерфейс прикладного программирования, или набор функций, которые операционная система предоставляет программисту) CreateProcessWithLogonW и происходит в несколько этапов:
  • открывается файл образа (ЕХЕ), который будет выполняться в процессе. Если исполняемый файл не является Win32 приложением, то ищется образ поддержки (support image) для запуска этой программы. Например, если исполняется файл с расширением .bat, запускается cmd.exe и т.п.
  • Создается объект Win32 «процесс».
  • Создается первичный поток (стек, контекст и объект «поток»).
  • Подсистема Win32 уведомляется о создании нового процесса и потока.
  • Начинается выполнение первичного потока.
  • В контексте нового процесса и потока инициализируется адресное пространство (например, загружаются требуемые DLL) и начинается выполнение программы.

У этой функции 10 параметров, каждый из которых может задаваться в различных вариантах:

1. Указатель на имя исполняемого файла.

2. Сама командная строка (непроанализированная).

3. Указатель на описатель защиты процесса.

4. Указатель на описатель защиты для начального потока.

5. Бит, управляющий наследованием дескрипторов.

6. Разнообразные флаги (например, режим ошибки, приоритет, отладка, консоли).

7. Указатель на строки окружения.

8. Указатель на имя текущего рабочего каталога нового процесса.

9. Указатель на структуру, описывающую начальное окно на экране.

10. Указатель на структуру, возвращающую вызывающему процессу 18 значений.Создание потоков

Первичный поток создается автоматически при создании процесса. Остальные потоки создаются функциями CreateRemoteThread. Завершение потоков

Поток завершается если

- Функция потока возвращает управление.

- Поток самоуничтожается, вызвав ExitThread.

- Другой поток данного или стороннего процесса вызывает TerminateThread.

- Завершается процесс, содержащий данный поток.

Завершение процессов

Функция ExitProcess – завершить текущий процесс и все его потоки

Процесс завершается если:

- Входная функция первичного потока возвратила управление.

- Один из потоков процесса вызвал функцию ExitProcess.

- Поток другого процесса вызвал функцию TerminateProcess.

Когда процесс завершается, все User- и GDI-объекты, созданные процессом, уничтожаются (если их не использует другой процесс), адресное пространство процесса уничтожается.

^

Task Manager (Диспетчер задач) - это один из самых мощных и удобных инструментов в WinNT/2000/XP/2003/Vista, предназначенных для управления процессами. Вызывается он либо Ctrl+Shift+Esc, либо Ctrl+Alt+Del, либо выбором в меню, появляющимся после нажатия правой кнопкой на панели задач. C помощью этой утилиты можно в режиме реального времени отслеживать выполняющиеся приложения и запущенные процессы, оценивать загруженность системных ресурсов компьютера и использование сети.

Открывшееся окно содержит четыре закладки, отвечающие четырем видам активности, которые отслеживает ^ (использование системных ресурсов) и Сеть.

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

Если на компьютере не запущены никакие пользовательские программы, то ^  должен содержать только служебные процессы операционной системы, установленной на компьютере.

Для каждого процесса выводятся его параметры: имя образа (как правило совпадает с именем запускаемого файла), имя пользователя (от чьего имени был запущен процесс), загрузка этим процессом центрального процессора (колонка ЦП) и объем занимаемой им оперативной памяти.

В ряде случаев может потребоваться вручную завершить некий процесс. Это можно сделать с помощью кнопки ^ . Кроме этого, с любым из этих процессов можно произвести вполне определённые действия. Для этого надо просто нажать на нём правой кнопкой мыши, появится контекстное меню, через которое можно закончить, «убить» процесс (Завершить процесс), можно убить сам процесс, и все остальные, которые он «породил» (Завершить дерево процессов). Можно выставить приоритет процессу, от высшего (Реального времени) до самого низкого (Низкий). Если на машине установлено два процессора и многопроцессорное ядро, то в этом меню появляется ещё один пункт - Задать соответствие, который позволяет перевести процесс на другой процессор - Cpu 0, Cpu1, и так далее до Cpu31.

Столбец Имя пользователя – показывает для каждого процесса данные о том, каким пользователем он запущен. Процессы с именами пользователя SYSTEM, LOCAL SERVICE, NETWORK SERVICE запускаются операционной системой и являются самыми важными (они заботятся о корректном распознавании устройств, отвечают за работу брандмауэра и управляют передачей данных через Интернет). Другие процессы отображаются под именем пользователя, зашедшего в систему. Это означает, что они относятся к программе, которая была запущена этим пользователем, например к текстовому процессору Word или ICQ-клиенту.

Столбец ЦП показывает, насколько процессор загружен конкретным процессом. Нормальной величиной для большинства процессов является загрузка менее 20%. Если же процессы загружают ЦП на 50–99%, то за ними скрываются или очень ресурсоемкие программы или программы-вредители.

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

Следующая закладка Диспетчера - Приложения, позволяет просмотреть список работающих приложений, и «убить» любое из них. Для этого нужно кликнуть по кнопке Снять задачу. Диспетчер позволяет не только «убивать» приложения, он может также запускать новые приложения: Файл -> Новая задача (Выполнить..).

Третья вкладка Быстродействие. На этой закладке показывается информация о загрузке процессора(ов) в реальном времени, показывается загрузка физической памяти, причём показано сколько занято/свободно оперативной памяти. Кроме этого, там же даётся другая дополнительная информация, например, количество нитей и процессов, исполняемых сейчас на машине.

Литература

  1. Андреев А.Г. и др. Microsoft Windows XP: Home Edition и Professional. Русские версии/ Под общ. ред. А.Н.Чекмарева. –СПб.: БХВ-Петербург,2003
  2. Таненбаум Э. Современные операционные системы. 2-е изд. – СПб.: Питер, 2002.
  3. Фигурнов В.Э. IBM PC для пользователя// - Уфа: НПО «Информатика и компьютеры», 1993.
Скачать файл (131.5 kb.)

gendocs.ru

Процесс в операционной системе

Университет Российской Академии Образования, факультет информационных технологийРеферат

на тему:

«Процесс в операционной системе»

выполнил: Белоусов Антон,

студент 5-го курсаМосква, 2010

Необходимость процессов и потоков

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

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

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

Процесс и поток – понятия и свойства

Любая работа вычислительной системы заключается в выполнении некоторого программного кода. Чтобы этот программный код мог быть выполнен, его необходимо загрузить в оперативную память, возможно, выделить некоторое место на диске для хранения данных, предоставить доступ к устройствам ввода-вывода, например к последовательному порту для получения данных по подключенному к этому порту модему; и т. д. В ходе выполнения программе может также понадобиться доступ к информационным ресурсам, например файлам, портам TCP/UPD, семафорам. И для выполнения программы необходимо предоставление ей процессорного времени, то есть времени, в течение которого процессор выполняет коды данной программы.

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

В простейшем случае процесс состоит из одного потока, и именно таким образом трактовалось понятие «процесс» до середины 80-х годов (например, в ранних версиях UNIX) и в таком же виде оно сохранилось в некоторых современных ОС. В таких системах понятие «поток» полностью поглощается понятием «процесс», то есть остается только одна единица работы и потребления ресурсов — процесс. Мультипрограммирование осуществляется в таких ОС на уровне процессов.

Для того чтобы процессы не могли вмешаться в распределение ресурсов, а также не могли повредить коды и данные друг друга, важнейшей задачей ОС является изоляция одного процесса от другого. Для этого операционная система обеспечивает каждый процесс отдельным виртуальным адресным пространством, так что ни один процесс не может получить прямого доступа к командам и данным другого процесса.

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

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

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

Потоки возникли в операционных системах как средство распараллеливания вычислений. Конечно, задача распараллеливания вычислений в рамках одного приложения может быть решена и традиционными способами.

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

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

Поэтому в операционной системе наряду с процессами нужен другой механизм распараллеливания вычислений, который учитывал бы тесные связи между отдельными ветвями вычислений одного и того же приложения. Для этих целей современные ОС предлагают механизм многопоточной обработки (multithreading). При этом вводится новая единица работы — поток выполнения, а понятие «процесс» в значительной степени меняет смысл. Понятию «поток» соответствует последовательный переход процессора от одной команды программы к другой. ОС распределяет процессорное время между потоками. Процессу ОС назначает адресное пространство и набор ресурсов, которые совместно используются всеми его потоками.

Итоговые определения

Для систем, использующих обе концепции – и потока, и процесса:

Процесс – единица активности операционной системы, создаваемая при запуске программы на выполнение, и обладающая свойствами:

·       Отдельное виртуальное адресное пространство

·       Код выполняемой программы, загруженный в адресное пространство процесса

·       Начальные параметры запуска – аргументы запуска, рабочую папку и т.п.

·       Набор привилегий на доступ к системным ресурсам и вызовам

·       Текущее состояние, включая статус процесса

·       Набор потоков, выполняющих код программы в адресном пространстве процесса, имеющих доступ к общим ресурсам процесса

Поток – единица активности операционной системы, создаваемая при запуске процесса системой или программно из другого потока того же процесса,  обладающая свойствами:

·       Счетчик команд – указатель на текущую выполняемую команду

·       Регистры – значения регистров процессора в текущий момент времени

·       Стек

·       Состояние

Для конкретной операционной системы определение процесса может быть лаконичнее, так как опирается на конкретные механизмы этой системы, например:

Unix использует два системно- ориентированных определения процесса:

Процесс – объект, зарегистрированный в таблице процессов ОС

Процесс – объект, порожденный системным вызовом fork()

Для систем, не поддерживающих параллельное выполнение средствами потоков, каждый процесс фактически имеет один поток, и понятия потока и процесса объединены.

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

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

Итак, мультипрограммирование более эффективно на уровне потоков, а не процессов. Каждый поток имеет собственный счетчик команд и стек. Задача, оформленная в виде нескольких потоков в рамках одного процесса, может быть выполнена быстрее за счет псевдопараллельного (или параллельного в мультипроцессорной системе) выполнения ее отдельных частей. Например, если электронная таблица была разработана с учетом возможностей многопоточной обработки, то пользователь может запросить пересчет своего рабочего листа и одновременно продолжать заполнять таблицу. Особенно эффективно можно использовать многопоточность для выполнения распределенных приложений, например, многопоточный сервер может параллельно выполнять запросы сразу нескольких клиентов.

Использование потоков связано не только со стремлением повысить производительность системы за счет параллельных вычислений, но и с целью создания более читабельных, логичных программ. Введение нескольких потоков выполнения упрощает программирование. Например, в задачах типа «писатель-читатель» один поток выполняет запись в буфер, а другой считывает записи из него. Поскольку они разделяют общий буфер, не стоит их делать отдельными процессами. Другой пример использования потоков — управление сигналами, такими как прерывание с клавиатуры (del или break). Вместо обработки сигнала прерывания один поток назначается для постоянного ожидания поступления сигналов. Таким образом, использование потоков может сократить необходимость в прерываниях пользовательского уровня. В этих примерах не столь важно параллельное выполнение, сколь важна ясность программы.

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

Создание процессов и потоков

Создать процесс — это прежде всего означает создать описатель процесса, в качестве которого выступает одна или несколько информационных структур, содержащих все сведения о процессе,, необходимые операционной системе для управления им. В число таких сведений могут входить, например, идентификатор процесса, данные о расположении в памяти исполняемого модуля, степень привилегированности процесса (приоритет и права доступа) и т. п. Примерами описателей процесса являются блок управления задачей (ТСВ — Task Control Block) в OS/360, управляющий блок процесса (РСВ — Process Control Block) в OS/2, дескриптор процесса в UNIX, объект-процесс (object-process) в Windows NT.

Создание описателя процесса – это появление в системе еще одного претендента на вычислительные ресурсы. Начиная с этого момента при распределении ресурсов ОС должна принимать во внимание потребности нового процесса.

Создание процесса включает загрузку кодов и данных исполняемой программы данного процесса с диска в оперативную память. Для этого ОС должна обнаружить местоположение такой программы на диске, перераспределить оперативную память и выделить память исполняемой программе нового процесса. Затем необходимо считать программу в выделенные для нее участки памяти и, возможно, изменить параметры программы в зависимости от размещения в памяти. В системах с виртуальной памятью в начальный момент может загружаться только часть кодов и данных процесса, с тем чтобы «подкачивать» остальные по мере необходимости. Существуют системы, в которых на этапе создания процесса не требуется непременно загружать коды и данные в оперативную память, вместо этого исполняемый модуль копируется из того каталога файловой системы, в котором он изначально находился, в область подкачки — специальную область диска, отведенную для хранения кодов и данных процессов. При выполнении всех этих действий подсистема управления процессами тесно взаимодействует с подсистемой управления памятью и файловой системой.

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

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

Создание процессов на примере

В качестве примера возьмем создание процессов в операционной системе UNIX System V Release 4. В этой системе потоки не поддерживаются, в качестве единицы управления и единицы потребления ресурсов выступает процесс.

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

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

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

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

После выполнения системного вызова fork оба процесса продолжают выполнение с одной и той же точки. Чтобы процесс мог опознать, является он родительским процессом или процессом-потомком, системный вызов fork возвращает в качестве своего значения в породивший процесс идентификатор порожденного процесса, а в порожденный процесс — NULL. Типичное разветвление на языке С записывается так:

if( -fork() ) { действия родительского процесса }

else { действия порожденного процесса }

Идентификатор потомка может быть присвоен переменной, входящей в контекст родительского процесса. Так как контекст процесса наследуется его потомками, то потомки могут узнать идентификаторы своих «старших братьев», таким образом сумма знаний наследуется при порождении и может быть распространена между родственными процессами. На независимости идентификатора процесса от выполняемой процессом программы построен механизм, позволяющий процессу перейти к выполнению другой программы с помощью системного вызова ехес.

Таким образом, в UNIX порождение нового процесса происходит в два этапа — сначала создается копия процесса-родителя, затем у нового процесса производится замена кодового сегмента на заданный.

Вновь созданному процессу операционная система присваивает целочисленный идентификатор, уникальный на весь период функционирования системы.

Завершение процесса

В большинстве операционных систем есть одни и те же варианты завершения процесса, различающиеся деталями реализации:

·       Нормальное завершение процесса: завершение при достижении конца основной функции программы (разновидности main), или при вызове системной функции выхода (например, exit в unix).

·       Принудительное завершение процесса: производится внешним процессом с помощью вызова соответствующей системной функции (например, системного вызова kill в unix).

Результат завершения процесса

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

В unix, если процесс-потомок завершает свою работу прежде процесса-предка, и процесс-предок явно не указал, что он не заинтересован в получении информации о статусе завершения процесса-потомка, то завершившийся процесс-потомок не исчезает из системы окончательно, а остается в состоянии «закончил исполнение» либо до завершения процесса-предка, либо до того момента, когда предок проверит завершение потомка.

Резюме

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

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

1.    Э.Таненбаум, А.Вудхалл. Операционные системы. Разработка и реализация. 3-е издание.

2.    В.Г.Олифер, Н.А.Олифер. Сетевые операционные системы. Учебник для ВУЗов.

3.    И.В.Машечкин, А.Н.Терёхин. Операционные системы. Лекционный курс факультета ВМиК МГУ им. М.В.Ломоносова.

www.coolreferat.com

Реферат - Операционные системы - Информационные технологии

Общая характеристика операционных систем современных ПВЭМ

Здесь я хочу представить наиболее распространенные операционные системы, которыми мы пользуемся в повседневной работе: Dos, Windows 3.+, Windows 95.

Дисковая Операционная Система (DOS) Операционная система DOS состоит из следующих частей: Базовая система ввода-вывода (BIOS), находящаяся в постоянной памяти (постоянном запоминающем устройстве, ПЗУ) компьютера. Эта часть операционной системы является “встроенной” в компьютер. Ее назначение состоит в выполнении наиболее простых и универсальных услуг операционной системы, связанных с осуществлением ввода-вывода. Базовая система ввода-вывода содержит также тест функционирования компьютера, проверяющий работу памяти и устройств компьютера при включении его электропитания. Кроме того, базовая система ввода-вывода содержит программу вызова загрузчика операционной системы. Загрузчик операционной системы — это очень короткая программа, находящаяся в первом секторе каждой дискеты с операционной системой DOS. Функция этой программы заключается в считывании в память еще двух модулей операционной системы, которые и завершают процесс загрузки DOS. Па жестком диске (винчестере) загрузчик операционной системы состоит из двух частей. Это связано с тем, что жесткий диск может быть разбит на несколько разделов (логических дисков). Первая часть загрузчика находится в первом секторе жесткого диска, она выбирает с какого из разделов жесткого диска следует продолжить загрузи Вторая часть загрузчика находится в первом секторе этого раздел она считывает в память модули DOS и передает им управление. Дисковые файлы I0.SYS и MSDOS.SYS (они могут называться по-другому, например IВМВ.СОМ и IBMDOS.COM для PC DO; URBIOS.SYS и DRDOS.SYS для DR DOS, — названия меняются в зависимости от версии операционной системы). Они загружаются в пaмять загрузчиком операционной системы и остаются в памяти компьютера постоянно. Файл I0.SYS представляет собой дополнение к базoвой системе ввода-вывода в ПЗУ. Файл MSDOS.SYS реализует основные высокоуровневые услуги DOS. Командный процессор DOS обрабатывает команды, вводимые пользователем. Командный процессор находится в дисковом файл! COMMAND.СОМ на диске, с которого загружается операционная система. Некоторые команды пользователя, например Type, Dir или Сор) командный процессор выполняет сам. Такие команды называются внутренними. Для выполнения остальных (внешних) команд пользователя командный процессор ищет на дисках программу с соответствующим именем и если находит ее, то загружает в память и передает eй управление. По окончании работы программы командный процессор удаляет программу из памяти и выводит сообщение о готовности к выполнению команд (приглашение DOS). Внешние команды DOS — это программы, поставляемые вместе с операционной системой в виде отдельных файлов. Эти программы выполняют действия обслуживающего характера, например форматирование дискет, проверку дисков и т.д. Драйверы устройств — это специальные программы, которые дополняют систему ввода-вывода DOS и обеспечивают обслуживание новых или нестандартное использование имеющихся устройств. Например, с помощью драйверов возможна работа с “электронным диском” т.е. частью памяти компьютера, с которой можно работать так же, как с диском. Драйверы загружаются в память компьютера при загрузке операционной системы, их имена указываются в специальном файл CONFIG.SYS. Такая схема облегчает добавление новых устройств позволяет делать это, не затрагивая системные файлы DOS. Версии DOS Первая версия операционной системы для компьютера IBM PC — MS DOS 1.0 была создана фирмой Microsoft в 1981 г. В дальнейшем по мере совершенствования компьютеров IBM PC выпускались и новые версии DOS, учитывающие новые возможности компьютеров и предоставляющие дополнительные удобства пользователю. В 1987 г. фирма Microsoft разработала версию 3.3 (3.30) операционной системы MS DOS. которая стала фактическим стандартом на последующие 3-4 года. Эта версия весьма компактна и обладает достаточным набором возможностей, так что на “стандартной IBM PC AT” и теперь ее эксплуатация вполне целесообразна. Но на более мощных компьютерах с несколькими мегабайтами оперативной памяти желательно использовать версии 5.0 или 6.0 операционной системы MS DOS. Эти версии имеют средства для эффективного использования оперативной памяти сверх 640 Кбайт, позволяют работать с логическими дисками, большими 32 Мбайт, переносить DOS и драйверы устройств в расширенную память, освобождая место в обычной памяти для прикладных программ, и т.д. Версия 6.0 MS DOS включает средства сжатия информации на дисках (DoubleSpace), программы создания резервных копий, антивирусную программу и другие мелкие усовершенствования. Однако в этой версии программы сжатия информации не всегда работали корректно, что приводило к потерям данных у некоторых пользователей. Для устранения этих проблем и других ошибок фирма Microsoft выпустила версию MS DOS 6.20. Эта версия работает устойчивее, надежнее и быстрее, чем MS DOS 6.0 и включает ряд небольших усовершенствований. Однако судебное решение по поводу нарушения в MS DOS патентов фирмы Stack Electronics вынудило Microsoft выпустить сначала версию MS DOS 6.21. в которой была изъята нарушившая патент программа динамического сжатия дисков DoubleSpace, а затем MS DOS 6.22 с “подправленной” версией DoubleSpace, не нарушающей патент. По моему мнению, из этих версий лучшая — 6.20. Windows 3.1 Операционная оболочка Windows 3.1 — это разработанная фирмой Microsoft надстройка над операционной системой DOS, обеспечивающая большое количество возможностей и удобств для пользователей и программистов. Широчайшее распространение Windows сделало 661 фактическим стандартом для IBM PC-совместимых компьютеров: подавляющее большинство пользователей таких компьютеров работают в ""Windows, поэтому в последнее время практически все новые программы разрабатываются именно для их эксплуатации в среде Windows. "В отличие от оболочек типа Norton Commander, Windows не только обеспечивает удобный и наглядный интерфейс для операции с файлами, дисками и т.д., но и предоставляет новые возможности для запускаемых в среде Windows программ. Разумеется, для использования этих возможностей программы должны быть спроектированы по требованиям Windows. Такие программы не могут выполняться вне среды Windows. Впрочем, Windows может выполнять и обычные программы, разработанные для DOS. по при этом такие программы не используют никаких преимуществ Windows и работают медленнее, чем при непосредственном вызове из DOS. Оболочка Windows 3.1 включает в себя множество компонентов и обеспечивает пользователям различной квалификации комфортные условия работы. Версия 3.0 оболочки Windows (и появившаяся следом 3.1) исповедует совершенно другие принципы в части интерфейса пользователя с ЭВМ. (Можно считать эти принципы новыми, но машины фирмы Apple строятся на этих принципах уже в течение нескольких лет.) Основная идея, заложенная в основу оболочки Windows, — естественность представления информации. Информация должна представляться в той форме, которая обеспечивает наиболее эффективное усвоение этой информации человеком. Несмотря на простоту (и даже тривиальность) этого принципа, его реализация в интерфейсах прикладных программ персональных ЭВМ по разным причинам оставляла желать лучшего. Да и реализация его в рамках Windows 3.1 тоже не лишена недостатков. Но эта оболочка представляет собой существенный шаг вперед по сравнению с предыдущими интерфейсами пользователя с ЭВМ. Наиболее важными отличительными чертами ее являются следующие: Windows представляет собой замкнутую рабочую среду. Практически любые операции, доступные на уровне операционной системы, могут быть выполнены без выхода из Windows. Запуск прикладной программы, форматирование дискет, печать текстов — все это можно вызвать из Windows и вернуться в Windows по завершении операции. Опыт работы в DOS пригодится и здесь; многие основополагающие принципы и понятия среды Windows не отличаются от соответствующих принципов и понятий среды DOS. Основными понятиями пользовательского интерфейса в среде Windows являются окно и пиктограмма. Все, что происходит в рамках оболочки Windows, в определенном смысле представляет собой либо операцию с пиктограммой, либо операцию с окном (или в окне). Стандартизована в среде Windows и структура окон и расположение элементов управления ими. Стандартизованы наборы операций и структура меню для сервисных программ. Стандартны операции, выполняемые с помощью мыши для всех сервисных и прикладных программ. Windows представляет собой графическую оболочку. Oт пользователя не требуется ввод директив с клавиатуры в виде текстовых строк. Необходимо только внимательно смотреть на экран и выбирать из предлагаемого набора требуемую операцию с помощью манипулятора мышь. Курсор мыши следует позиционировать па поле требуемой директивы меню, или на интересующую пиктограмму, или на поле переключателя систем рассчитаны на выполнение в данный момент только одной программы. В рамках Windows пользователь может запустить несколько программ для параллельного (независимого) выполнения. Каждая из выполняемых программ имеет свое собственное окно. Переключение между выполняемыми программами производится с помощью мыши фиксацией курсора в окне требуемой программы (кнопки). На выбранном объекте необходимо называемые Связанные (или Смешанные) документы. Эта разновидность документов позволяет согласовывать процессы внесения изменений в одни и те же объекты разными программами, а также автоматически распространять изменения из одного документа на все связанные с ним. Сравнение Windows 3.1 с Windows 3.0 При наличии опыта работы с Windows 3.0 освоение следующей версии 3.1 — не потребует больших усилий, так как внешний вид и способы управления практически не отличаются. Большинство нововведений сводится к упрощению сервиса и устранению неудобств управления. Речь идет в первую очередь об увеличении скорости работы, упрощении процедуры инсталляции, усовершенствовании форматов диалоговых окон и повышении эффективности и интеллектуальности Менеджера Печати (Print Manager). На некоторых из нововведений (давно ожидаемых) хотелось бы остановиться особо. В среде Windows 3.1 можно составлять документы из частей, которые готовятся в различных приложениях, но при этом сложность работы с таким документом не выше, чем если бы он готовился в рамках одного приложения. Так, работая в новой версии Windows, при вставке в текст, подготовленный в Write, рисунка, созданного в Paintbrush, рисунок рассматривается как объект. Он может сохраняться, загружаться и печататься совместно с документом. Главной особенностью такого связывания рисунка и текста является простота внесения изменений. Например, работая с текстом в редакторе Write, достаточно выполнить двойную фиксацию курсора на рисунке, чтобы вызвать графический редактор Paintbrush. Рисунок загрузится в него автоматически. Все внесенные после этого в рисунок изменения автоматически отобразятся и во вставке в текстовой документ. Создается впечатление, что текстовой редактор Write снабжен дополнительными возможностями редактирования рисунков (в полном объеме Paintbrush). Работа с объектами предусматривает также и операции с пиктограммами, Пиктограммы можно использовать внутри документов для выполнения функций, подобных тем, которые эти пиктограммы выполняют в среде Windows. Оболочка Windows 3.1 делает новую технологию работы с компьютером, основанную на графическом интерфейсе, более естественной и ясной. Еще большую роль, чем в прошлых версиях, здесь играет мышь как основной инструмент управления машиной. В целом ряде случаев для вызова некоторых (довольно сложных) операций достаточно просто "перетащить и положить" (Drag and Drop) пиктограмму или другой объект с помощью мыши. Например, для распечатки некоторого документа достаточно с помощью мыши "вытащить" из окна Менеджера Файлов (File Manager) пиктограмму соответствующего файла и "положить" ее поверх пиктограммы Менеджера Печати. Перетаскивание пиктограммы файла документа в открытое окно редактора Write или окно редактора Notepad загружает соответствующий документ в окно. Существенно упростилась работа с документами вообще. Можно говорить о документоориентированной организации работ. При этом можно расположить пиктограмму часто используемого документа в окне Менеджера Программ (Program Manager) и в дальнейшем вызывать процесс обработки этого элемента (например, редактирование) просто двойной фиксацией данной пиктограммы. Той же цели служит и возможность автоматического запуска Менеджера Файлов после загрузки оболочки — перед пользователем сразу же открывается поле выбора файлов документов. Значительной переработке подвергся и Менеджер Файлов (File Manager). Работа с ним существенно упростилась. Одновременно с этим возросла производительность и эффективность использования экранной площади (есть возможность одновременно наблюдать большее число устройств и директорий). В отличие от предыдущих версий Windows 3.1 уже не может работать в так называемом реальном режиме (Real Mode). Этот режим обеспечивал совместимость версии 3.0 с более ранними версиями 1 ,Х и 2.Х (так что приложения, разработанные для этих ранних версий оболочки, могли выполняться в среде Windows 3.0 при работе ее в реальном режиме). В этом же режиме Windows 3.0 могла эксплуатироваться на машинах с процессорами 8088/8086. В версии оболочки 3.1 разработчики решили распрощаться с миром персональных IBM-ñîâìåñòèìûõ машин первого поколения (PC/XT). Необходимымусловием для постановки оболочки Windows 3.1 на компьютере является процессор 80286 (желателен 386, 486). При работе в среде Windows 3.1 могут возникнуть проблемы с запуском старых (из версий 1.Х, 2.X) приложений. Однако перенос приложений из среды 3.0 не вызывает, как правило, никаких нареканий. В редких случаях "аномального" поведения приложений из среды 3.0 в среде 3.1 приходится обращаться к поставщикам продукта. В среде Windows 3 1 реализован новый набор шрифтов — так называемые ТгиеТуре-шрифт. Эти шрифты похожи на PostScript-шрифты, но легко адаптируются после небольшой настройки практически к любому типу принтера. TrueType-шрифты легко поддаются масштабированию, различного рода деформациям, вращению и т.п. Дополнительный комфорт для любителей выбирать и создавать шрифты обеспечивает специальная программа демонстрации и использования отдельных литер шрифтов — Charaker Map. Наконец, в оболочку Windows 3.1 включены две небольшие Мультимедиа-программы (Multimedia). Их использование предполагает наличие специальной аппаратной поддержки (акустический адаптер, возможно, накопитель CD-ROM). С помощью упомянутых программ, называемых Sound Recorder и Media Player, можно оформить процесс прохождения программ звуковыми эффектами. Можно работать с цифровым представлением речи и музыки, с картинками, полученными, например, с проигрывателя видеодисков. Для начинающих в системе предусмотрена обучающая программа, к которой можно обратиться уже на этапе инсталляции. Windows — интегрированная программа. Под управлением оболочки Windows могут работать не только специальные программы, разработанные для эксплуатации в среде Windows, но и "обычные" программы, работающие в среде DOS. Оболочка Window обеспечивает эффективный и комфортабельный обмен информацией между отдельными программами, выполняемыми под ее управлением. Здесь речь в первую очередьидет о Windows-пpограммах. С понятием интегрированности связывают обычно также возможность совместного использования ресурсов компьютера различными программами. Так, к примеру, принтер, подключенный к компьютеру, может с одинаковым успехом использоваться всеми программами на конкурентной основе. Причем все операции, связанные с необходимостью перекодировок, смен драйверов (например, при переходе от печати текстов к выводу иллюстраций) берет на себя оболочка. Большинство пользователей привлекает в среде Windows не только и не столько комфортабельность самой оболочки, сколько специфика реализованных в этой среде приложений. Особенности реализации в среде Windows даже знакомых пользователям по работе в DOS прикладных программ (приложений) практически позволяют рассматривать Windows-âåðñèè этих программ как совершенно новые продукты. Работа в o6oлочке Windows предполагает своеобразную перестройку "образа жизни". "Жизнь" пользователя в среде 'Windows сопряжена с "мышиным" управлением, обменами данными между отдельными программами и параллельным выполнением. Стандартизация интерфейсов позволяет легко переходить от одного приложения к другому, не начиная каждый раз с нуля (хотя бы в плане способов и средств управления). В фирменной поставке пакета Windows находится несколько приложений. Все они объединены в группу Accessories (аксессуары, инструменты). Это небольшие по размеру и возможностям прикладные программы, составляющие "джентльменский набор" пользователя. Им далеко до профессиональных специализированных пакетов. Но они прекрасно иллюстрируют возможности оболочки и обеспечивают некоторый минимальный сервис. Более того, весьма полезно начинать знакомство с серьезными пакетами именно с соответствующих средств этой группы. Так, например, поработав некоторое время с текстовым редактором Write, в дальнейшем можно легко перейти к использованию таких профессиональ-ных пакетов обработки текстов, как Word для Windows, Lotus Ami Professional, WordPerfect для Windows' ò.ï. Кроме того, в приложениях из группы Accessories реализованы многие новинки, характерные именно для последней версии 3.1 оболочки Windows (работа с объектами, новые шрифты...). Windows 95 Объектно-ориентированный подход При создании Windows 95 фирма Microsoft в полной мере реализовала объектно-ориентированный подход. Поскольку именно он лег в основу новой операционной системы, вначале скажем несколько слов о том, что такое ориентация на объекты. Понятие “объектно-ориентированный” возникло в программировании сравнительно недавно. Когда вычислительная мощность машин была невысока, о создании объектно-ориентированных систем не могло быть и речи. Основой всего был программный код. Программисты записывали последовательности команд для выполнения тех или иных действий над данными, которые оформлялись в модули и процедуры. Для работы с каждым объектом создавалась своя процедура. Объекты, их свойства и методы Постепенно с увеличением производительности вычислительных систем процедурный подход начал заменяться объектным. На первое место выдвинулся объект, а не код, который его обрабатывает. На уровне пользователя объектный подход выражается в том, что интерфейс представляет собой подобие реального мира, а работа с машиной сводится к действиям с привычными объектами. Так, папки можно открыть, убрать в портфель, документы — просмотреть, исправить, переложить с одного места на другое, выбросить в корзину, факс или письмо — отправить адресату и т. д. Понятие объекта оказалось настолько широким, что до сих пор не получило строгого определения. Объект, как и в реальном мире, обладает различными свойствами. Программист или пользователь может изменять не все свойства объектов, а только некоторые из них. Можно изменить имя объекта, но нельзя изменить объем свободного места на диске, которыйтакже является его свойством. Свойства первого типа в языках программирования носят название read/write (для чтения и записи), а свойства второго — read only (только для чтения). Метод — это способ воздействия на объект. Методы позволяют создавать и удалять объекты, а также изменять их свойства. Например, для того чтобы нарисовать на экране точку, линию или плоскую фигуру, составляются разные последовательности кодов или программы. Пользователь, однако, применяет для отображения этих объектов один метод Draw, который содержит коды для отображения всех объектов, с которыми он работает. За такое удобство приходится платить тем, что объектно-ориентированные системы могут работать только на достаточно мощных вычислительных установках. Процедурный подход в ранних ОС До настоящего времени во всех операционных системах преобладал процедурный подход. Для того чтобы произвести в системе какое-либо действие, пользователь должен был вызвать соответствующую программу (процедуру) и передать ей определенные параметры, например, имя обрабатываемого файла. Программа выполняла над файлом указанные действия и заканчивала работу. При этом пользователь в первую очередь имел дело с задачей обработки документа, а затем уже с самим документом. В давние времена, когда ЭВМ не были персональными, пользователь описывал действия, которые должна была выполнить задача, на некоем странном языке, называемом языком управления заданиями (JCL—Job Control Language). С появлением терминала язык управления заданиями упростился и постепенно превратился в командную строку, однако на первом месте все равно находилась процедура обработки документа, а сам документ играл вспомогательную роль. Следующим этапом упрощения работы с машиной стал создание различного рода операционных оболочек (сначала текстовых),которые “спрятали” от пользователя командную строку DOS. Ввод последовательности символов, из которой состоит команда операционной системы, свелся к нажатию одной функциональной клавиши или щелчку мыши. Самой распространенной из таких “надстроек” над операционной системой стала оболочка Norton Commander, Однако основным “инструментом” пользователя все еще оставалась клавиатура. Качественный переход произошел после того, как появились графические оболочки. Теперь пользователь в основном работает с устройством указания, таким как мышь, трекбол или планшет, а не с клавиатурой (разумеется, это не относится к работе внутри самих приложений, например, в текстовых редакторах). Ему не нужно помнить почти никаких команд операционной системы. Для того чтобы запустить приложение, достаточно щелкнуть мышью на его изображении или на “значке” (автор предпочитает называть его пиктограммой). От процедурного подхода к объектно-ориентированному В начале 90-х гг. процедурный подход все еще преобладает, однако намечаются и некоторые признаки объектно-ориентированного. Например, уже в Windows 3+ можно поставить в соответствие конкретному документу приложение для его обработки. Тогда же появился метод объектного связывания и встраивания (OLE), позволяющий щелчком на изображении объекта неявно запустить приложение, которое его обрабатывает, а после окончания обработки вернуться в предыдущее приложение. С OLE тесно связан так называемый метод редактирования документов “на месте” (in-place). Если в документ встроен объект, который должен обрабатываться конкретным приложением, то при щелчке на этом объекте нужное приложение неявным образом запускается, причем в рабочем поле не изменяется ничего, кроме панелей инструментов. Например, если в тексте, который обрабатывается в редакторе Microsoft Word, есть таблица, созданная в редакторе Microsoft Excel, то при щелчке на ней произойдет замена nанелей инструментов Excel. Пользователь может обрабатывать документ совсем другим приложением, даже не подозревая об этом, Еще один механизм, который упростил работу и приблизил эру объектно-ориентированного подхода, называется “Drag & Drop”, что в буквальном переводе означает “перетащить-и-оставить”. Работая этим методом, вы щелкаете кнопкой мыши (как правило, левой) на изображении объекта, перемещаете его по экрану при нажатой кнопке и отпускаете кнопку, когда указатель окажется в нужном месте экрана. Таким образом, процедуры копирования, перемещения и удаления стали объектно-ориентированными. Что делал пользователь, когда ему нужно было удалить файлы в операционной системе MS-DOS? Он запускал процедуру удаления файлов, передавая их имена в качестве параметров: del FILEI.TXT FILE2TXT Это действие ничем не напоминает реальный мир, в котором вы просто выбрасываете ненужные Бумаги в мусорную корзину. На первом месте для пас стоит объект (бумага), над которым выполняется процедуры (переноса в мусорную корзину), R операционных оболочках, которые работают под управлением Windows 3.1, такое действие уже реализовано как объектное-ориентированное — с помощью механизма “Draw & Drop”. Например, в оболочке Norton Desktop можно схватить мышью файл и перенести его на изображение мусорной корзины. Этого достаточно для удаления файла. Так работа на персональном компьютере все больше напоминает манипуляции с объектами в реальном мире.

Выбор показателей и параметров для оценке ОС Windows 95 — объектно-ориентированная ОС Windows 95—полноценная операционная система Использование стандарта Plug & Play 32-разрядная ОС защищенного режима Приоритетная многозадачность Многопоточность. Спулер печати 32-разрядные устанавливаемые файловые системы Средства удаленного доступа Возможности работы с мультимедиа Поддержка приложений MS-DOS Поддержка длинных имен файлов Интерфейс пользователя Работа с памятью

Сравнительная оценка ОС ПВЭМ по выбранным показателям

Windows 95 по сравнению с Windows 3+ Принципиальная новизна операционной системы Windows 95 состоит именно в том, что концепция объектно-ориентированного подхода реализована в ней наиболее полно. Windows 95 — объектно-ориентированная ОС Объектно-ориентированный подход реализуется через модель рабочего стола. Windows 95 обходится без привычного в Windows 3+ диспетчера программ (program manager). Пользователь работает с задачами и приложениями так же, как с документами на своем письменном столе. Это удобно для людей, которые первый раз увидели компьютер, но создает некоторые трудности “переходного периода” для тех, кто привык считать программу основой всего сущего в машине. Итак, одно из главных отличий Windows 95 от Windows 3+ (и от подавляющего большинства других операционных систем) состоит в том, что основной упор в ней делается на документ, а программа, задача, приложение или программный код вообще рассматриваются только как инструмент для работы с документом. Windows 95—полноценная операционная система Другая принципиальная особенность Windows 95 состоит в том, что она, в отличие от Windows 3+, является “настоящей” операционной системой (а не операционной оболочкой, выполняемой под управлением MS-DOS). Под словом “настоящая” мы подразумеваем то, что при включении машины сразу выполняется загрузка Windows 95. Для пользователя это оборачивается некоторыми неудобствами. Он должен привыкнуть к тому, что прежде чем выключить машину, нужно корректно завершить работу с Windows 95, поскольку новая операционная система создает буфера в оперативной памяти, и их содержимое должно быть сброшено на диск. Использование стандарта Plug & Play Подход к аппаратному обеспечению также кардинальным образом изменился. Теперь система использует стандарт Plug & Play (переводится как “включил-и-работай”, произносится чаще всего как “плаг-н-плэй”), что облегчает и максимально автоматизирует процесс добавления новых периферийных устройств. Стандарт Plug & Play — это совместная разработка фирм Intel и Microsoft. Основная его идея заключается в том, что каждое устройство, соответствующее этому стандарту, сообщает о себе определенную информацию, благодаря которой операционная система выполняет автоматическую конфигурацию периферийных устройств и разрешает аппаратные конфликты. Стандарту Plug & Play должен в первую очередь удовлетворять BIOS материнской платы и, разумеется, периферийные устройства. Таким образом, операционная система обеспечивает автоматическое подключение и конфигурирование устройств, соответствующих требованиям стандарта Plug and Play, поддерживает совместимость с устаревшими устройствами и создает динамическую среду для подключения и отключения мобильных компонентов. 32-разрядная ОС защищенного режима MS-DOS была чисто 16-разрядной операционной системой и работала в реальном режиме процессора. В версиях Windows 3.1 часть кода была 16-разрядной, а часть — 32-разрядной. Windows 3.0 поддерживала реальный режим работы процессора, при разработке версии 3.1 было решено отказаться от его поддержки. Windows 95 является 32-разрядной операционной системой, которая работает только в защищенном режиме процессора. Ядро, включающее управление памятью и диспетчеризацию процессов, содержит только 32-разрядный код. Это уменьшает издержки и ускоряет работу. Только некоторые модули имеют 16-разрядный код для совместимости с режимом MS-DOS. Windows 95 32-разрядный код используется везде, где только возможно, что позволяет обеспечить повышенную надежность и отказоустойчивость системы. Помимо этого, для совместимости с устаревшими приложениями и драйверами используется и 16-разрядный код. Приоритетная многозадачность В отличие от предыдущих версий, Windows 95 поддерживает приоритетную многозадачность (preemptive multitasking) и параллельные процессы (multithreading). В Windows 3+ существовала так называемая “вытесняющая многозадачность” (non-preemptive multitasking), при которой за распределение процессорного времени отвечало приложение. Система выполняла задачу до тех пор, пока приложение “добровольно” не отдавало процессор. В Windows 95 за распределение времени процессора отвечает ядро системы, что обеспечивает нормальную работу фоновых задач. Многопоточность. Windows 95 поддерживает многопоточность - технологию, которая позволяет соответствующим образом осуществлять многозадачное выполнение своих собственных процессов. Спулер печати Спулер печати кардинально переработан по сравнению с Windows 3+, Теперь параллельно с печатью можно делать что-либо еще (в старой оболочке можно было или печатать, или работать). Спулер печати также стал теперь 32-разрядным. 32-разрядные устанавливаемые файловые системы Эта часть операционной системы стала гораздо более производительной, чем аналогичные компоненты Windows 3+. Для жестких дисков используются виртуальные таблицы распределения файлов (vfat), а для компакт-дисков — новая файловая система CDFS (CD-ROM File System). При этом имена файлов могут содержать до 255 знаков, включая пробелы и специальные символы (совместимость со старой файловой системой сохранена, хотя и несколько искусственным путем.. Теперь в большинстве случаев не требуется модуль MSCDEX ЕХЕ, выполнявший преобразование файловой системы стандарта ISO-9660 (компакт-диска) к файловой системе MS-DOS. Устанавливаемая файловая система, которая отображает файловую структуру удаленной машины на сетевой диск рабочей станции, называется сетевым редиректором. Сетевые редиректоры для протоколов IPX/SPX и NetBEU также используют 32-разрядный код. Протокол NetBEU применяется при работе Windows 3.1, a IPX/ SPX—для связи с машинами, на которых установлена Windows NT, Средства удаленного доступа Windows 95, в отличие от большинства операционных систем для персональных компьютеров, с самого начала создавалась для работы в сети, благодаря чему возможность совместного использования файлов и устройств полностью интегрирована в интерфейс пользователя Windows 95. В Windows 95 вы можете получить доступ к сети без установки сетевого адаптера! Его заменят модем и специальный протокол РРР (“от-точки-к-точке”, или “point-to-point protocol”). В этом случае скорость работы ограничена скоростью вашего модема- Система предоставляет развитые программные средства для доступа к сетям Internet, Microsoft Network, America Online и другим аналогичным службам. Возможности работы с мультимедиа Современную операционную систему сложно представить себе без средств мультимедиа. Для работы с аудио- и видеофайлами различных форматов в составе Windows 95 имеется набор кодеков — эффективных программных средств сжатия и распаковки этих файлов и преобразования их форматов для вывода на различные устройства мультимедиа (слово “кодер” является сокращением слов “кодер-декодер”, так же, как “модем” — сокращение от слов “модулятор-демодулятор”). При воспроизведении файла система запускает тот кодер, с помощью которого файл был создан. Драйверы звуковых карт используют 32-разрядный код, но в тех случаях, когда система не может распознать карту, применяется 16-разрядный драйвер реального режима, который поставляется вместе с картой. При работе 32-разрядного драйвера защищенного режима драйвер реального режима автоматически отключается. При установке компакт-диска в устройство считывания система пытается распознать его формат и запустить соответствующее приложение для его воспроизведения. Если установлен диск формата ISO-9660 (программный), то Windows 95 ищет файл с именемONT> AUTO-RUN.INF u выполняет его. Это механизм получил название Spin & Grin. Значительно переработан код, который отвечает за обработку изображений. поэтому качество воспроизведения файлов AVI сильно возросло по сравнению с Windows 3+, а скорость их воспроизведения теперь почти не зависит от выбранного масштаба изображения. Встроенные возможности работы со звуком, видео и компакт-дисками дадут новый толчок развитию приложений мультимедиа. Windows 95 - это первая версия Windows, которая бросает вызов MS-Dos в сфере поддержки игрового программного обеспечения. Поддержка приложений MS-DOS Windows 95 занимает меньше места в основной памяти, так что теперь вы можете запускать многие из тех программ MS-DOS, которые не работали под управлением Windows 3.+. Программы, которые и сейчас не будут помещаться в память, можно запускать в режиме эмуляции MS-DOS. Переключаясь в этот режим, Windows 95 завершает все работающие приложения, а потом удаляет из памяти и саму себя, оставляя лишь маленький загрузочный модуль. Поддержка длинных имен файлов Вы сможете забыть об ограничениях на длину имени файла в системах Windows 3.+ и MS-DOS.В Windows 95 имена файлов могут иметь длину до 255 символов. Интерфейс пользователя Благодаря новому интерфейсу в Windows 95, по сравнению с Windows 3.+ гораздо проще запускать программы, открывать и сохранять документы, работать с дисками и сетевыми серверами. Работа с памятью Windows 95 автоматически освобождает всю память, отведенную приложению, после того, как оно заканчивает работу. В Windows 3+ некорректно написанные приложения нередко освобождали не всю запрошенную ими память. Время от времени памяти оказывалось настолько мало, что единственным выходом оставался перезапуск системы (а иногда и перезагрузка машины). Такая неприятность носит название “утечка памяти” (“memory leak”) и случается с программными произведениями даже известнейших фирм. При завершении приложения в Windows 95 вся память, занимаемая им, освобождается автоматически, и таких проблем не возникает.

Перспективы развития ОС ПВЭМ Windows NT На данный момент мировая компьютерная индустрия развивается очень стремительно .Производительность систем возрастает ,а следовательно возрастают возможности обработки больших объёмов данных . Операционные системы класса MS-DOSа уже не справляются с таким потоком данных и не могут целиком использовать ресурсы современных компьютеров .Поэтому в последнее время происходит переход на более мощные и наиболее совершенные операционные системы класса UNIX , примером которых и является Windows NT ,выпущенная корпорацией Microsoft . Задачи, поставленные при создании Windows NT Система Windows NT не является дальнейшим развитием ранее существовавших продуктов . Её архитектура создавалась с нуля с учётом предъявляемых к современной операционной системе требований . Особенности новой системы ,разработанной на основе этих требований ,перечислены ниже . Стремясь обеспечить совместимость (compatible) новой операционной системы ,разработчики Windows NT сохранили привычный интерфейс Windows и реализовали поддержку существующих файловых систем (таких ,как FAT ) и различных приложений (написанных для MS-Dos, OS/2 1.x, Windows 3.x и POSIX ).Разработчики также включили в состав Windows NT средства работы с различными сетевыми средствами . Достигнута переносимость (portability) системы ,которая может теперь работать как на CISC , так и на RISC - процессорах .К CISC относятся Intel - совместимые процессоры 80386 и выше ;RISC представлены системами с процессорами MIPS R4000, Digital Alpha AXP и Pentium серии P54 и выше . Масштабируемость (scalability) означает , что Windows NT не привязана к однопроцессорной архитектуре компьютеров ,а способна полностью использовать возможности , предоставляемые симметричными мультипроцессорными системами .В настоящее время Windows NT может функционировать на компьютерах с числом процессоров от 1 до 32 . Кроме того , в случае усложнения стоящих перед пользователями задач и расширения предъявляемых к компьютерной среде требований, Windows NT позволяет легко добавлять более мощные и производительные серверы и рабочии станции к корпоративной сети .Дополнительные преимущества даёт использование единой среды разработки и для серверов ,и для рабочих станций . Windows NT имеет однородную систему безопасности (security) удовлетворяющую спецификациям правительства США и соответствующую стандарту безопастности В2 .В корпоративной среде критическим приложениям обеспечивается полностью изолированное окружение . Распределённая обработка ( distributed processing ) означает ,что Windows NT имеет встроенные в систему сетевые возможности . Windows NT также позволяет обеспечить связь с различными типами хост - компьютеров благодаря поддержке разнообразных транспортных протоколов и использованию средств “клиент-сервер” высокого уровня ,включая именованные каналы ,вызовы удалённых процедур (RPC - remote procedure call) и Windows - сокеты . Надёжность и отказоустойчивость (reliability and robustness) обеспечивают архитектурными особенностями ,которые защищают прикладные программы от повреждения друг другом и операционной системой .Windows NT использует отказоустойчивую структурированную обработку особых ситуаций на всех архитектурных уровнях ,которая включает восстанавливаемую файловую систему NTFS и обеспечивает защиту с помощью встроенной системы безопасности и усовершенствованных методов управления памятью . Возможности локализации ( allocation) представляют средства для работы во многих странах мира на национальных языках ,что достигается применением стандарта ISO Unicod ( разработан международной организацией по стандартизации ). Благодаря модульному построению системы обеспечивается расширяемость (insibility) Windows NT ,что ,как будет показано в следующем разделе ,позволяет гибко осуществлять добавление новых модулей на различные уровни операционной системы . Список использованной литературы 1. “IBM PC для пользователей” В.Э.Фигурнов “Windows 95 для занятых” Рон Мэнсфилд “Операционная система Windows 95” А.В.Потапкин “Курс молодого бойца” К.Ахметов “Эффективная работа в Windows 95” К.Стинсон “Windows 3.1” Стефан Фойц

www.ronl.ru


Смотрите также

 

..:::Новинки:::..

Windows Commander 5.11 Свежая версия.

Новая версия
IrfanView 3.75 (рус)

Обновление текстового редактора TextEd, уже 1.75a

System mechanic 3.7f
Новая версия

Обновление плагинов для WC, смотрим :-)

Весь Winamp
Посетите новый сайт.

WinRaR 3.00
Релиз уже здесь

PowerDesk 4.0 free
Просто - напросто сильный upgrade проводника.

..:::Счетчики:::..

 

     

 

 

.