Реферат: Основы программирования

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

 

1. Функции и задачи ОС

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

ОС – это набор программ, обеспечивающийорганизацию вычислительного процесса на ЭВМ.

Основные задачи:

1) увеличение пропускнойспособности ЭВМ (за счет организации непрерывной обработки потока задач савтоматическим переходом от одной задачи к другой и эффективного распределенияресурсов ЭВМ по нескольким задачам);

2) уменьшение времениреакции системы на запросы пользователями ответов от ЭВМ;

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

Функции ОС:

1) управление данными;

2) управление задачами(заданиями, процессами);

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

2.Одноранговые сетевые ОС

В одноранговых сетях всекомпьютеры равны в правах доступа к ресурсам друг друга. Каждый пользовательможет по своему желанию объявить какой-либо ресурс своего компьютераразделяемым, после чего другие пользователи могут его эксплуатировать. В такихсетях на всех компьютерах устанавливается одна и та же ОС, котораяпредоставляет всем компьютерам в сети потенциально равные возможности.Одноранговые сети могут быть построены, например, на базе ОС LANtastic,Personal Ware, Windows for Workgroup, Windows NT Workstation.

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

 

3. Понятие процесса

 

Основнымипонятиями управления прохождением задач в ЭВМ являются процесс, задача, работа,программа, ресурс и т.д.

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

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

Классификацияпроцессов:

1)по временным характеристикам различают:

–интерактивные;

–пакетные;

–реального времени.

2)по генеалогическому признаку различают:

–порождающие;

–порожденные.

3)по результативности различают:

–эквивалентные;

–тождественные;

–равные.

4)по времени развития делятся:

–последовательные;

–параллельные;

–комбинированные.

5) по месту развития:

–внешние;

–внутренние.

6)по принадлежности к ОС:

–системные;

–пользовательские.

7)по связности различают:

–взаимосвязанные;

–изолированные;

–информационно независимые;

–взаимодействующие;

–взаимосвязанные по ресурсам;

–конкурирующие.

Порядоквзаимосвязи процессов определяется правилами синхронизации.

Процессымогут находится в отношении:

–предшествования;

–приоритетности;

–взаимного исключения.

Неследует смешивать понятие процесса и программы. Программа – это план действий,а процесс — это само действие, поэтому понятие процесса включает в себя:

–программный код;

–данные;

–содержимое стека;

содержимоеадресного и других регистров процессора.

Каждыйпроцесс представлен в ОС набором данных, называемых таблица управления процессом(PCB – process control block). В PCB процесс описываетсянабором значений, параметров, характеризующих его текущее состояние ииспользуемых ОС для управления прохождением процесса через компьютер.

 

4. Планирование процессоров

 

Стратегии планирования процессора:

1. Первый пришел – первыйобслуживается — first come – First served (FCFS).FCFS является наиболее простой стратегиейпланирования процессов и заключается в том, что процессор передается томупроцессу, который раньше всех других его запросил.

Когда процесс попадает вочередь готовых процессов, УТП (PSB)присоединяется к хвосту очереди.

Среднее время ожиданиядля стратегии FCFS часто весьма велико и зависит отпорядка поступления процессов в очередь готовых процессов.

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

2. Стратегия «наиболеекороткая работа выполняется первой» SJF – Shortest Job First. Одним из методов борьбы с «эффектом конвоя» являетсястратегия, позволяющая процессу из очереди выполняться первым.

5. Файловые таблицы FAT16, FAT32

 

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

–FAT16;

–FAT32;

–FAT12 (для дискет).

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

FAT16 – на запись адреса отводится 16 бит. С их помощью можновыразить 216 = 65536 разных адресов. Если размер диска 2 Гб., то накаждый адрес приходится 32 Кб.

Еслиже 2,5 Гб., то тогда на каждый адрес приходится более 64 Кб, но это недопустимо.

FAT32 – для этой таблицы размеры кластеров следующие:

Объемдиска;

Размеркластера;

До8 Гб;

8– 16 Гб;

16– 32 Гб;

свыше32 Гб;

4Кб;

8Кб;

16Кб;

32Кб.

Кластеры выдаются одномуфайлу в любом свободном месте дисковой памяти и не обязательно являютсясмежными. Файлы хранящиеся в разбросанных по диску кластерах называютсяфрагментированными.

6.Основные свойства файлов

 

Файлы бывают разныхтипов: обычные файлы, специальные файлы, файлы-каталоги.

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

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

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

В разных файловыхсистемах могут использоваться в качестве атрибутов разные характеристики,например:

– информация оразрешенном доступе;

