Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

инфопособие2013

.pdf
Скачиваний:
14
Добавлен:
04.06.2015
Размер:
6.14 Mб
Скачать

Таблица 11.5

Разновидности условно-бесплатных программ

 

Категории

 

Разновидность

 

 

 

 

Описание условий использования

 

 

 

 

 

 

 

A

В

С

D

 

 

 

 

 

 

 

shareware

+

+

Условно-бесплатные программы. Класс

 

 

 

 

 

коммерческих программ с бесплатным периодом

 

 

 

 

 

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

 

 

 

 

 

полнофункционального использования (н/или

 

 

 

 

 

сопровождения)

 

 

 

 

 

 

nagware

+

Основным ограничением использования является

(begware)

 

 

 

 

принудительное ' окно диалога, где сообщается

 

 

 

 

 

о том, что версия не зарегистрирована. После

 

 

 

 

 

оплаты данное ограничение снимается Затрудняет

 

 

 

 

 

использование программы в пакетном режиме

 

 

 

 

 

при автоматической (бездиалоговой) обработке

 

 

 

 

 

информации

 

 

 

 

 

 

liteware

+

+

"Облегченный" вариант соответствующей

 

 

 

 

 

коммерческой версии. Не ограничено временем

 

 

 

 

 

использования, но ограничено функционалом

 

 

 

 

 

 

cnppleware

+

Ключевые возможности программы удалены. Нет

 

 

 

 

 

ограничений на время использования. После

 

 

 

 

 

оплаты предоставляется полнофункциональная

 

 

 

 

 

версия

 

 

 

 

 

 

hostageware

+

Программы с функциональными, временными и

 

 

 

 

 

количественными ограничениями. Снимаются

 

 

 

 

 

(разблокируются) после оплаты

 

 

 

 

 

 

beerware

+

+

Право на использование программы, а также

 

 

 

 

 

получение исходных текстов в обмен на деньги,

 

 

 

 

 

на который автор сможет купить себе пива Другая

 

 

 

 

 

разновидность — muffinware (вместо пива автор

 

 

 

 

 

просит денег на булочку)

 

 

 

 

 

 

careware

+

+

Взимается сбор на благотворительные цели либо

(charity ware)

 

 

 

 

напрямую автору, либо по указанному адрес.

 

 

 

 

 

 

requeslware

+

+

Автор просит пользователя что-то сделать в обмен

 

 

 

 

 

на использование программы (послать открытку

 

 

 

 

 

или электронное письмо с благодарностью, внести

 

 

 

 

 

пожертвования на благотворительные цели и т. п.).

 

 

 

 

 

Разновидности: postcardware, careware

Таблица 11.6

Пробные (оценочные ) и демонстрационные программы

 

 

Категории

 

Разновидность

 

 

 

 

 

Описание

 

А

 

В

С

D

 

trial ware

 

+

+

Пробное (оценочное) программное

 

 

 

 

 

 

обеспечение. Похоже на crippleware для

 

 

 

 

 

 

класса условно-бесплатных программ.

 

 

 

 

 

 

Ограничено временем использования (как

 

 

 

 

 

 

правило, 30 дней с момента установки) или

 

 

 

 

 

 

количественными характеристиками (число

 

 

 

 

 

 

запусков программы, количество записей в БД

 

 

 

 

 

 

и т. п.), а иногда и функционалом

beta ware

+

 

+

+

Предварительная (тестовая) бета-версия

 

 

 

 

 

 

коммерческого или некоммерческого ПО.

 

 

 

 

 

 

Можно использовать бесплатно, но часто

 

 

 

 

 

 

ограничивается периодом тестирования

demo ware

+

Демонстрационные программы. Имеют

 

 

 

 

 

 

большое число ограничений. Основная цель

 

 

 

 

 

 

не пробное использование, а демонстрация

 

 

 

 

 

 

возможностей. Заметно более ограничено

 

 

 

 

 

 

по сравнению с trial ware

CD ware

+

ПО на компакт-дисках, распространяемое

 

 

 

 

 

 

в рекламных целях

 

 

 

 

 

 

 

Контрольные вопросы и задания

1.Что такое архитектура ЭВМ?

2.Дайте определение слову «программа».

3.Что такое программное обеспечение?

4.На какие типы можно разделить программное обеспечение ПК ?

5.Для чего предназначено системное, прикладное и инструментальное программное обеспечение? Какие программы в него входят?

6.Какое программное обеспечение, относящееся к системному ПО, установлено на ваш компьютер?

7.

Какое

программное

обеспечение,

относящееся

кинструментальному ПО, установлено на ваш компьютер?

8.Дайте определение понятия «базы данных».

9.Какие функции выполняют СУБД?

10.Перечислите основные модели организации данных.

11.Что такое транзакция?

164

