
Лекции 140400
.pdfЛекция 5 140400
Adware (рекламно-оплачиваемое ПО) - разновидность shareware, где в качестве регистрационной платы выступает просмотр какой-либо рекламы во время использования программы.
Donation ware (условно-платное ПО) - разновидность shareware, где разработчик просит перечислить за программу немного денег, но платить он никого не принуждает и функциональность программы не ограничивает.
Commercialware (коммерческое ПО) - к таким программам относятся все крупные программные пакеты известных производителей и ряд утилит. Программы этого типа можно приобрести обычно в красивых коробках с набором дополнительных аксессуаров. Однако сегодня все чаще и чаще программные продукты продаются через сеть Интернет. Покупать можно либо на сайтах производителей программ, либо — в больших Интернет-магазинах программного обеспечения.
3 СИСТЕМНОЕ ПО
3.1 Классификация системного ПО
Системное программное обеспечение (System Software) — совокупность программ и программных комплексов для обеспечения работы компьютеров и сетей ЭВМ.
Системные программы выполняются вместе с прикладными и служат для управления ресурсами компьютера — центральным процессором, памятью, вводом-выводом. Это программы общего пользования, которые предназначены для всех пользователей компьютера. Системное программное обеспечение разрабатывается так, чтобы компьютер мог эффективно выполнять прикладные программы.
Системное ПО состоит из базового программного обеспечения, которое, как правило, поставляется вместе с компьютером, и сервисного программного обеспечения, которое может быть приобретено дополнительно.
Вбазовое программное обеспечение входят:
-операционная система;
-операционные оболочки (текстовые и графические);
-системные утилиты.
Операционная система предназначена для управления выполнением пользовательских программ, планирования и управления вычислительными ресурсами ЭВМ. Она выполняет роль связующего звена между аппаратурой компьютера, с одной стороны, и выполняемыми программами, а также пользователем — с другой.
Операционные оболочки в отличие от ОС, предоставляют только один вид интерфейса — интерфейс пользователя. Главная задача операционной оболочки — предоставление пользователю более удобного интерфейса, чем тот, который ему предоставляет ОС. Операционные оболочки расширяют возможности компьютера, но платой за это являются повышенные требования к ресурсам.
51