– пароль для доступа кфайлу;

– владелец файла;

– создатель файла;

– признак «толькодля чтения»;

– признак «скрытыйфайл»;

– признак «системныйфайл»;

– признак «архивныйфайл»;

– признак«двоичный/символьный»;

– признак«временный» (удалить после завершения процесса);

– признак блокировки;

– длина записи;

– указатель на ключевоеполе в записи;

– длина ключа;

– времена создания,последнего доступа и последнего изменения;

– текущий размер файла;

– максимальный размерфайла.

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

7. Тенденции вструктурном построении ОС

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

Монолитныесистемы

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

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

Многоуровневые системы

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

Первой системой,построенной таким образом была простая пакетная система THE, которую построилДейкстра и его студенты в 1968 году. Система имела 6 уровней. Уровень 0занимался распределением времени процессора, переключая процессы по прерываниюили по истечении времени. Уровень 1 управлял памятью — распределял оперативнуюпамять и пространство на магнитном барабане для тех частей процессов (страниц),для которых не было места в ОП, то есть слой 1 выполнял функции виртуальнойпамяти. Слой 2 управлял связью между консолью оператора и процессами. С помощьюэтого уровня каждый процесс имел свою собственную консоль оператора. Уровень 3управлял устройствами ввода-вывода и буферизовал потоки информации к ним и отних. С помощью уровня 3 каждый процесс вместо того, чтобы работать сконкретными устройствами, с их разнообразными особенностями, обращался кабстрактным устройствам ввода-вывода, обладающим удобными для пользователяхарактеристиками. На уровне 4 работали пользовательские программы, которым ненадо было заботиться ни о процессах, ни о памяти, ни о консоли, ни обуправлении устройствами ввода-вывода. Процесс системного оператора размещалсяна уровне 5.

В системе THEмногоуровневая схема служила, в основном, целям разработки, так как все частисистемы компоновались затем в общий объектный модуль. Дальнейшее обобщениемногоуровневой концепции было сделано в ОС MULTICS. В системе MULTICS каждыйуровень (называемый кольцом) является более привилегированным, чем вышележащий.Когда процедура верхнего уровня хочет вызвать процедуру нижележащего, онадолжна выполнить соответствующий системный вызов, то есть команду TRAP(прерывание), параметры которой тщательно проверяются перед тем, каквыполняется вызов. Хотя ОС в MULTICS является частью адресного пространства каждогопользовательского процесса, аппаратура обеспечивает защиту данных на уровнесегментов памяти, разрешая, например, доступ к одним сегментам только длязаписи, а к другим — для чтения или выполнения. Преимущество подхода MULTICSзаключается в том, что он может быть расширен и на структуру пользовательскихподсистем. Например, профессор может написать программу для тестирования иоценки студенческих программ и запустить эту программу на уровне n, в то времякак студенческие программы будут работать на уровне n+1, так что они не смогутизменить свои оценки. Многоуровневый подход был также использован приреализации различных вариантов ОС UNIX. Хотя такой структурный подход напрактике обычно работал неплохо, сегодня он все больше воспринимаетсямонолитным.Модель клиент-сервер Модельклиент-сервер — это еще один подход к структурированию ОС. В широком смыслемодель клиент-сервер предполагает наличие программного компонента — потребителякакого-либо сервиса — клиента, и программного компонента — поставщика этогосервиса — сервера. Взаимодействие между клиентом и сервером стандартизуется,так что сервер может обслуживать клиентов, реализованных различными способамии, может быть, разными производителями. При этом главным требованием являетсято, чтобы они запрашивали услуги сервера понятным ему способом. Инициаторомобмена обычно является клиент, который посылает запрос на обслуживание серверу,находящемуся в состоянии ожидания запроса. Один и тот же программный компонентможет быть клиентом по отношению к одному виду услуг, и сервером для другоговида услуг. Модель клиент-сервер является скорее удобным концептуальнымсредством ясного представления функций того или иного программного элемента втой или иной ситуации, нежели технологией. Эта модель успешно применяется нетолько при построении ОС, но и на всех уровнях программного обеспечения, иимеет в некоторых случаях более узкий, специфический смысл, сохраняя,естественно, при этом все свои общие черты. Применительно к структурированию ОСидея состоит в разбиении ее на несколько процессов — серверов, каждый изкоторых выполняет отдельный набор сервисных функций — например, управлениепамятью, создание или планирование процессов. Каждый сервер выполняется впользовательском режиме. Клиент, которым может быть либо другой компонент ОС,либо прикладная программа, запрашивает сервис, посылая сообщение на сервер.Ядро ОС (называемое здесь микроядром), работая в привилегированном режиме,доставляет сообщение нужному серверу, сервер выполняет операцию, после чегоядро возвращает результаты клиенту с помощью другого сообщения.

