
ТОИ. Лекция 4.ppt
- Количество слайдов: 35
Теоретические основы информатики кандидат технических наук, доцент Полупанов Дмитрий Васильевич Лекция 4. Программные средства реализации информационных процессов
Цель лекции l l l l дать понятие и классификацию программного обеспечения персонального компьютера; изучить условия лицензирования компьютерных приложений и исследовать аспекты правовой охраны ПО; рассмотреть основные компоненты системного ПО; изучить основные свойства операционных систем; дать понятие файловой системы и изучить её основные характеристики; рассмотреть основные виды прикладного ПО; изучить основные понятия инструментального ПО. 2
4. 1. Структура программного обеспечения ПК Совокупность программ, предназначенная для решения задач на ПК, называется программным обеспечением. Состав программного обеспечения ПК называют программной конфигурацией. l l l Программное обеспечение, можно условно разделить на три категории: системное ПО (программы общего пользования), выполняющие различные вспомогательные функции, например создание копий используемой информации, выдачу справочной информации о компьютере, проверку работоспособности устройств компьютера и т. д. прикладное ПО, обеспечивающее выполнение необходимых работ на ПК: редактирование текстовых документов, создание рисунков или картинок, обработка информационных массивов и т. д. инструментальное ПО (системы программирования), обеспечивающее разработку новых программ для компьютера на языке программирования. 3
4
4. 2. Правовая охрана программ Компьютерное приложение – это программа, позволяющая выполнять пользователю те или иные операции, т. е применять компьютер в своей деятельности Компьютерные приложения можно разделить на • Коммерческое ПО; • Бесплатное и условно-бесплатное ПО. 5
Коммерческое ПО Для коммерческого продвижения ПО могут быть использованы следующие типы l Trial – ограниченное число запусков или отсутсвие возможности пользоваться результатами программы; l Demo – ознакомление с меню, внешним видом и документацией. 6
Бесплатное и условнопесплатное ПО l l l Freeware – абсолютно бесплатное распространение ПО; Shareware – бесплатное пользование ПО на определенный срок; Donateware – ПО распространяется бесплатно, но автор указывает, что любой пользователь может помочь распространению программы 7
Стратегии распространения ПО Copyright - оплата при покупке каждой копии программного продукта и запрет на распространения этих копий; l Copyleft - «развитие ПО невозможно, если мы не можем разделить свои достижения с другими специалистами, чтобы они продолжили наше дело, чтобы развивали и исходили уже из того, что развили другие» Свобода программного обеспечения состоит из Ø свободы читать (изучать) код; Ø свободы писать (модифицировать) код; Ø свободы распространять (публиковать, тиражировать) код. l 8
Проект GNU Ричард Столлман, 1983 г. Цель проекта – разработка свободного ПО, чтобы можно было обойтись без ПО, которое не является свободным. Пользователь в праве: l свободно копировать и распространять программу; l изменять или совершенствовать её исходный код (поставляемый с программой); l свободно распоряжаться измененной версией. Пользователь не в праве: l при дальнейшем распространении скрыть исходный код программы, объявив 9 себя её владельцем.
4. 3. Системное программное обеспечение Это программы общего пользования не связаны с конкретным применением ПК и выполняют различные вспомогательные функции, например: • управление ресурсами компьютера; • создание копий используемой информации; • проверка работоспособности устройств компьютера; • выдача справочной информации о компьютере и др. К системному ПО относятся: • операционные системы (эта программа загружается в ОЗУ при включении ПК) • операционные оболочки (обеспечивают более удобный и наглядный способ общения с ПК, это -интерфейсные системы, которые используются для создания графических интерфейсов, мультипрограммирования и. т. • драйверы (программы, предназначенные для управления портами периферийных устройств, обычно загружаются в оперативную память при запуске ПК) • утилиты (вспомогательные или служебные программы, которые представляют пользователю ряд дополнительных услуг) • средства контроля (совокупность программно аппаратных средств для обнаружения ошибок в процессе работы ПК). 10
Операционные системы Операционная система (ОС) — комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой — предназначены для управления устройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надёжных вычислений. Это определение применимо к большинству современных ОС общего назначения. В логической структуре типичной вычислительной системы ОС занимает положение между устройствами с их микроархитектурой, машинным языком и, возможно, собственными (встроенными) микропрограммами — с одной стороны — и прикладными программами с другой 11
12
Основные функции ОС l l l l Выполнение по запросу программ тех достаточно элементарных (низкоуровневых) действий, которые являются общими для большинства программ и часто встречаются почти во всех программах (ввод и вывод данных, запуск и остановка других программ, выделение и освобождение дополнительной памяти и др. ). Загрузка программ в оперативную память и их выполнение. Стандартизованный доступ к периферийным устройствам (устройства ввода вывода). Управление оперативной памятью (распределение между процессами, организация виртуальной памяти). Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, оптические диски и др. ), организованным в той или иной файловой системе. Обеспечение пользовательского интерфейса. Сетевые операции, поддержка стека сетевых протоколов. Выполнение по запросу программ тех достаточно элементарных (низкоуровневых) действий, которые являются общими для большинства программ и часто встречаются почти во всех программах (ввод и вывод данных, запуск и остановка других программ, выделение и освобождение дополнительной памяти и др. ). Загрузка программ в оперативную память и их выполнение. Стандартизованный доступ к периферийным устройствам (устройства ввода вывода). Управление оперативной памятью (распределение между процессами, организация виртуальной памяти). Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, оптические диски и др. ), организованным в той или иной файловой системе. Обеспечение пользовательского интерфейса. Сетевые операции, поддержка стека сетевых протоколов. 13
ОС l l l l Параллельное или псевдопараллельное выполнение задач (многозадачность). Эффективное распределение ресурсов вычислительной системы между процессами. Разграничение доступа различных процессов к ресурсам. Организация надёжных вычислений (невозможности одного вычислительного процесса намеренно или по ошибке повлиять на вычисления в другом процессе), основана на разграничении доступа к ресурсам. Взаимодействие между процессами: обмен данными, взаимная синхронизация. Защита самой системы, а также пользовательских данных и программ от действий пользователей (злонамеренных или по незнанию) или приложений. Многопользовательский режим работы и разграничение прав доступа. 14
Необходимость ОС l l l вычислительная система используется для различных задач, причём программы, исполняющие эти задачи, нуждаются в сохранении данных и обмене ими. Из этого следует необходимость универсального механизма сохранения данных; в подавляющем большинстве случаев ОС отвечает на неё реализацией файловой системы. Современные ОС, кроме того, предоставляют возможность непосредственно «связать» вывод одной программы со вводом другой, минуя относительно медленные дисковые операции; различные программы нуждаются в выполнении одних и тех же рутинных действий. Например, простой ввод символа с клавиатуры и отображение его на экране может потребовать исполнения сотен машинных команд, а дисковая операция — тысяч. Чтобы не программировать их каждый раз заново, ОС предоставляют системные библиотеки часто используемых подпрограмм (функций); между программами и пользователями системы необходимо распределять полномочия, чтобы пользователи могли защищать свои данные от несанкционированного доступа, а возможная ошибка в программе не вызывала тотальных неприятностей; необходима возможность имитации «одновременного» исполнения нескольких программ на одном компьютере (даже содержащем лишь один процессор), осуществляемой с помощью приёма, известного как «разделение времени» . При этом специальный компонент, называемый планировщиком, делит процессорное время на короткие отрезки и предоставляет их поочерёдно различным исполняющимся программам (процессам); наконец, оператор должен иметь возможность так или иначе управлять процессами выполнения отдельных программ. Для этого служат операционные среды, одна из которых — оболочка и набор стандартных утилит — является частью ОС (прочие, такие, как графическая операционная среда, образуют независимые от ОС прикладные платформы) 15
Характеристка современных ОС l l l использующие файловые системы (с универсальным механизмом доступа к данным), многопользовательские (с разделением полномочий), многозадачные (с разделением времени). 16
Ядро операционной системы Ядро — центральная часть операционной системы, управляющая выполнением процессов, ресурсами вычислительной системы и предоставляющая процессам координированный доступ к этим ресурсам. Основными ресурсами являются процессорное время, память и устройства ввода вывода. Доступ к файловой системе и сетевое взаимодействие также могут быть реализованы на уровне ядра. Как основополагающий элемент ОС, ядро представляет собой наиболее низкий уровень абстракции для доступа приложений к ресурсам вычислительной системы, необходимым для их работы. Как правило, ядро предоставляет такой доступ исполняемым процессам соответствующих приложений за счёт использования механизмов межпроцессного взаимодействия и обращения приложений к системным вызовам ОС. Объекты ядра ОС: l Процессы l Файлы l События l Потоки l Семафоры l Мьютексы l Каналы l Файлы, проецируемые в память 17
Некоторые популярные операционные системы l l l MS DOS Семейство Windows Linux 18
ОС MS-DOS (англ. Microsoft Disk Operating System — дисковая ОС от Microsoft) — коммерческая операционная система фирмы Microsoft для IBM PCсовместимых персональных компьютеров. MS-DOS — самая известная ОС из семейства DOS, ранее устанавливавшаяся на большинство IBM PC -совместимых компьютеров. Разработана в 1980 г. , активно применялась до середины 1990 гг. Основные характеристики: l однозадачность (выполняется только одна программа в данный момент); l ограничения на максимальный размер оперативной памяти (640 КБ); l сложный процесс установки нового оборудования; l отсутствие графического интерфейса; l ориентация на подготовленного пользователя. 19
Семейство ОС Windows Microsoft Windows— семейство проприетарных операционных систем корпорации, ориентированных на применение графического интерфейса при управлении. Изначально были представлены многофункциональными надстройками для MS-DOS. В настоящее время под управлением операционных систем семейства Windows работает около 90% персональных компьютеров 20
Существующие ОС семейства Windows l l l l Windows 95 – первая ОС семейства. Многозадачная, графический интерфейс, облегченная настройка компьютерных устройств; Windows 98 – оптимизирована для работы в сети Internet; Windows NT – повышенная безопасность данных, предназначена для работы в компьютерных сетях; Windows 2000 – профессиональная ОС, совмещает достоинства Win 98 и Win NT; Windows ME – расширены мультимедийные возможности, повышены меры обеспечения безопасности; Windows XP – профессиональный и домашний вариант, увеличена скорость работы, повышена надежность; Windows Vista – эффективное отражение атак из сети, более привлекательный интерфейс, но завышенные минимальные требования для ПК; Windows 7 – новшества в интерфейсе и во встроенных программах, автоматическая пристыковка браузера и клиента электронной почты. 21
Основные понятия и определения Windows является 32 разрядной многозадачной операционной системой с графическим интерфейсом, поддерживает технологии Plug and Play, Drag and Drop и OLE. Последние ОС семейства существуют и как 64 разрядные. l. Технология «Plug and Play» облегчает установку новых компьютерных устройств в ПК. В общем случае, достаточно вставить устройство в гнездо компьютера и далее ОС сама найдет и установит соответствующий драйвер. l. Технология «Drag and Drop» ускоряет ввод определенной информации в ПК. Пользователь с помощью мыши может «отбуксировать» (перетащить) графический объект на экране в иное место и тем самым дать требуемую команду компьютеру. Данная технология используется, например, для копирования и удаления файлов. l. Технология OLE (Object Linking and Embedding) обеспечивает обмен информацией и взаимосвязь между различными программами. Например, можно вставить рисунок в текстовый документ. Другое определение OLE это технология работы с документами, составные части которого (объекты) разработаны в различных приложениях. Для последующей работы с внедренными объектами Windows автоматически загрузит нужное приложение. 22
ОС Linux 1991 г. , Линус Торвальдс, студент университета Хельсинки Linux относится к классу Unix-подобных ОС. 23
Характеристики Linux l l l многопользовательская и многозадачная ОС; поддерживает стандарты открытых систем; бесплатная ОС, распространяется по открытой лицензии GNU; большое количество приложений входит в дистрибутив системы; возможность использовать несколько графических оболочек, внутри каждой оболочки – несколько рабочих столов. 24
Служебное системное ПО К утилитам относятся: • диспетчеры файлов или файловые менеджеры • средства динамического сжатия данных (позволяют увеличить количество информации на диске за счет ее динамического сжатия) • средства просмотра и воспроизведения • средства коммуникаций (коммуникационные программы) предназначены для организации обмена информацией между компьютерами • средства обеспечения компьютерной безопасности (резервное копирование, антивирусное ПО). Средства контроля совокупность программно аппаратных средств ЭВМ для обнаружения ошибок в процессе работы компьютера. Они предназначены для проверки работоспособ ности отдельных узлов, блоков и всей машины в целом. Средства диагностики обеспечивают автоматический поиск ошибки и выявление неисправностей с определенной локали зацией их в ЭВМ и ее отдельных модулях. Программно-логический контроль основан на использовании избыточного кода исходных и промежуточных данных ЭВМ (дополнительный разряд при контроле на четность и нечет ность, код Хэмминга), что позволяет находить ошибки при изменении значения отдельных битов данных. Тестовый контроль осуществляется с помощью специальных тестов для проверки правильности работы ЭВМ или ее частей. Аппаратный контроль осуществляется автоматически с помощью встроенного в ЭВМ оборудования. Программно-аппаратный контроль включает программный и аппаратный 25 контроль.
Драйверы – программы, обслуживающие аппаратные модули Драйверы имеют следующие особенности: • открытую структуру, что позволяет добавлять в систему новые драйверы; • гибкость организации доступа к драйверам через програм мные прерывания, что позволяет не фиксировать их в строго определенных областях памяти, быстро и легко их заменять; • настраиваемую структуру, ориентирующую драйверные программы на определенный класс периферийных устройств, параметры которых размещены в специальных таблицах (драйверы настраиваются на конкретные периферийные устройства при помощи изменений значений в этих таблицах); • резидентное размещение в ОП, позволяющее использовать драйвер в любой момент времени из любой программы. 26
4. 4. Файловая система — регламент, определяющий способ организации, хранения и именования данных на носителях информации. Она определяет формат физического хранения информации, которую принято группировать в виде файлов. Конкретная файловая система определяет размер имени файла (папки), максимальный возможный размер файла и раздела, набор атрибутов файла. Некоторые файловые системы предоставляют сервисные возможности, например, разграничение доступа или шифрование файлов. 27
Задачи файловой системы l l l именование файлов; программный интерфейс работы с файлами для приложений; отображения логической модели файловой системы на физическую организацию хранилища данных; организация устойчивости файловой системы к сбоям питания, ошибкам аппаратных и программных средств; содержание параметров файла, необходимых для правильного его взаимодействия с другими объектами системы (ядро, приложения и пр. ). 28
Понятие файла Файл (англ. file — папка, скоросшиватель) — концепция в вычислительной технике: сущность, позволяющая получить доступ к какому-либо ресурсу вычислительной системы и обладающая рядом признаков: l фиксированное имя (последовательность символов, число или что-то иное, однозначно характеризующее файл); l определённое логическое представление и соответствующие ему операции чтения/записи. В информатике используется следующее определение: файл — поименованная совокупность байтов произвольной длины, находящихся на носителе информации 29
Принципы организации файловой системы Принцип организации файловой системы – табличный. Данные о том, в каком месте на диске записан хранится в таблице размещения файлов файл, (File Allocation Table, FAT). Эта таблица размещается в начале тома. В целях защиты тома на нем хранятся две копии FAT. В случае повреждения первой копии FAT дисковые утилиты могут воспользоваться второй копией для восстановления тома. Наименьшей физической единицей хранения данных является сектор. Размер сектора 512 байт. Поскольку размер FAT – таблицы ограничен, то для дисков, размер которых превышает 32 Мбайт, обеспечить адресацию к каждому отдельному сектору не представляется возможным. В связи с этим группы секторов условно объединяются в кластеры. Кластер является наименьшей единицей адресации к данным. Размер кластера, в отличие от размера сектора, не фиксирован и зависит от емкости диска. 30
Виды файловых систем l l FAT 12 - для дискет и небольших жестких дисков (менее 16 Мбайт) использовалась 12 -разрядная версия FAT 16 - ОС MS DOS, Win 95, Win NT реализуют 16 – разрядные поля в таблицах размещения файлов. FAT 32 - была введена в Windows 95 OSR 2 и поддерживается в Windows 98 и Windows 2000. FAT 32 представляет собой усовершенствованную версию FAT, предназначенную для использования на томах, объем которых превышает 2 Гбайт. NTFS (New Technology File System – файловая система новой технологии)с длинными именами файлов и надежной системой безопасности. Объем раздела NTFS не ограничен. В NTFS минимизируется объем дискового пространства, теряемый вследствие записи небольших файлов в крупные кластеры. Кроме того, NTFS позволяет экономить место на диске, сжимая сам диск, отдельные папки и файлы. 31
4. 5. Прикладное программное обеспечение Прикладное ПО – программы, непосредственно обеспечивающие выполнение необходимых работ на ПК: редактирование текстовых документов, создание рисунков или картинок, создание электронных таблиц и т. д. Прикладные программы могут использоваться автономно или в составе программных комплексов или пакетов. Пакеты прикладных программ (ППП) – это система программ, которые по сфере применения делятся на проблемно – ориентированные, пакеты общего назначения и интегрированные пакеты. 32
К прикладному ПО, например, относятся: • подготовки текстов на компьютере – редакторы текстов; • обработки табличных данных – табличные процессоры; • подготовки документов типографского качества – издательские системы; • обработки массивов информации – системы управления базами данных; • подготовки презентаций; • программы экономического анализа – бухгалтерские программы, программы финансового состояния, правовые базы данных и т. д. ; • программы для создания рисунков, анимации и видеофильмов – графические редакторы; • программы статистического анализа данных; • образовательные программы обучающие и контролирующие знания, электронные справочники; • CAD – системы (системы автоматизированного проектирования); • редакторы HTML или Web – редакторы; • браузеры – средства просмотра Web страниц • компьютерные игры и пр. 33
4. 6. Инструментальное программное обеспечение Инструментальное ПО или системы программирования это системы для автоматизации разработки новых программ на языке программирования. Системы программирования содержат программные средства, предназначенные для реализации операционных алгоритмов (программ) в виде некоторой последовательности распознаваемых компьютером инструкций (кодов, команд). Система программирования включает систему команд процессора, периферийных устройств, трансляторы, компиляторы и интерпретаторы различных языков программирования. По степени зависимости исходного программного кода от конкретной вычислительной системы различают машинные коды, машиннозависимые и машинно-независимые средства программирования. При этом под средством программирования понимается как алгоритмический язык, определяющий синтаксис набора инструкций, так и программа преобразования этих инструкций в машинные коды. 34
К машинно зависимым программным средствам относятся языки типа Ассемблера, в основу которых положен машинно ориентированный алгоритмический язык. Машинно независимые программные средства строятся на основе алгоритмических языков высокого уровня и предназна чены для автоматизации процесса программирования, снижения трудоемкости разработки программ и повышения их надежности. В самом общем случае для создания программы на выбранном языке программирования (языке системного программирования) нужно иметь следующие компоненты: 1. Текстовый редактор для создания файла с исходным текстом программы. 2. Компилятор или интерпретатор. Исходный текст с помощью программы компилятора переводится в промежуточный объектный код. Исходный текст большой программы состоит из нескольких модулей (файлов с исходными текстами). Каждый модуль компилируется в отдельный файл с объектным кодом, которые затем надо объединить в одно целое. 3. Редактор связей или сборщик, который выполняет связывание объектных модулей и формирует на выходе работоспособное приложение – исполнимый код. Исполнимый код – это законченная программа, которую можно запустить на любом компьютере, где установлена операционная система, для которой эта программа создавалась. Как правило, итоговый файл имеет расширение. ЕХЕ или . СОМ. 4. В последнее время получили распространение визуальный методы программирования (с помощью языков описания сценариев), ориентированные на создание Windows приложений. Этот процесс автоматизирован в средах быстрого 35 проектирования. При этом используются готовые визуальные компоненты, которые настраиваются с помощью специальных редакторов.