Лекция 5 140400
Рисунок 9 - Классификация системного программного обеспечения
Утилиты (от лат. utilitas — польза) — программы, служащие для выполнения вспомогательных операций обработки данных или обслуживания компьютеров
Часть утилит входит в состав операционной системы, другая часть функционирует независимо от нее — автономно.
Сервисное программное обеспечение. Расширением базового программного обеспечения компьютера является набор сервисных, дополнительно устанавливаемых программ.
3.2 Виды и основные функции операционных систем
Операционная система обычно хранится во внешней памяти компьютера
— на диске. При включении компьютера ядро ОС считывается с дисковой памяти и размещается в ОЗУ - этот процесс называется загрузкой ОС.
Все операционные системы обеспечивают свой автоматический запуск. Для дисковых ОС в специальной (системной) области диска создается
запись программного кода. Обращение к этому коду выполняют программы, находящиеся в базовой системе ввода-вывода (BIOS). Завершая свою работу, они дают команду на загрузку и исполнение содержимого системной области диска.
Недисковые ОС характерны для специализированных вычислительных систем, в частности для компьютеризированных устройств автоматического управления. Математическое обеспечение, содержащееся в микросхемах ПЗУ таких компьютеров, можно условно рассматривать как аналог операционной системы. Ее автоматический запуск осуществляется аппаратно.
52
Лекция 5 140400
Все современные дисковые операционные системы обеспечивают создание файловой системы, предназначенной для хранения именованных данных на дисках и обеспечения доступа к ним.
Основная функция всех операционных систем — посредническая и заключаются в обеспечении трех видов интерфейса:
-интерфейс пользователя - интерфейс между пользователем и программно-аппаратными средствами компьютера;
-аппаратно - программный интерфейс - интерфейс между программным и аппаратным обеспечением;
-программный интерфейс - интерфейса между разными видами
программного обеспечения.
Все операционные системы способны обеспечивать как пакетный, так и диалоговый режим работы с пользователем.
Впакетном режиме ОС автоматически исполняет заданную последовательность команд.
Вдиалоговом режиме ОС находится в ожидании команды пользователя и, получив ее, приступает к исполнению, а, исполнив, возвращает отклик и ждет очередной команды.
По реализации интерфейса пользователя различают неграфические и графические операционные системы.
Неграфические ОС реализуют интерфейс командной строки. Графические ОС реализуют более сложный тип интерфейса, в котором в
качестве органа управления кроме клавиатуры может использоваться мышь или адекватное устройство позиционирования. Работа с графической операционной системой основана на взаимодействии активных и пассивных экранных элементов управления.
Операционные системы для персональных компьютеров делятся на:
-одно- и многозадачные;
-одно- и многопользовательские;
-несетевые и сетевые, обеспечивающие работу в локальной вычислительной сети ЭВМ;
-непереносимые и переносимые на другие типы компьютеров.
Каждая операционная система имеет свой командный язык, который позволяет пользователю выполнять те или иные действия.
3.3 Взаимодействие с аппаратными средствами
Ни один разработчик программного обеспечения не в состоянии предусмотреть все варианты взаимодействия средств аппаратного обеспечения вычислительной техники со своей программой.
Выпуская устройство, его разработчик прикладывает к нему несколько драйверов - специальных программных средств управления, предназначенных для основных операционных систем.
Драйверы имеют точки входа для взаимодействия с прикладными программами, а диспетчеризация обращений прикладных программ к драйверам устройств — это одна из функций операционной системы.
53
Лекция 5 140400
Загрузка драйверов устройств может быть ручной или автоматической, когда команды на загрузку и настройку драйверов включаются в состав файлов, автоматически читаемых при загрузке компьютера.
Воперационных системах Windows, операционная система берет на себя все функции по установке драйверов устройств и передаче им управления от приложений. Во многих случаях операционная система даже не нуждается в драйверах, полученных от разработчика устройства, а использует драйверы из собственной базы данных.
Операционная система анализирует требования устройств о выделении им ресурсов и гибко реагирует на них, исключая захват одних и тех же ресурсов разными устройствами. Такой принцип динамического распределения ресурсов операционной системой получил название plug-and-play, а устройства, удовлетворяющие этому принципу, называются самоустанавливающимися.
Вбазовый состав ОС включены служебные приложения.
3.3.1 Средства проверки дисков
Надежность работы дисков (особенно жесткого диска) определяет не только надежность работы компьютера в целом, но и безопасность хранения данных, ценность которых может намного превышать стоимость самого компьютера. Поэтому наличие средств, для проверки дисков является обязательным требованием к любой операционной системе.
Логические ошибки, при проверке целостности файловой структуры, как правило, устраняются средствами самой операционной системы. Физические дефекты поверхности только локализуются.
Логические ошибки файловой структуры имеют два характерных проявления: это потерянные кластеры или общие кластеры.
Потерянные кластеры образуются в результате неправильного (или аварийного) завершения работы с компьютером.
Общие кластеры - ошибка, характеризуется тем, что, согласно данным FAT-таблиц, два или более файлов претендуют на то, что их данные находятся в одном и том же месте диска. Причиной появления общих кластеров может стать самопроизвольное изменение данных в FAT-таблицах или некорректное восстановление ранее удаленных данных с помощью внесистемных средств.
3.3.2 Средства управления виртуальной памятью
Виртуальная память - расширение адресного пространства задачи, полученное за счёт использования части внешней памяти.
Программы циркулируют между диском и оперативной памятью. Используемая для этой цели, часть внешней памяти называется файлом подкачки, а процесс подкачки известен под названием свопинг. Объем файла подкачки может в несколько раз превышать объем оперативной памяти.
3.3.3 Средства кэширования дисков
Взаимодействие процессора с дисками компьютера происходит намного медленнее операций обмена с оперативной памятью, и операционная система принимает специальные меры по сохранению части прочитанных с диска данных в специальной области ОЗУ, называемой дисковым кэшем. Эту
54
Лекция 5 140400
функцию включают в ядро системы, и она работает автоматически, без участия пользователя, хотя определенная возможность настройки размера кэша за ним сохраняется.
3.3.4 Средства резервного копирования данных
Ценность данных, размещенных на компьютере, принято измерять совокупностью затрат, которые может понести владелец в случае их утраты. В связи с особой важностью этой задачи операционные системы обычно содержат базовые средства для выполнения резервного копирования.
3.4Наиболее распространенные операционные системы
Всекторе программного обеспечения и операционных систем ведущее положение занимают фирмы IBM, Microsoft, UNISYS, Novell. Рассмотрим наиболее распространенные типы операционных систем: WINDOWS, MS DOS, UNIX и Linux.
3.4.1 Характеристика операционной системы Windows
ОС Windows создана на базе объектно-ориентированной методологии программирования, ее основные понятия: объект, его свойства и действия, которые объект может выполнять в зависимости от запроса.
Основными характеристиками Windows являются:
-32 или 64-разрядная архитектура;
-многозадачность и многопоточность,
-графический пользовательский интерфейс;
-подключение новых периферийных устройств по технологии Plug and Play;
-использование виртуальной памяти;
-совместимость с ранее созданным программным обеспечением;
-наличие коммуникационных программных средств;
-наличие средств мультимедиа.
32-разрядная архитектура
Windows 95 – была первая 32-разрядная операционная система для компьютеров IBM PC (возможность использования 32 разрядов при адресации
ипередаче данных по адресным шинам и шинам данных).
Всреде Windows 16-разрядные программы также функционируют, но не задействуют все ресурсы системы.
Многозадачность и многопоточность
Операционная система Windows является многозадачной, т.е. она способна "одновременно" выполнять несколько программ. На самом деле один микропроцессор может выполнять инструкции только одной программы. Однако ОС настолько оперативно реагирует на потребности той или иной программы, что создается впечатление одновременности их работы.
Квант времени - короткий период времени, в течение которого отдельная задача, выполняемая во многозадачной среде, занимает микропроцессор (продолжительность интервала составляет 7, 10 или 15 мс).
55
Лекция 5 140400
Многозадачность может быть кооперативной и вытесняющей. При кооперативной многозадачности ОС не занимается решением проблемы распределения процессорного времени. Распределяют его сами программы.
При вытесняющей многозадачности распределением процессорного времени между программами занимается операционная система. Она выделяет каждой задаче фиксированный квант времени процессора. По истечении этого кванта времени ОС вновь получает управление, чтобы выбрать другую задачу.
Многопоточность операционной системы означает, что работающие программы (процессы) могут разделяться на несколько частей, самостоятельно претендующих на процессорное время. Это обеспечивает одновременное выполнение программой нескольких не связанных друг с другом операций.
Графический пользовательский интерфейс
Пользовательский интерфейс Windows использует графический режим
видеомонитора.
Основой интерфейса пользователя в ОС Windows является использование идей так называемого WIMP-интерфейса:
-окна (Windows) как основной элемент экрана, в границах которых происходят все действия пользователя;
-графические значки (Icons) как представители объектов манипулирования;
-манипулятор типа «мышь» (Mouse);
-меню как основной элемент диалога, команды которого автоматически всплывают и/или выделяются пользователем из строки меню (Pop-up, Pull down).
Использование виртуальной памяти
Windows самостоятельно выбирает размер виртуальной памяти в зависимости от реальной потребности текущей задачи. Это позволяет обеспечить, например, работу одновременно нескольких приложений, для которых требуется суммарный объем оперативной памяти, превышающий реально существующий. Однако при этом снижается производительность компьютера в связи с необходимостью выделить часть вычислительных ресурсов на организацию обмена между оперативной и внешней памятью.
Совместимость с ранее созданным программным обеспечением
Под совместимостью с программным обеспечением понимают способность операционной системы исполнять программные продукты, созданные в другой операционной системе. В большинстве случаев операционная система Windows обеспечивает такую совместимость на IBMподобных компьютерах не только для программ ранних версий, но и для программ операционной системы MS DOS.
Наличие коммуникационных программных средств
Важнейшим направлением развития Windows является включение в ее структуру широко используемых и специальных программных средств, для
56
Лекция 5 140400
поддержки различных коммуникаций и компьютерных сетей, интеграции с глобальной сетью Интернет.
Наличие средств мультимедиа
Наличие средств мультимедиа позволяет реализовать работу пользователя с графической, аудио- и видеоинформацией на уровне ОС, что обеспечивает совместимость с различными средствами мультимедиа.
3.4.2 Характеристика операционной системы Unix
Операционная система UNIX была создана в Bell Telephone Laboratories. Система полностью написана на ассемблере, официальным днем ее рождения стало 1 января 1970 года. В 1973 году большая часть ядра UNIX переписывается на языке высокого уровня C и имеет только около 10% кода на ассемблере, что сделало ее простой для понимания, изменения и переноса на другие платформы. UNIX является одной из наиболее открытых систем.
UNIX — многозадачная многопользовательская система, легко переносима на другие архитектуры. Один мощный сервер может обслуживать запросы большого количества пользователей. Кроме того, система способна выполнять большое количество различных функций, в частности, работать, как вычислительный сервер, как сервер базы данных, как сетевой сервер, поддерживающий важнейшие сервисы сети и т.д.
Сейчас существуют десятки операционных систем, которые можно объединить под общим названием UNIX. В основном это коммерческие версии, выпущенные производителями аппаратных платформ для компьютеров своего производства.
Несмотря на разнообразие версий UNIX, основой всего семейства являются принципиально одинаковая архитектура и ряд стандартных интерфейсов. Для администратора переход на другую версию системы не составит большого труда, а для пользователей он может и вовсе оказаться незаметным.
Простой, но мощный модульный пользовательский интерфейс обеспечивает популярность UNIX. Имея в своем распоряжении набор утилит, каждая из которых решает узкую специализированную задачу, можно конструировать из них сложные комплексы.
Используется единая легко обслуживаемая иерархическая файловая система. Файловая система UNIX — это не только доступ к данным, хранящимся на диске. Через унифицированный интерфейс файловой системы осуществляется доступ к терминалам, принтерам, сети и т.п.
UNIX имеет большое количество приложений, в том числе свободно распространяемых, начиная от простейших текстовых редакторов и заканчивая мощными системами управления базами данных.
3.4.3 Характеристика операционной системы Linux
Linux (полное название GNU/Linux, произносится «гну слэш линукс́ ») — общее название UNIX-подобных операционных систем на основе одноимённого ядра и собранных для него библиотек и системных программ, разработанных в рамках проекта GNU.
57
Лекция 5 140400
Linux в своем первоначальном виде была создана Линусом Торвальдсом как версия ОС UNIX для IBM-совместимых персональных ЭВМ. При этом Торвальдс опубликовал исходные коды своей системы в Интернет (файлы первого варианта ОС Linux датированы 17 сентября 1991 года) и к развитию системы подключилось большое число независимых разработчиков. Торвальдс разработал не саму операционную систему, а только ее ядро, подключив уже имеющиеся компоненты.
Традиционный подход к разработке — централизация управления разными стадиями и преимущественно «нисходящая» разработка (т. е. постоянная детализация).
Linux создавалась по-иному. Готовый работающий макет постоянно совершенствовался и развивался децентрализованной группой энтузиастов, действия которых лишь слегка координировались. Налицо «восходящая» разработка: сборка все более крупных блоков из мелких ранее созданных.
Разработка по методу Linux — это метод проб и ошибок, построенный на интенсивном тестировании. Недостаток такого подхода — отсутствие унифицированной и продуманной процедуры установки системы, и это до сих пор является одним из главных сдерживающих факторов для более широкого распространения Linux. На сегодняшний момент Linux - самая современная, устойчивая и быстроразвивающаяся система, почти мгновенно вбирающая в себя самые последние технологические новшества, и при этом она бесплатная.
Под Linux существует множество приложений, предназначенных как для домашнего использования, так и для полностью функциональных рабочих станций UNIX и серверов Internet.
ОС LINUX обладает всеми возможностями, которые присущи современным полнофункциональным операционным системам типа UNIX:
-Реальная многозадачность.
-Многопользовательский доступ.
-Свопирование оперативной памяти на диск.
-Страничная организация памяти.
Системная память Linux организована в виде страниц объемом 4K.
-Загрузка выполняемых модулей "по требованию" (только необходимая часть кода исполняемой программы находится в ОС, а не используемая в данный момент - остается на диске).
-Совместное использование исполняемых программ.
-Общие библиотеки.
-Динамическое кеширование диска.
-Возможность запуска исполняемых файлов других ОС.
-Поддержка различных форматов файловых систем (собственная
файловая система Linux ext2fs).
-Сетевые возможности.
-Работа на разных аппаратных платформах.
Вотличие от Microsoft Windows, Mac OS и коммерческих UNIX-
подобных систем, GNU/Linux не имеет географического центра разработки. Нет и организации, которая владела бы этой системой.
58