8.Структура и основные компоненты вычислительной системы

 

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

Универсальной структурыВС, одинаково хорошо обрабатывающей задачи любого типа, не существует.

Большое разнообразиеструктур ВС затрудняет их изучение. Поэтому ВС классифицируют с учетом ихобобщенных характеристик. С этой целью вводится понятие «Архитектура системы».

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

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

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

Согласно этойклассификации существует четыре основных архитектуры ВС:

1) одиночный поток команд– одиночный поток данных (ОКОД);

2) одиночный поток команд– множественный поток данных (ОКМД);

3) множественный потоккоманд – одиночный поток данных (МКОД);

4) множественный потоккоманд — множественный поток данных (МКМД).

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

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

9.ОС с выделенными серверами

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

Если выполнениекаких-либо серверных функций является основным назначением компьютера(например, предоставление файлов в общее пользование всем остальнымпользователям сети или организация совместного использования факса, илипредоставление всем пользователям сети возможности запуска на данном компьютересвоих приложений), то такой компьютер называется выделенным сервером. Взависимости от того, какой ресурс сервера является разделяемым, он называетсяфайл-сервером, факс-сервером, принт-сервером, сервером приложений и т.д.Очевидно, что на выделенных серверах желательно устанавливать ОС, специальнооптимизированные для выполнения тех или иных серверных функций. Поэтому в сетяхс выделенными серверами чаще всего используются сетевые операционные системы, всостав которых входит нескольких вариантов ОС, отличающихся возможностямисерверных частей. Например, сетевая ОС Novell NetWare имеет серверный вариант,оптимизированный для работы в качестве файл-сервера, а также варианты оболочекдля рабочих станций с различными локальными ОС, причем эти оболочки выполняютисключительно функции клиента. Другим примером ОС, ориентированной напостроение сети с выделенным сервером, является операционная система WindowsNT. В отличие от NetWare, оба варианта данной сетевой ОС — Windows NT Server(для выделенного сервера) и Windows NT Workstation (для рабочей станции) — могут поддерживать функции и клиента и сервера. Но серверный вариант Windows NTимеет больше возможностей для предоставления ресурсов своего компьютера другимпользователям сети, так как может выполнять более широкий набор функций,поддерживает большее количество одновременных соединений с клиентами, реализуетцентрализованное управление сетью, имеет более развитые средства защиты.Выделенный сервер не принято использовать в качестве компьютера для выполнениятекущих задач, не связанных с его основным назначением, так как это можетуменьшить производительность его работы как сервера. В связи с такимисоображениями в ОС Novell NetWare на серверной части возможность выполненияобычных прикладных программ вообще не предусмотрена, то есть сервер не содержитклиентской части, а на рабочих станциях отсутствуют серверные компоненты.Однако в других сетевых ОС функционирование на выделенном сервере клиентскойчасти вполне возможно. Например, под управлением Windows NT Server могутзапускаться обычные программы локального пользователя, которые могутпотребовать выполнения клиентских функций ОС при появлении запросов к ресурсамдругих компьютеров сети. При этом рабочие станции, на которых установлена ОСWindows NT Workstation, могут выполнять функции невыделенного сервера.

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


10.Взаимодействие процессов

 

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

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

Для взаимодействияпроцесса-производителя и процесса-потребителя создается совместный буферзаполняемый процессом-производителем и потребляемым процессом потребителя.

Буфер имеет фиксированныеразмеры и, следовательно, процессы могут находится в состоянии ожидания, когда:

– буфер заполнен –ожидает процесс-производитель;

– буфер пуст – ожидаетпроцесс-потребитель.

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

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

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

Очереди. Эти механизмы могут обеспечиватьпередачу или использование общих данных без перемещения данных, а с передачейэлемента очереди, содержащего указатель данных и объем массива данных. Очередьиспользуется вместе с механизмом общей памяти.

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

– создание очереди;

– просмотр очереди;

– чтение очереди;

– закрытие очереди.

Записывающий процессосуществляет действия:

– открыть очередь;

– записать в очередь;

– закрыть в очередь.

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

–определение количестваэлементов в очереди в текущий момент;

– очистка очередисоздавшим ее процессом.

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

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

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

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

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

Управление семафоромреализуется с помощью функций:

– установки семафора сцелью сигнализации;

– ожидания вызывающимпотоком, пока семафор не будет выключен;

