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

ТОИ. Лекция 4.ppt

  • Количество слайдов: 35

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

Цель лекции l l l l дать понятие и классификацию программного обеспечения персонального компьютера; Цель лекции l l l l дать понятие и классификацию программного обеспечения персонального компьютера; изучить условия лицензирования компьютерных приложений и исследовать аспекты правовой охраны ПО; рассмотреть основные компоненты системного ПО; изучить основные свойства операционных систем; дать понятие файловой системы и изучить её основные характеристики; рассмотреть основные виды прикладного ПО; изучить основные понятия инструментального ПО. 2

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

4 4

4. 2. Правовая охрана программ Компьютерное приложение – это программа, позволяющая выполнять пользователю те 4. 2. Правовая охрана программ Компьютерное приложение – это программа, позволяющая выполнять пользователю те или иные операции, т. е применять компьютер в своей деятельности Компьютерные приложения можно разделить на • Коммерческое ПО; • Бесплатное и условно-бесплатное ПО. 5

Коммерческое ПО Для коммерческого продвижения ПО могут быть использованы следующие типы l Trial – Коммерческое ПО Для коммерческого продвижения ПО могут быть использованы следующие типы l Trial – ограниченное число запусков или отсутсвие возможности пользоваться результатами программы; l Demo – ознакомление с меню, внешним видом и документацией. 6

Бесплатное и условнопесплатное ПО l l l Freeware – абсолютно бесплатное распространение ПО; Shareware Бесплатное и условнопесплатное ПО l l l Freeware – абсолютно бесплатное распространение ПО; Shareware – бесплатное пользование ПО на определенный срок; Donateware – ПО распространяется бесплатно, но автор указывает, что любой пользователь может помочь распространению программы 7

Стратегии распространения ПО Copyright - оплата при покупке каждой копии программного продукта и запрет Стратегии распространения ПО Copyright - оплата при покупке каждой копии программного продукта и запрет на распространения этих копий; l Copyleft - «развитие ПО невозможно, если мы не можем разделить свои достижения с другими специалистами, чтобы они продолжили наше дело, чтобы развивали и исходили уже из того, что развили другие» Свобода программного обеспечения состоит из Ø свободы читать (изучать) код; Ø свободы писать (модифицировать) код; Ø свободы распространять (публиковать, тиражировать) код. l 8

Проект GNU Ричард Столлман, 1983 г. Цель проекта – разработка свободного ПО, чтобы можно Проект GNU Ричард Столлман, 1983 г. Цель проекта – разработка свободного ПО, чтобы можно было обойтись без ПО, которое не является свободным. Пользователь в праве: l свободно копировать и распространять программу; l изменять или совершенствовать её исходный код (поставляемый с программой); l свободно распоряжаться измененной версией. Пользователь не в праве: l при дальнейшем распространении скрыть исходный код программы, объявив 9 себя её владельцем.

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

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

12 12

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

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

Необходимость ОС l l l вычислительная система используется для различных задач, причём программы, исполняющие Необходимость ОС l l l вычислительная система используется для различных задач, причём программы, исполняющие эти задачи, нуждаются в сохранении данных и обмене ими. Из этого следует необходимость универсального механизма сохранения данных; в подавляющем большинстве случаев ОС отвечает на неё реализацией файловой системы. Современные ОС, кроме того, предоставляют возможность непосредственно «связать» вывод одной программы со вводом другой, минуя относительно медленные дисковые операции; различные программы нуждаются в выполнении одних и тех же рутинных действий. Например, простой ввод символа с клавиатуры и отображение его на экране может потребовать исполнения сотен машинных команд, а дисковая операция — тысяч. Чтобы не программировать их каждый раз заново, ОС предоставляют системные библиотеки часто используемых подпрограмм (функций); между программами и пользователями системы необходимо распределять полномочия, чтобы пользователи могли защищать свои данные от несанкционированного доступа, а возможная ошибка в программе не вызывала тотальных неприятностей; необходима возможность имитации «одновременного» исполнения нескольких программ на одном компьютере (даже содержащем лишь один процессор), осуществляемой с помощью приёма, известного как «разделение времени» . При этом специальный компонент, называемый планировщиком, делит процессорное время на короткие отрезки и предоставляет их поочерёдно различным исполняющимся программам (процессам); наконец, оператор должен иметь возможность так или иначе управлять процессами выполнения отдельных программ. Для этого служат операционные среды, одна из которых — оболочка и набор стандартных утилит — является частью ОС (прочие, такие, как графическая операционная среда, образуют независимые от ОС прикладные платформы) 15