Лекция 6 140400
Лекция 6
ИНСТРУМЕНТАЛЬНОЕ ПО
1.Инструментальное ПО
2.Языки программирования
3.Типы языков программирования высокого уровня
4.Средства создания программ
5.Интегрированные программные среды
6.Виды систем программирования
1 ИНСТРУМЕНТАЛЬНОЕ ПО
Инструментарий технологии программирования обеспечивает процесс разработки программ и включает специализированные программные продукты, которые являются инструментальными средствами разработчика. Программные продукты данного класса поддерживают все технологические этапы процесса проектирования, программирования (кодирования), отладки и тестирования создаваемых программ. Пользователями технологии программирования выступают системные и прикладные программисты.
Инструментарий технологии программирования — совокупность программ и программных комплексов, обеспечивающих технологию разработки, отладки и внедрения создаваемых программ.
Классификация инструментария программирования
Выделяют следующие группы инструментальных средств технологии программирования:
•средства для создания приложений, включающие:
-локальные средства, обеспечивающие выполнение отдельных работ по созданию программ;
-интегрированные среды разработчиков программ, обеспечивающие выполнение комплекса взаимосвязанных работ по созданию программ;
•CASE-технология (Computer-Aided System Engineering),
59
Лекция 6 140400
представляющая методы анализа, проектирования и создания программных систем и предназначенная для автоматизации процессов разработки и реализации информационных систем.
Рассмотрим средства для создания приложений более подробно. Локальные средства разработки программ наиболее представительны на
рынке программных продуктов и состоят из языков и систем программирования, а также инструментальной среды пользователя.
Язык программирования — формализованный язык для описания алгоритма решения задачи на компьютере.
Системы программирования - это комплекс инструментальных программных средств, предназначенный для работы с программами на одном из языков программирования. Системы программирования предоставляют сервисные возможности программистам для разработки их собственных компьютерных программ.
Инструментальная среда пользователя представлена специальными средствами, встроенными в пакеты прикладных программ, такими как:
-библиотека функций, процедур, объектов и методов обработки;
-макрокоманды;
-клавишные макросы;
-языковые макросы;
-программные модули-вставки;
-конструкторы экранных форм и отчетов;
-генераторы приложений;
-языки запросов высокого уровня;
-языки манипулирования данными;
-конструкторы меню и многое другое.
Интегрированные программные среды разработчиков - дальнейшее развитие локальных средств разработки программ, они объединяют набор средств, для комплексного их применения на всех технологических этапах создания программ. Основное назначение инструментария данного вида — повышение производительности труда программистов, автоматизация создания кодов программ, обеспечивающих интерфейс пользователя графического типа, разработка приложений для архитектуры клиент-сервер, запросов и отчетов.
2 ЯЗЫКИ ПРОГРАММИРОВАНИЯ
Одной из самых революционных идей, приведших к созданию автоматических цифровых вычислительных машин, была высказанная в 20-х
годах XIX века мысль о предварительной записи порядка действий машины для последующей автоматической реализации вычислений - программе. И, хотя запись программы на перфокартах технически не имеет ничего общего с современными приемами хранения программ в ЭВМ, принцип здесь один. С этого момента начинается история программирования.
Революционным моментом в истории языков программирования стало появление системы кодирования машинных команд с помощью специальных символов, предложенной Джоном Моучли.
Языки программирования служат разным целям, и их выбор определяется
60