Смекни!
smekni.com

Основы программирования (стр. 6 из 8)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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