Характеристка современных ОС l l l использующие файловые системы (с универсальным механизмом доступа к Характеристка современных ОС l l l использующие файловые системы (с универсальным механизмом доступа к данным), многопользовательские (с разделением полномочий), многозадачные (с разделением времени). 16

Ядро операционной системы Ядро — центральная часть операционной системы, управляющая выполнением процессов, ресурсами вычислительной Ядро операционной системы Ядро — центральная часть операционной системы, управляющая выполнением процессов, ресурсами вычислительной системы и предоставляющая процессам координированный доступ к этим ресурсам. Основными ресурсами являются процессорное время, память и устройства ввода вывода. Доступ к файловой системе и сетевое взаимодействие также могут быть реализованы на уровне ядра. Как основополагающий элемент ОС, ядро представляет собой наиболее низкий уровень абстракции для доступа приложений к ресурсам вычислительной системы, необходимым для их работы. Как правило, ядро предоставляет такой доступ исполняемым процессам соответствующих приложений за счёт использования механизмов межпроцессного взаимодействия и обращения приложений к системным вызовам ОС. Объекты ядра ОС: l Процессы l Файлы l События l Потоки l Семафоры l Мьютексы l Каналы l Файлы, проецируемые в память 17

Некоторые популярные операционные системы l l l MS DOS Семейство Windows Linux 18 Некоторые популярные операционные системы l l l MS DOS Семейство Windows Linux 18

ОС MS-DOS (англ. Microsoft Disk Operating System — дисковая ОС от Microsoft) — коммерческая ОС 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— семейство проприетарных операционных систем корпорации, ориентированных на применение графического Семейство ОС Windows Microsoft Windows— семейство проприетарных операционных систем корпорации, ориентированных на применение графического интерфейса при управлении. Изначально были представлены многофункциональными надстройками для MS-DOS. В настоящее время под управлением операционных систем семейства Windows работает около 90% персональных компьютеров 20

Существующие ОС семейства Windows l l l l Windows 95 – первая ОС семейства. Существующие ОС семейства 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 разрядной многозадачной операционной системой с графическим интерфейсом, Основные понятия и определения 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 относится к классу ОС Linux 1991 г. , Линус Торвальдс, студент университета Хельсинки Linux относится к классу Unix-подобных ОС. 23

Характеристики Linux l l l многопользовательская и многозадачная ОС; поддерживает стандарты открытых систем; бесплатная Характеристики Linux l l l многопользовательская и многозадачная ОС; поддерживает стандарты открытых систем; бесплатная ОС, распространяется по открытой лицензии GNU; большое количество приложений входит в дистрибутив системы; возможность использовать несколько графических оболочек, внутри каждой оболочки – несколько рабочих столов. 24

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

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

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

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

Понятие файла Файл (англ. file — папка, скоросшиватель) — концепция в вычислительной технике: сущность, Понятие файла Файл (англ. file — папка, скоросшиватель) — концепция в вычислительной технике: сущность, позволяющая получить доступ к какому-либо ресурсу вычислительной системы и обладающая рядом признаков: l фиксированное имя (последовательность символов, число или что-то иное, однозначно характеризующее файл); l определённое логическое представление и соответствующие ему операции чтения/записи. В информатике используется следующее определение: файл — поименованная совокупность байтов произвольной длины, находящихся на носителе информации 29

Принципы организации файловой системы Принцип организации файловой системы – табличный. Данные о том, в Принципы организации файловой системы Принцип организации файловой системы – табличный. Данные о том, в каком месте на диске записан хранится в таблице размещения файлов файл, (File Allocation Table, FAT). Эта таблица размещается в начале тома. В целях защиты тома на нем хранятся две копии FAT. В случае повреждения первой копии FAT дисковые утилиты могут воспользоваться второй копией для восстановления тома. Наименьшей физической единицей хранения данных является сектор. Размер сектора 512 байт. Поскольку размер FAT – таблицы ограничен, то для дисков, размер которых превышает 32 Мбайт, обеспечить адресацию к каждому отдельному сектору не представляется возможным. В связи с этим группы секторов условно объединяются в кластеры. Кластер является наименьшей единицей адресации к данным. Размер кластера, в отличие от размера сектора, не фиксирован и зависит от емкости диска. 30

Виды файловых систем l l FAT 12 - для дискет и небольших жестких дисков Виды файловых систем 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. Прикладное программное обеспечение Прикладное ПО – программы, непосредственно обеспечивающие выполнение необходимых работ 4. 5. Прикладное программное обеспечение Прикладное ПО – программы, непосредственно обеспечивающие выполнение необходимых работ на ПК: редактирование текстовых документов, создание рисунков или картинок, создание электронных таблиц и т. д. Прикладные программы могут использоваться автономно или в составе программных комплексов или пакетов. Пакеты прикладных программ (ППП) – это система программ, которые по сфере применения делятся на проблемно – ориентированные, пакеты общего назначения и интегрированные пакеты. 32

К прикладному ПО, например, относятся: • подготовки текстов на компьютере – редакторы текстов; • К прикладному ПО, например, относятся: • подготовки текстов на компьютере – редакторы текстов; • обработки табличных данных – табличные процессоры; • подготовки документов типографского качества – издательские системы; • обработки массивов информации – системы управления базами данных; • подготовки презентаций; • программы экономического анализа – бухгалтерские программы, программы финансового состояния, правовые базы данных и т. д. ; • программы для создания рисунков, анимации и видеофильмов – графические редакторы; • программы статистического анализа данных; • образовательные программы обучающие и контролирующие знания, электронные справочники; • CAD – системы (системы автоматизированного проектирования); • редакторы HTML или Web – редакторы; • браузеры – средства просмотра Web страниц • компьютерные игры и пр. 33

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

К машинно зависимым программным средствам относятся языки типа Ассемблера, в основу которых положен машинно К машинно зависимым программным средствам относятся языки типа Ассемблера, в основу которых положен машинно ориентированный алгоритмический язык. Машинно независимые программные средства строятся на основе алгоритмических языков высокого уровня и предназна чены для автоматизации процесса программирования, снижения трудоемкости разработки программ и повышения их надежности. В самом общем случае для создания программы на выбранном языке программирования (языке системного программирования) нужно иметь следующие компоненты: 1. Текстовый редактор для создания файла с исходным текстом программы. 2. Компилятор или интерпретатор. Исходный текст с помощью программы компилятора переводится в промежуточный объектный код. Исходный текст большой программы состоит из нескольких модулей (файлов с исходными текстами). Каждый модуль компилируется в отдельный файл с объектным кодом, которые затем надо объединить в одно целое. 3. Редактор связей или сборщик, который выполняет связывание объектных модулей и формирует на выходе работоспособное приложение – исполнимый код. Исполнимый код – это законченная программа, которую можно запустить на любом компьютере, где установлена операционная система, для которой эта программа создавалась. Как правило, итоговый файл имеет расширение. ЕХЕ или . СОМ. 4. В последнее время получили распространение визуальный методы программирования (с помощью языков описания сценариев), ориентированные на создание Windows приложений. Этот процесс автоматизирован в средах быстрого 35 проектирования. При этом используются готовые визуальные компоненты, которые настраиваются с помощью специальных редакторов.