ожидание потокомвыключения потоком одного из нескольких семафоров.

11. Объектно-ориентированный подход

Дляпользователей Windows объектно-ориентированный подход проявляется при работе спрограммами, использующими технологию OLE фирмы Microsoft. В первой версии OLE,которая дебютировала в Windows 3.1, пользователи могли вставлять объекты вдокументы-клиенты. Такие объекты устанавливали ссылку на данные (в случаесвязывания) или содержали данные (в случае внедрения) в формате, распознаваемомпрограммой-сервером. Для запуска программы-сервера пользователи делали двойнойщелчок на объекте, посредством чего передавали данные серверу дляредактирования. OLE 2.0, доступная в настоящее время в качестве расширенияWindows 3.1, переопределяет документ-клиент как контейнер. Когда пользовательщелкает дважды над объектом OLE 2.0, вставленным в документ-контейнер, он активизируетсяв том же самом месте. Представим, например, что контейнером является документMicrosoft Word 6.0, а вставленный объект представляет собой набор ячеек вформате Excel 5.0. Когда вы щелкнете дважды над объектом электронной таблицы,меню и управляющие элементы Word как по волшебству поменяются на меню Excel. Врезультате, пока объект электронной таблицы находится в фокусе, текстовыйпроцессор становится электронной таблицей.

Инфраструктура,требуемая для обеспечения столь сложных взаимодействий объектов, настолькообширна, что Microsoft называет OLE 2.0 «1/3 операционной системы».Хранение объектов, например, использует docfile, который в действительностиявляется миниатюрной файловой системой, содержащейся внутри обычного файлаMS-DOS. Docfile имеет свои собственные внутренние механизмы для семантикиподкаталогов, блокировок и транзакций (т.е. фиксации-отката).

Наиболеезаметный недостаток OLE — отсутствие сетевой поддержки, и это будет иметьнаивысший приоритет при разработке будущих версий OLE. Следующая основнаяитерация OLE появится в распределенной, объектной версии Windows, называемойCairo (Каир), ожидаемой в 1995 году.

Стандарт OpenDoc

Apple,совместно с WordPerfect, Novell, Sun, Xerox, Oracle, IBM и Taligent, известнымивместе как Component Integration Laboratory (Лаборатория по объединениюкомпонентов), также занимается архитектурой объектно-ориентированных составныхдокументов, называемой OpenDoc. Создаваемый для работы на разных платформах,этот проект значительно отстает по степени готовности от OLE 2.0.

Ключевымитехнологиями OpenDoc являются механизм хранения Бенто (названный так в честьяпонской тарелки с отделениями для разной пищи), технология сценариев(scripting), позаимствованная в значительной степени из AppleSript, и SOM фирмыIBM. В Бенто-документе каждый объект имеет постоянный идентификатор,перемещающийся вместе с ним от системы к системе. Хранение не только являетсятранзакционным, как в OLE, но и позволяет держать и отслеживать многочисленныередакции каждого объекта. Если имеется несколько редакций документа, то реальнохраниться будут только изменения от одной редакции к другой. Верхняя границачисла сохраняемых редакций будет определяться пользователем.

КомандаApple планирует сделать OpenDoc совместимым с Microsoft OLE. Если планзавершится успехом, система OpenDoc сможет окружать объекты OLE слоем программтрансляции сообщений. Контейнер OpenDoc будет видеть встроенный объект OLE какобъект OpenDoc, а объект OLE будет представлять свой контейнер, как контейнерOLE. Утверждается, что будет допустима также и обратная трансляция по этомусценарию, когда объекты OpenDoc функционируют в контейнерах OLE. Слойтрансляции разрабатывается WordPerfect при помощи Borland, Claris, Lotus идругих.

Воснове OLE и OpenDoc лежат две соперничающие объектные модели: Microsoft COM(Component Object Model — компонентная объектная модель) и IBM SOM. Каждаяопределяет протоколы, используемые объектами для взаимодействия друг с другом.Основное их различие заключается в том, что SOM нейтральна к языкампрограммирования и поддерживает наследование, тогда как COM ориентирована наС++ и вместо механизма наследования использует альтернативный механизм, которыйMicrosoft называет агрегацией.

Семейство CORBA

