Слайд 1Программное обеспечение компьютера
Слайд 2 Программное обеспечение – это совокупность программ, позволяющая организовать решение задач
пользователя на компьютере.
ПО является составной частью компьютера, и некоторая его часть поставляется вместе с технической аппаратурой.
Слайд 3Классификация ПО по назначению
Программное обеспечение
уникальное
Слайд 4Системное ПО
Системное ПО организует процесс обработки информации в компьютере.
По сути
– это программное устройство управления.
Основное назначение операционной системы – управление процессом обработки информации в ЭВМ и организация связи пользователя с ЭВМ.
Основное назначение операционной системы – обеспечение максимальной производительности компьютера
Программы контроля и диагностики обеспечивают автоматический поиск ошибки с указанием неисправного блока.
Программы тестового контроля проверяют функционирование отдельных узлов компьютера после его включения.
Слайд 5Операционные системы
Операционная система – комплекс программ, который, с одной стороны выступает
как интерфейс между аппаратурой компьютера и пользователем с его задачами, а с другой – предназначен для наиболее эффективного использования ресурсов вычислительной системы и организации надежных вычислений.
Любой из компонентов прикладного ПО обязательно работает под управлением ОС. Ни один из компонентов ПО, за исключением самой ОС, не имеет непосредственного доступа к аппаратуре компьютера. Даже пользователи взаимодействуют со своими программами через интерфейс ОС. Любые их команды, прежде чем попасть в прикладную программу, сначала проходят через ОС.
Слайд 6Основные функции операционных систем
1) Планирование заданий и использования процессора;
2) Обеспечение программ
средствами коммуникации и синхронизации (например при обмене данными);
3) Управление памятью;
4) Управление файловой системой;
5) Управление вводом-выводом;
6) Обеспечение безопасности.
Слайд 7Классификация операционных систем
(по некоторым признакам с точки зрения пользователя)
По числу одновременно
выполняемых задач:
- многозадачные (Unix, OS/2, Windows);
- однозадачные ( MS DOS )
По числу одновременно работающих пользователей:
- однопользовательские (MS DOS, Windows 3.х )
- многопользовательские (Windows NT, Unix )
Многопроцессорная обработка (реализована в таких ОС: Linux, Windows NT )
Многопроцессорные ОС делятся на: симметричные и ассиметричные ( процессоры неравноправны, главный процессор определяет загрузку и характер работы подчиненных процессоров)
Системы реального времени предназначены для управления от компьютера различными техническими объектами ( станком, спутником,…) или технологическим процессом.
Слайд 8ОС MS DOS
Имеет развитые средства доступа ко всем аппаратным компонентам, обладает
достаточно гибкой файловой системой, основанной на иерархической структуре каталогов, удобным командным языком.
Достоинства:
Развитый командный язык, работа в режиме диалога.
Возможность организации многоуровневых каталогов,
Возможность работы со всеми последовательными устройствами как с файлами
Недостатки:
- Интерфейс – командной строки,
- Неграфическая ОС
Слайд 9Операционные оболочки
Для упрощения работы с компьютером, модифицирующие только пользовательский интерфейс, повышая
его уровень за счет системы «меню» и использования функциональных клавиш.
Примеры – Norton Commander, FAR
Недостаток – основным инструментом пользователя оставалась клавиатура.
Качественный переход произошел после того, как появились графические оболочки
Слайд 10ОС Windows
Реализован объектно-ориентированный подход, который выражался в том, что интерфейс
представляет собой подобие реального мира, а работа с компьютером сводится к действиям с привычными объектами: папками, документами, корзиной….
Преимущества Windows :
Графический интерфейс,
Позволяет работать с сетью компьютеров,
Обеспечивает многозадачный режим работы с программами,
Почти все программы получили практически унифицированный интерфейс,
Внедрена технология «перенести и внедрить» (объекты из любых программ можно вставлять в другие программы)
Слайд 11ОС Windows
Недостатки:
Высокие требования к конфигурации аппаратного обеспечения,
Секретность системы оставляет желать
лучшего (при работе в сети),
Вероятность потери данных остается высокой (из-за сложности системы случаются сбои)
Слайд 12Система программирования
Система программирования – это совокупность языка программирования и технических средств,
обеспечивающих выполнение программ на ЭВМ
Система программирования позволяет разрабатывать программы на удобном символическом языке, а не в машинных кодах.
Символические языки подразделяются на :
машинно-ориентированные ( в которых отражена структура данного компьютера) используются при написании системных программ
алгоритмические ( программирование на которых ведется безотносительно к конкретному типу компьютера) применяются для пользовательских программ
Слайд 13Классификация языков программирования
По степени ориентации на специфические возможности ЭВМ ЯП
делятся на:
- машинно-зависимые (языки низкого уровня – ассемблер, автокоды)
- машинно-независимые (языки высокого уровня – бейсик, паскаль, фортран,…)
2. По степени ориентации на решение определенного класса задач (машинно-независимые языки делятся):
- процедурно-ориентированные; ( Бейсик, Паскаль, Фортран, Кобол)
- проблемно-ориентированные; ( Лисп)
- объектно-ориентированные; (Ада 93,95,Java, Delphi, Visual Basic, C++)
- сверхуниверсальные (Ада)
3. По способу получения результата:
- процедурные;
- непроцедурные.
.
Слайд 14Классификация процедурных языков программирования по моделям (стилям ) программирования
Выполнение программы сводится
к последовательному выполнению операторов с целью преобразования исходного состояния памяти.
Императи́вное (операциональное) программи́рование —описывает процесс вычисления в виде инструкций, изменяющих состояние программы. Императивная программа очень похожа на приказы, выражаемые повелительным наклонением в естественных языках, то есть это последовательность команд, которые должен выполнить компьютер.
Первыми императивными языками были машинные коды.
Основная концепция – переменная.
Слайд 15Основные модели программирования
2) Структу́рное программи́рование — методология разработки программного обеспечения, в
основе которой лежит представление программы в виде иерархической структуры блоков. Предложена в 70-х годах XX века Э. Дейкстрой, разработана и дополнена Н. Виртом.
В соответствии с данной методологией любая программа представляет собой структуру, построенную из трёх типов базовых конструкций:
- последовательное исполнение — однократное выполнение операций в том порядке, в котором они записаны в тексте программы;
- ветвление — однократное выполнение одной из двух или более операций, в зависимости от выполнения некоторого заданного условия;
- цикл — многократное исполнение одной и той же операции до тех пор, пока выполняется некоторое заданное условие (условие продолжения цикла).
Разработка программы ведётся пошагово, методом «сверху вниз».
Слайд 16Основные модели программирования
Повторяющиеся фрагменты программы (либо не повторяющиеся, но представляющие собой
логически целостные вычислительные блоки) могут оформляться в виде т. н. подпрограмм (процедур или функций). В этом случае в тексте основной программы, вместо помещённого в подпрограмму фрагмента, вставляется инструкция вызова подпрограммы. При выполнении такой инструкции выполняется вызванная подпрограмма, после чего исполнение программы продолжается с инструкции, следующей за командой вызова подпрограммы.
Деление программы на модули и функции – основа структурного программирования.
Слайд 17Основные модели программирования
3) Функциона́льное программи́рование — процесс вычисления трактуется как вычисление
значений функций в математическом понимании последних (в отличие от функций как подпрограмм в процедурном программировании.
Основной конструкцией является – выражение.
Программа представляет собой совокупность описаний и выражения, которое необходимо вычислить. Оно вычисляется посредством серии упрощений (редукции) до тех пор пока это возможно.
Функциональное программирование не предполагает изменяемость данных (в отличие от императивного, где одной из базовых концепций является переменная). Пример – язык Lisp.
Слайд 18Основные модели программирования
4) Логи́ческое программи́рование —основано на теории и аппарате
математической логики с использованием математических принципов резолюций.
Основное понятие – отношение. Программа представляет собой совокупность определений отношений между объектами и цели.
алгоритм = логика + управление
Логические языки программирования обычно определяют что надо вычислить, а не как это надо делать.
Самым известным языком логического программирования является Prolog.
Слайд 19Основные модели программирования
5) Объектно-ориентированное программирование (ООП) —программирование, в которой основными концепциями
являются понятия объектов и классов.
Программа на объектно-ориентированном языке состоит из совокупности объектов, взаимодействующих между собой посредством вызова методов друг другу.
Класс представляет собой образ, определяющий структуру своих объектов. Объект — это экземпляр класса. Обычно классы разрабатывают таким образом, чтобы их объекты соответствовали объектам предметной области.
объект = данные + методы
Слайд 20Основные концепции ООП
Инкапсуляция – это объединение данных и функций для их
обработки в одном классе – типе объекта.
Наследование – это средство получения новых классов из существующих, называемых базовыми.
Полиморфизм – это многообразие форм. Это свойство, которое позволяет использовать операции и функции различным образом в зависимости от того, с какими типами величин они работают.
Слайд 21Система программирования
Трансляторы - комплекс программ, обеспечивающий автоматический перевод с символического языка
на машинный язык.
Естеств.язык -> символич.язык -> транслятор -> маш.язык -> команды
Транслятор создает из исходного модуля объектный модуль.
В зависимости от функционального назначения транслятор может быть: компилятором, интепретатором, ассемблером или языковым процессором.
Компилятор – это транслятор, обеспечивающий перевод программы, написанной на алгоритмическом языке, в совокупность машинных команд без ее выполнения в компьютере.
Интерпретатор – транслятор, обеспечивающий перевод каждой конструкции алгоритмического языка в машинные команды и одновременное выполнение этой инструкции в компьютере. (Бэйсик)
Ассемблер – транслятор, выполняющий перевод программы, записанной на машинно-ориентированном языке ассемблера, в совокупность машинных команд.
Языковой процессор –транслятор, совмещающий в себе функции компиляции, интерпретации и ассемблирования (для специализированных языков высокого уровня)
Слайд 22Пакеты прикладных программ
Пакет прикладных программ – это комплекс программ, предназначенный для
решения определенного класса задач.
Основное назначение – дать пользователю средство обработки информации, которое не требует знаний языков программирования.
(Текстовые редакторы, Электронные таблицы, СУБД, САПР, бухгалтерские программы, программы обработки графики, утилиты, архиваторы, антивирусы…. Назначение этих программ – самостоятельно!)
Библиотека стандартных программ – ее составляют часто используемые программы вычисления функций, например log x, sin x, … Разработаны заранее и хранятся в постоянной или внешней памяти.
Слайд 23Уникальное ПО
Уникальное ПО – комплекс программ, предназначенный для решения специализированных задач.
В
процессе его создания может быть создана своя уникальная операционная система, основное назначение которой – обеспечить решение конкретной задачи и удовлетворить требованиям технического задания на данный проект.
Используется в компьютерах, которые управляют космическими ракетами, обрабатывают навигационную информацию на самолетах и кораблях, управляют роботами….