12.Как классифицируются СУБД?

13.Какое программное обеспечение, относящееся к прикладному ПО, установлено на ваш компьютер?

14.Перечислите этапы разработки программ

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

16.Чем отличается тестирование от отладки?

17.Какие виды ошибок встречаются в программах?

18.Почему синтаксические ошибки в программах устранять гораздо проще, чем семантические?

19.Как могут проявлять себя семантические ошибки?

20.Когда программа становится программным продуктом?

21.В чем отличие утилитарных программ от программного

продукта?

22.Какие требования предъявляются к качеству программного продукта на этапах его проектирования и внедрения?

23.Что должна содержать документация программного продукта?

24.Как влияет наличие семантических ошибок на ход выполнения программы?

25.Перечислите виды бесплатного и условно-бесплатного ПО?

26.Какое бесплатное ПО установлено на вашем компьютере?

27.Какое программное обеспечение вы используете в качестве помощника в образовании?

28.Для чего нужны текстовые редакторы? Табличные процессоры? Базы данных? Какие с их помощью решаются задачи?

29.Подготовьте сообщения на тему: «Интерфейс современного программного обеспечения»; «Области применения баз данных»; «Пакеты программ для математических и инженерных расчетов».

Глава 12. ОПЕРАЦИОННЫЕ СИСТЕМЫ

12.1.История операционных систем

Внастоящее время операционные системы (ОС) – самые главные

составляющие всего программного обеспечения, имеются не только

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

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

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

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

машинного времени была

очень высокой, возникла

потребность

в одновременном выполнении

нескольких программ: одна

программа

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

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

внего входили библиотеки ввода-вывода, подпрограммы распределения оперативной памяти, т. е. все алгоритмы, не имеющие прямого отношения к задачам вычислений.

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

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

166

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

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

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

Резидентный монитор всегда находится в оперативной памяти ЭВМ (потому его и назвали резидентным), поскольку его подпрограммы нужны для выполнения всех остальных программ, для которых стали применять термины «прикладные программы» или «пользовательские программы».

Конечно, понятия «файл» и «процесс»

существовали

задолго

до появления резидентного монитора. Однако

возникновение

его как

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

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

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

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

подсистема управления вводом-выводом, программный интерфейс.

12.2. Определения операционной системы

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

Так, например, когда появились и оформились в систему первые операционные системы, целью которых было распределение ресурсов ЭВМ, в ходу было следующее определение: «Операционная система – это организованный набор программ и данных, разработанный специально для управления ресурсами вычислительной системы, облегчения создания программ для ЭВМ, и также для управления последними[10]. Это взгляд на операционную систему с точки зрения аппаратуры: есть аппаратура ЭВМ, и на ней нужно выполнять программы, а для облегчения этой задачи существует операционная система.

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

168

что к операционной системе предъявляются три требования: удобство, эффективность и возможность развития» [там же].

А вот Эндрю Таненбаум в книге «Современные операционные системы» [27] дал два определения операционной системы:

сточки зрения пользователя: «Операционная система как расширенная ЭВМ. Функция операционной системы – предоставить пользователю эквивалент расширенной ЭВМ, или виртуальной ЭВМ, которую удобнее программировать, чем основную ЭВМ»

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

Скорее всего с развитием средств обработки информации и

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

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

12.3. Состав операционной системы

Если первые ОС были компактны (ранние версии MS DOS не превышали 50 тыс. команд), то с развитием вычислительной техники и технологий их размеры росли и продолжают расти экспоненциально. Так UNIX 7.5 Bell Laboratories середины 1980-х гг. состоял примерно из 100 тыс. машинных команд, а вот WindowsVista, выпущенная в 2008 г., занимает уже 15 ГБ памяти.

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

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

В современных мультипрограммных ОС может существовать одновременно несколько процессов, порожденных по инициативе

пользователей

и их

приложений, а также инициированных ОС

для выполнения

своих

функций (системные процессы). Поскольку

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

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

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

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

170

самой ОС. Средства защиты памяти должны пресекать такие попытки доступа путем аварийного завершения программы-нарушителя.

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

Файловая система – важнейшая часть операционной системы. Этим термином обозначаются два совершенно разных понятия:

файловой системой называют набор алгоритмов операционной системы для работы с файлами;

файловая система – это структура хранения файлов на запоминающих устройствах, например дисках.

Атрибуты файлов, необходимые ОС для ведения файловой системы: имя файла (в файловой системе UNIX это просто число); тип файла (обычный файл или каталог);

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

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

число ссылок на файл (или количество символьных имѐн у файла);

номера блоков, в которых размешается файл, – список блоков файла;

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

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

Рис. 12.1. Схема файловой системы Linux

Функции управления внешними устройствами возлагаются на подсистему управления внешними устройствами, называемую также

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

172