Hewlett-Packard,Sun Microsystems и DEC экспериментируют с объектами уже много лет. Теперь этикомпании и много других объединились вместе, основав промышленную коалицию подназванием OMG (Object Management Group), разрабатывающую стандарты для обменаобъектами. OMG CORBA (Common Object Request Broker Architecture — Общаяархитектура посредника обработки объектных запросов) закладывает фундаментраспределенных вычислений с переносимыми объектами. CORBA задает способ поискаобъектами других объектов и вызова их методов. SOM согласуется с CORBA. Если выпользуетесь DSOM под OS/2, вы сможете вызывать CORBA-совместимые объекты,работающие на HP, Sun и других архитектурах. Означает ли это возможностьредактировать объект OpenDoc, сделанный на Macintosh, в документе-контейнере наRISC-рабочей станции? Вероятно, нет. CORBA может гарантировать только механизмнижнего уровня, посредством которого одни объекты вызывают другие. Дляуспешного взаимодействия требуется также понимание сообщений друг друга.

12. Возможности WindowsNT

WindowsNT Workstation, прежде всего, может использоваться как клиент в сетях WindowsNT Server, а также в сетях NetWare, UNIX, Vines. Она может быть рабочейстанцией и в одноранговых сетях, выполняя одновременно функции и клиента, исервера. Windows NT Workstation может применяться в качестве ОС автономногокомпьютера при необходимости обеспечения повышенной производительности,секретности, а также при реализации сложных графических приложений, например, всистемах автоматизированного проектирования.

WindowsNT Server может быть использован, прежде всего, как сервер в корпоративнойсети. Здесь весьма полезной оказывается его возможность выполнять функцииконтроллера доменов, позволяя структурировать сеть и упрощать задачиадминистрирования и управления. Он используется также в качестве файл-сервера,принт-сервера, сервера приложений, сервера удаленного доступа и сервера связи(шлюза). Кроме того, Windows NT Server может быть использован как платформа длясложных сетевых приложений, особенно тех, которые построены с использованием технологииклиент-сервер.

Так,под управлением Windows NT Server может работать сервер баз данных MicrosoftSQL Server, а также серверы баз данных других известных фирм, такие как Oracleи Sybase, Adabas и InterBase.

Наплатформе Windows NT Server может быть установлена новая мощная системаадминистрирования Microsoft System Management Server, функцией которой являетсяинвентаризация аппаратной и программной конфигурации компьютеров сети,автоматическая установка программных продуктов на рабочие станции, удаленноеуправление любым компьютером и мониторинг сети.

WindowsNT Server может использоваться как сервер связи с мейнфреймам. Для этого созданспециальный продукт Microsoft SNA Server, позволяющий легко объединить в однойсети IBM PC-совместимые рабочие станции и мощные мейнфреймы.

Наконец,Windows NT Server является платформой для нового производительного почтовогосервера Microsoft Exchange.

13. Классификация ОС

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

Классификация поразличным признакам:

Особенности алгоритмов управленияресурсами

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

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

– однозадачные (например,MS-DOS, MSX);

– многозадачные (OC EC,OS/2, UNIX, Windows 95).

Поддержкамногопользовательского режима.Почислу одновременно работающих пользователей ОС делятся на:

– однопользовательские (MS-DOS,Windows 3.x, ранние версии OS/2);

– многопользовательские(UNIX, Windows NT).

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

– невытесняющая многозадачность(NetWare, Windows 3.x);

– вытесняющая многозадачность(Windows NT, OS/2, UNIX).

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

Многопроцессорнаяобработка.Другим важным свойством ОС является отсутствие или наличие вней средств поддержки многопроцессорной обработки — мультипроцессирование.Мультипроцессирование приводит к усложнению всех алгоритмов управленияресурсами.

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

 

14. ОС для рабочих групп

Сетевые операционныесистемы имеют разные свойства в зависимости от того, предназначены они длясетей масштаба рабочей группы (отдела), для сетей масштаба кампуса или длясетей масштаба предприятия.

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

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

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

Главной задачейоперационной системы, используемой в сети масштаба отдела, является организацияразделения ресурсов, таких как приложения, данные, лазерные принтеры и,возможно, низкоскоростные модемы. Обычно сети отделов имеют один или двафайловых сервера и не более чем 30 пользователей. Задачи управления на уровнеотдела относительно просты. В задачи администратора входит добавление новыхпользователей, устранение простых отказов, инсталляция новых узлов и установкановых версий программного обеспечения. Операционные системы сетей отделовхорошо отработаны и разнообразны, также, как и сами сети отделов, уже давноприменяющиеся и достаточно отлаженные. Такая сеть обычно использует одну илимаксимум две сетевые ОС. Чаще всего это сеть с выделенным сервером NetWare 3.xили Windows NT, или же одноранговая сеть, например сеть Windows for Workgroups.

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

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

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

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

15. Вытесняющие и невытесняющие алгоритмыпланирования

Существуетдва основных типа процедур планирования процессов — вытесняющие (preemptive) иневытесняющие (non-preemptive).

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

Preemptivemultitasking — вытесняющая многозадачность - это такой способ, при которомрешение о переключении процессора с выполнения одного процесса на выполнениедругого процесса принимается планировщиком операционной системы, а не самойактивной задачей.

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

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

16. Файловая система HTFS

NTFS выросла из файловой системы NPFS, разрабатываемой совместно IBM и Microsoft для проекта OS/2. Она начала использоваться вместе с Windows NT 3.1 в 1993 году. Windows NT 3.1 должна быласоставить конкуренцию серверам на базе NetWare и Unix,поэтому NTFS вобрала в себя все технологическиедостижения того времени. Вот основные из них:

1. Работа с большимидисками. NTFS имеет размер кластера 512 байт, чтов принципе оптимально, но его можно менять до 64 Кб. Более важно то, что NTFS способна теоретически работать стомами размером в 16,777, 216 терабайт. Теоретически, потому что таких жесткихдисков пока не существует.

2. Устойчивость. NTFS содержит две копии аналога FAT, которые называются MFT (Master File Table). В отличие от FAT MS-DOS, MFT больше напоминает таблицу БД. Еслиоригинал MTF поврежден в случае аппаратной ошибки(например, появление bad-сектора),то система при следующей загрузке использует копию MTF и автоматически создает новый оригинал, уже с учетомповреждений. Но это не самое главное. Главное, что NTFS использует систему транзакций при записи файлов надиск. Эта система пришла из СУБД, где защита целостности данных –жизненно-важное дело. Уже это говорит о ее эффективности. В упрощенном виде онаработает так:

– Драйвер ввода/вывода NTFS инициирует процесс записи,одновременно сообщая сервису Log File Service вести регистрацию всегопроисходящего;

– данные пишутся в КЭШ,под управлением сервиса Cash Manager;

– Cash Manager посылает данные Virtual Memory Manager (менеджеру виртуальной памяти) для записи на диск вфоновом режиме;

– Virtual Memory Manager посылает данные драйверу диска, пропустив их через Fault Tolerant Driver;

– драйвер диска шлет ихконтроллеру, который уже пишет их либо в КЭШ, либо прямо на диск;

– если это операцияпроходит без ошибок, запись регистрации удаляется;

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

Такая система гарантируетабсолютную сохранность данных в случае копирования, перемещения и удаленияфайлов или директорий. При внесении изменений в файл вы теряете те изменения,которые находились в момент сбоя в памяти или в КЭШе контроллера, и не успелизаписать на диск.

3.Защищенность. NTFS рассматривает файлы как объекты.Каждый файловый объект обладает свойствами такими как его имя, дата создания,дата последнего обновления, архивный статус и дескриптор безопасности. Файловыйобъект также содержит набор методов, которые позволяют с ним работать, такие,как open, close, read иwrite. Пользователи, включая сетевые, дляобращения к файлу вызывают эти методы, а Security Reference Monitor определяет, имеет ли пользователь необходимые правадля вызова какого-либо из этих методов. Кроме этого, файлы можно шифровать.

4.Компрессия данных.NTFS позволяет сжимать отдельные каталогии файлы, в отличие от DriveSpace который позволял сжимать только диски целиком. Это очень удобно, дляэкономии пространства на диске, например можно сжимать «на лету» большиегеографические файлы формата BMPили текстовые файлы, причем для пользователя все это будет прозрачно.

5. Поддержка формата ISOUnicode.формат Unicodeиспользует 16 бит для кодировки каждого символа, в отличие от ASCII, который использовал 8 или 7 бит.Для простого пользователя это означает то, что теперь он может называть файлына любом языке, хоть на китайском – система это будет поддерживать, не требуяизменить кодовую страницу, как это делал DOS и W9x.

 

17.Закон об авторском праве

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

18.Специальные лицензионные соглашения

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

19.Общедоступная лицензия GNU

GNU стремится гарантировать свободу враспространении и изменении свободно распространяемых программ.

GNU дает возможность, свободнораспространять копии, свободно распространять программы и получать за этуработу плату.

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

Эти ограничениянакладывают определенную ответственность, если вы распространяете копиипрограмм или модифицируете их.

Права защищаются в дваэтапа

1) защита программ;

2) передача лицензии налегальное копирование, распространение и модифицирование программ.

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

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

Условия копирования,распространения и модификации.

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

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

2) вы можетемодифицировать свою копию программы.

20.Система прерываний

Система прерыванийпредназначена для того, чтобы центр. процессор, выполняя свою работу имелвозможность реагировать на события, наступление которых не предполагается.Прерывания бывают внутренними — программные и аппаратурные; и внешними — поступающие от внешних источников. Внутренние прерывания вызываются событиями,которые связаны с работой процессора и являются синхронными с его операциями (пример:возник из-за арифметического переполнения, при сложении и вычитании чисел сфиксированной точкой, при попытке деления на ноль). Внеш. прерывания вызываютсяасинхронными событиями, кот. происходят вне прерывания процесса (пример:прерывание от таймера или от системы вв/в). Обработка прерываний. Вне которогофиксирует ячейку, заносятся характеристики произошедшего прерывания.Запоминается состояние прерванного процесса. Это состояние определяетсязначением счетчика команды словом состояния процессора. В счётчик команд заноситсяадрес, который является уникальным для каждого типа прерываний. Всего может быть256 видов прерываний, каждая из которых имеет свой номер 2-х разрядное16-ричное число. 4 Обраб-ся прерывание. 5 Возобновляется нормальная работа.Шаги 1-3 обычно реализ-ся аппаратной частью, 4-5 – ОС. Прерыв-я бываютаппаратур-е, логич-ие и программные. Аппар-е выраб-ся устройствами, требующимивнимания микропроцессора. Запросы на лог. прерывания выраб-ся внутримикропроцессора при появлении внештатных операций. Запрос на прогр-е прерыванияформир-ся по команде INTn,где n- номер вызываемого прерывания.Первым действием проги обраб-ки прерываний явл. запоминание той части состоянияпроцесса, кот. еще не была заполнена. Затем прога обработки прер-я д.идентифицировать прер-е, т.е. определить, какое прер-е поступило. Затемнеобходимо выполнить те действия, кот. соответ. прерыванию. После обработкипрер-я необход-о обеспечить возобновление нормальной работы. При наличиинескольких источников запросов прерывания, часть из нихм. поступатьодндвременно, поэтому устан-ся опред. порядок или приоритет обслуж-я поступаюш.запросов. Сущ. возможность разрешать или запрещать прер-я опред. видов.

 

21. Структура сетевой ОС

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

К таким базовымконцепциям относятся:

Структурасетевой операционной системы

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

В сетевой ОС отдельноймашины можно выделить несколько частей:

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

– Средства предоставлениясобственных ресурсов и услуг в общее пользование — серверная часть ОС (сервер).Эти средства обеспечивают, например, блокировку файлов и записей, чтонеобходимо для их совместного использования; ведение справочников имен сетевыхресурсов; обработку запросов удаленного доступа к собственной файловой системеи базе данных; управление очередями запросов удаленных пользователей к своимпериферийным устройствам.

– Средства запросадоступа к удаленным ресурсам и услугам и их использования — клиентская часть ОС(редиректор). Эта часть выполняет распознавание и перенаправление в сетьзапросов к удаленным ресурсам от приложений и пользователей, при этом запроспоступает от приложения в локальной форме, а передается в сеть в другой форме,соответствующей требованиям сервера. Клиентская часть также осуществляет приемответов от серверов и преобразование их в локальный формат, так что дляприложения выполнение локальных и удаленных запросов неразличимо.

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

22. ОС разделения времени, ОСреального времени

 

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

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

 

23.Жизненный цикл процесса

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

Состояниепроцессов

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

Выполнение — активноесостояние процесса, во время которого процесс обладает всеми необходимымиресурсами и непосредственно выполняется процессором;

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

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

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

 

24.Общая модель файловой системы

 

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

В широком смысле понятие«файловая система» включает:

– совокупность всехфайлов на диске;

– наборы структур данных,используемых для управления файлами, такие, например, как каталоги файлов,дескрипторы файлов, таблицы распределения свободного и занятого пространства надиске;

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

Общаямодель файловой системы

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

Задачей символьногоуровня является определение по символьному имени файла его уникального имени. Вфайловых системах, в которых каждый файл может иметь только одно символьное имя(например, MS-DOS), этот уровень отсутствует, так как символьное имя,присвоенное файлу пользователем, является одновременно уникальным и может бытьиспользовано операционной системой. В других файловых системах, в которых одини тот же файл может иметь несколько символьных имен, на данном уровнепросматривается цепочка каталогов для определения уникального имени файла. Вфайловой системе UNIX, например, уникальным именем является номер индексногодескриптора файла (i-node).

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

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

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

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

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

25. Логическая организация файла

Программист имеет дело слогической организацией файла, представляя файл в виде определенным образоморганизованных логических записей. Логическая запись — это наименьший элементданных, которым может оперировать программист при обмене с внешним устройством.Даже если физический обмен с устройством осуществляется большими единицами,операционная система обеспечивает программисту доступ к отдельной логическойзаписи. На рисунке 2.33 показаны несколько схем логической организации файла.Записи могут быть фиксированной длины или переменной длины. Записи могут бытьрасположены в файле последовательно (последовательная организация) или в болеесложном порядке, с использованием так называемых индексных таблиц, позволяющихобеспечить быстрый доступ к отдельной логической записи(индексно-последовательная организация). Для идентификации записи может бытьиспользовано специальное поле записи, называемое ключом. В файловых системах ОСUNIX и MS-DOS файл имеет простейшую логическую структуру — последовательностьоднобайтовых записей.

26.ВосстановлениеWinNT

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

 

27.Установка WinNT

Дляначала установки Windows NT надо выполнить загрузку компа с первойустановочной дискеты или CD-ROM. После приветствия проги и сообщенияо начале установки производится анализ конфигурации компа. Прога установкипроизводит анализ установленных в системе ж\д и выводит инф-ю о них на экран.Если имеющееся на компе устр-во не обнаружено автоматически, то его надовключить вручную. Нажмите клавишу S и выберите имеющееся у вас устр-во изпредложенного списка. Если в списке ее нет, то используйте драйвер фирмыизготовителя (на дискете). После этого прога установки предложит вам полныйсписок найденного оборудования. Далее прога предложит указать, в какой раздел(лог. диск компа) установить новую ОС. Далее нужно выбрать каталог, в кот.будут находится файлы Win NT. Затем прогаустановки произведёт копирование необходимых файлов предложит перезапуститькомп.

 

28.Возможности WindowsNT

Windows NT Workstation, прежде всего, можетиспользоваться как клиент в сетях Windows NT Server, а также в сетях NetWare, UNIX, Vines. Она может бытьрабочей станцией и в одноранговых сетях, выполняя одновременно функции иклиента, и сервера. Windows NT Workstation может применяться в качестве ОСавтономного компьютера при необходимости обеспечения повышеннойпроизводительности, секретности, а также при реализации сложных графическихприложений, например, в системах автоматизированного проектирования.

WindowsNT Server может быть использован, прежде всего, как сервер в корпоративнойсети. Здесь весьма полезной оказывается его возможность выполнять функцииконтроллера доменов, позволяя структурировать сеть и упрощать задачиадминистрирования и управления. Он используется также в качестве файл-сервера,принт-сервера, сервера приложений, сервера удаленного доступа и сервера связи(шлюза). Кроме того, Windows NT Server может быть использован как платформа длясложных сетевых приложений, особенно тех, которые построены с использованиемтехнологии клиент-сервер.

Так,под управлением Windows NT Server может работать сервер баз данных MicrosoftSQL Server, а также серверы баз данных других известных фирм, такие как Oracleи Sybase, Adabas и InterBase.

Наплатформе Windows NT Server может быть установлена новая мощная системаадминистрирования Microsoft System Management Server, функцией которой являетсяинвентаризация аппаратной и программной конфигурации компьютеров сети,автоматическая установка программных продуктов на рабочие станции, удаленноеуправление любым компьютером и мониторинг сети.

WindowsNT Server может использоваться как сервер связи с мейнфреймам. Для этого созданспециальный продукт Microsoft SNA Server, позволяющий легко объединить в однойсети IBM PC-совместимые рабочие станции и мощные мейнфреймы.

Наконец,Windows NT Server является платформой для нового производительного почтовогосервера Microsoft Exchange.

 

28. АдминистрированиеWinNT

Админ-ие дисков — прога,вызов кот. осущ-ся как ПУСК-ПРОГИ-АДМИНИСТР-ИЕ-АДМИН ДИСКОВ, использ-ся длялогического разбиения ж\д, форматирования ж\д, присвоение диску др. лог. имени.После запуска проги появл-ся окно, в кот. отображена текущая конфигурациядисков компа. Привод-ся размеры дисков, их метки, название файловой системы.Диагностика компа. Для диагностики оборудования компа с Win NT использ-ся прога ДИАГНОСТИКА (ПУСК-ПРОГИ-АДМИНИСТРАТИВНЫЕЗАДАЧИ-ДИАГНОСТИКА). После вызова появл-ся окно, различные закладки которогопозволяют увидеть текущие параметры оборудования компа.

еще рефераты
Еще работы по информатике, программированию