Программное обеспечение
- Введение
- Прикладные программы
- Системные программы
- Системы программирования
- Сжатие файлов. Архиваторы
- Компьютерные вирусы и антивирусы
© К.Ю. Поляков, 2007
Программное обеспечение
Тема 1. Введение
© К.Ю. Поляков, 2007
Программное обеспечение
Взаимодействие человека с компьютером
аппаратные средства
( hardware )
программное обеспечение
( software )
Программное обеспечение
- Прикладное ПО – программы, которые пользователь использует для решения своих задач
- текстовые редакторы графические редакторы базы данных …
- текстовые редакторы
- графические редакторы
- базы данных …
- Системное ПО – обеспечивает взаимодействие пользователя и прикладных программ с аппаратными средствами
- операционные системы драйверы утилиты
- операционные системы
- драйверы
- утилиты
- Системы программирования – средства создания новых программ.
- Программы пользователей – пользователи составляют их для своих собственных нужд.
Программное обеспечение
ПРОГРАММИСТЫ
системы программирования
аппаратные средства
( hardware )
системное ПО
прикладное ПО
ПОЛЬЗОВАТЕЛИ
Программное обеспечение
Тема 2. Прикладные программы
© К.Ю. Поляков, 2007
Прикладное ПО
- Текстовые редакторы – программы для редактирования текстовых документов
- Блокнот – файлы *.txt , только текст, без оформления) WordPad – файлы *.doc ( текст + рисунки ) Word – файлы *.doc ( текст + рисунки + таблицы + автофигуры + … )
- Блокнот – файлы *.txt , только текст, без оформления)
- WordPad – файлы *.doc ( текст + рисунки )
- Word – файлы *.doc ( текст + рисунки + таблицы + автофигуры + … )
- Графические редакторы – программы для редактирования изображений
Растровые рисунки:
- Paint – файлы *.bmp ( также *.gif, *.jpg ) Adobe Photoshop – файлы *.psd
- Paint – файлы *.bmp ( также *.gif, *.jpg )
- Adobe Photoshop – файлы *.psd
Векторные рисунки :
- CorelDraw – файлы *.cdr Adobe Illustrator – файлы *.ai
- CorelDraw – файлы *.cdr
- Adobe Illustrator – файлы *.ai
- Редакторы видеофильмов (файлы *.avi , *.mpg , *.wmv )
- Pinnacle Studio Adobe Premier
- Pinnacle Studio
- Adobe Premier
- Издательские системы – для подготовки печатных материалов
- Microsoft Publisher QuarkXPress PageMaker
- Microsoft Publisher
- QuarkXPress
- PageMaker
Прикладное ПО
- Электронные таблицы – программы для выполнения расчетов с табличными данными
- Microsoft Excel – файлы *.xls
- Microsoft Excel – файлы *.xls
- Системы управления базами данных
- Microsoft Access – файлы *.mdb FoxPro Cronix
- Microsoft Access – файлы *.mdb
- FoxPro
- Cronix
- Браузеры – программы для просмотра Web- страниц на экране
- Internet Explorer Mozilla Firefox Opera
- Internet Explorer
- Mozilla Firefox
- Opera
- Почтовые программы – прием и отправка электронной почты
- Microsoft Outlook TheBat
- Microsoft Outlook
- TheBat
- Программы для создания Web- страниц
- Microsoft FrontPage Macromedia Dreamweawer HomeSite
- Microsoft FrontPage
- Macromedia Dreamweawer
- HomeSite
Программное обеспечение
Тема 3. Системные программы
© К.Ю. Поляков, 2007
Операционные системы
Операционная система (ОС) – это комплекс программ, обеспечивающих пользователю и прикладным программам удобный интерфейс (способ обмена информацией) с аппаратными средствами компьютера.
Функции ОС (что она делает):
- обеспечивает обмен данными с внешними устройствами поддерживает файловую систему (работа с файлами и папками):
- обеспечивает обмен данными с внешними устройствами
- поддерживает файловую систему (работа с файлами и папками):
FAT16 – старые ОС ( MS DOS ), раздел диска до 2 Гб
FAT32 – начиная с Windows 95 OSR 2 , раздел до 2 Тб
NTFS – Windows NT/2000/XP/ 2003 , раздел до 2 Тб
● права доступа для пользователей
● квоты на объем каталога
CDFS – файловая система компакт-дисков
- FAT16 – старые ОС ( MS DOS ), раздел диска до 2 Гб FAT32 – начиная с Windows 95 OSR 2 , раздел до 2 Тб NTFS – Windows NT/2000/XP/ 2003 , раздел до 2 Тб ● права доступа для пользователей ● квоты на объем каталога CDFS – файловая система компакт-дисков
- обеспечивает запуск и выполнение остальных программ тестирование компьютера, обработка ошибок распределение ресурсов (процессор, память, внешние устройства)
- обеспечивает запуск и выполнение остальных программ
- тестирование компьютера, обработка ошибок
- распределение ресурсов (процессор, память, внешние устройства)
Состав операционной системы
- загрузчик ОС – это небольшая программа, которая находится в секторе 0 загрузочного диска, ее задача – загрузить в память основную часть (ядро) ОС
- система распределения памяти
- система ввода и вывода ( BIOS = Basic Input and Output System ) , в микросхеме флэш-памяти на материнской плате
- тестирование при запуске чтение и запись на диски обмен данными с клавиатурой, монитором, принтером календарь и часы настройки данного компьютера
- тестирование при запуске
- чтение и запись на диски
- обмен данными с клавиатурой, монитором, принтером
- календарь и часы
- настройки данного компьютера
- командный процессор ( command.com , cmd.exe )
- выполняет команды, введенные с клавиатуры обеспечивает загрузку и выполнение других программ
- выполняет команды, введенные с клавиатуры
- обеспечивает загрузку и выполнение других программ
Состав операционной системы ( II)
- утилиты (ед.ч. утилита , лат. utilitas - польза) – это служебные программы для проверки и настройки компьютера :
- разбивка диска на разделы ( fdisk.exe ) форматирование диска ( format.com ) тестирование диска ( chkdsk.exe ) редактирование реестра ( regedit.exe ) проверка соединения с другими компьютерами ( ping . exe ) сравнение файлов ( fc.exe ) поиск строки в файлах ( find.exe ) …
- разбивка диска на разделы ( fdisk.exe )
- форматирование диска ( format.com )
- тестирование диска ( chkdsk.exe )
- редактирование реестра ( regedit.exe )
- проверка соединения с другими компьютерами ( ping . exe )
- сравнение файлов ( fc.exe )
- поиск строки в файлах ( find.exe )
- …
- драйверы (англ. driver - водитель) – это программы, которые постоянно находятся в памяти и обеспечивают обмен данными с внешними устройствами ( файлы *.sys в Windows NT/2000/XP )
- драйвер видеокарты драйвер звуковой карты драйвер сетевой карты драйвер принтера драйвер сканера …
- драйвер видеокарты
- драйвер звуковой карты
- драйвер сетевой карты
- драйвер принтера
- драйвер сканера
- …
Типы ОС
Однозадачные – в каждый момент выполняется только одна задача (программа), она получает все ресурсы компьютера. Примеры: MS DOS, DR DOS, PC DOS
Многозадачные – может одновременно выполняться несколько задач
- невытесняющая многозадачность: программы сами передают управление друг другу
- Windows 3.1, Windows 3.11
- Windows 3.1, Windows 3.11
- вытесняющая многозадачность: ОС распределяет кванты времени процессора между задачами
- Windows 95/98/Me Windows NT/2000/XP/2003/Vista UNIX – надежная сетевая ОС для поддержки узлов Интернета Linux – бесплатная UNIX - подобная ОС QNX – ОС реального времени
- Windows 95/98/Me
- Windows NT/2000/XP/2003/Vista
- UNIX – надежная сетевая ОС для поддержки узлов Интернета
- Linux – бесплатная UNIX - подобная ОС
- QNX – ОС реального времени
Типы ОС
Однопользовательские – в каждый момент с компьютером работает один пользователь, он получает все ресурсы компьютера.
Многопользовательские – с мощным компьютером одновременно работают несколько пользователей. терминал = монитор + клавиатура
терминал
терминал
терминал
терминал
Утилиты, не входящие в ОС
- AVP ( Antiviral Tookit Pro ) Е. Касперский DrWeb , И. Данилов Norton Antivirus, McAfee, NOD32
- AVP ( Antiviral Tookit Pro ) Е. Касперский
- DrWeb , И. Данилов
- Norton Antivirus, McAfee, NOD32
- архиваторы – программы для упаковки файлов
- WinRAR ( Е. Рошал) – архивы *.rar, *.zip WinZIP – архивы *.zip
- WinRAR ( Е. Рошал) – архивы *.rar, *.zip
- WinZIP – архивы *.zip
- информация о системе ( Everest )
- сканирование ( MiraScan , в комплекте со сканером)
- программы для записи CD и DVD ( Nero )
Программное обеспечение
Тема 4. Системы программирования (инструментальные средства)
© К.Ю. Поляков, 2007
Системы программирования
Системы программирования (или инструментальные средства) – это ПО, предназначенное для разработки и отладки новых программ.
Проблема:
- компьютеры понимают только язык кодов (последовательность нулей и единиц) для человека удобнее давать задания на естественном языке (русском, английском)
- компьютеры понимают только язык кодов (последовательность нулей и единиц)
- для человека удобнее давать задания на естественном языке (русском, английском)
Компромисс: программы составляются на языках программирования и затем переводятся в коды с помощью специальных программ
Языки программирования
Всего более 600, широко используется примерно 20.
Машинно-ориентированные языки:
- машинные коды: 09 FE AC 3F ассемблеры: символическая запись машинных команд: mov AX, BX макросассемблеры: одна команда языка заменяет несколько машинных команд
- машинные коды: 09 FE AC 3F
- ассемблеры: символическая запись машинных команд: mov AX, BX
- макросассемблеры: одна команда языка заменяет несколько машинных команд
Языки высокого уровня (алгоритмические):
- для обучения : Бейсик (1965) , Паскаль (1970) , Лого, Рапира профессиональные: Си (1972) , Паскаль ( Delphi ) , Фортран (1957) , Visual Basic для задач искусственного интеллекта : ЛИСП, Пролог для параллельных вычислений : Ада для программирования в Интернете : JavaScript, Java, PHP, Perl, ASP, …
- для обучения : Бейсик (1965) , Паскаль (1970) , Лого, Рапира
- профессиональные: Си (1972) , Паскаль ( Delphi ) , Фортран (1957) , Visual Basic
- для задач искусственного интеллекта : ЛИСП, Пролог
- для параллельных вычислений : Ада
- для программирования в Интернете : JavaScript, Java, PHP, Perl, ASP, …
Трансляторы
Транслятор – это программа, которая переводит текст других программ в машинные коды.
program qq;
var x: integer;
begin
x := 1;
writeln(' Привет! X = ', x);
end;
10110100 1
транслятор
Типы трансляторов:
- интерпретаторы – переводят в коды 1 строчку программы и сразу ее выполняют компиляторы – переводят в коды сразу всю программу и создают независимый исполняемый файл ( *.exe )
- интерпретаторы – переводят в коды 1 строчку программы и сразу ее выполняют
- компиляторы – переводят в коды сразу всю программу и создают независимый исполняемый файл ( *.exe )
Компоновщик
Компоновщик (редактор связей, Linker ) – это программа, которая объединяет части одной программы и библиотечные функции в один исполняемый файл.
исходные файлы
объектные файлы
qq.cpp
qq.obj
исполняемый файл
qq2.cpp
qq 2 .obj
qq.exe
транслятор
компоновщик
библиотеки функций
Другие программы
Отладчик (англ. debugger ) – это программа, которая облегчает поиск ошибок в других программах (их отладку). Возможности :
- пошаговое выполнение "выполнить до курсора" просмотр и изменение значений переменных точки останова (англ. breakpoints )
- пошаговое выполнение
- "выполнить до курсора"
- просмотр и изменение значений переменных
- точки останова (англ. breakpoints )
Профайлер (англ. profiler ) – это программа, которая определяет, сколько времени занимает выполнение каждой процедуры (и каждой команды) в программе в процентах от общего времени работы.
Цель : определить, какие части программы "тормозят" ее (англ. bottleneck – бутылочное горлышко), именно их и надо оптимизировать.
- Цель : определить, какие части программы "тормозят" ее (англ. bottleneck – бутылочное горлышко), именно их и надо оптимизировать.
Интегрированная среда разработки
Интегрированная среда разработки (англ. IDE = Integrated Development Environment ) – это комплекс программ, который включает
- редактор текста программ транслятор компоновщик отладчик профайлер
- редактор текста программ
- транслятор
- компоновщик
- отладчик
- профайлер
Примеры: Turbo Pascal Borland C Microsoft Visual C ++
Среда быстрой разработки
Среда быстрой разработки программ (англ. RAD = Rapid Application Development )
- интерфейс строится с помощью мыши часть кода создается автоматически
- интерфейс строится с помощью мыши
- часть кода создается автоматически
Примеры: Delphi, Borland C++ Builder, Visual Basic…
Программное обеспечение
Тема 5. Сжатие файлов. Архиваторы
© К.Ю. Поляков, 2007
Сжатие файлов
Сжатие файлов – это уменьшение их размера.
Цели сжатия:
- уменьшить место, которое занимают файлы на диске создать резервную копию данных (на CD, DVD) уменьшить объем данных, которые передаются через Интернет объединить группу файлов в один архив зашифровать данные с паролем
- уменьшить место, которое занимают файлы на диске
- создать резервную копию данных (на CD, DVD)
- уменьшить объем данных, которые передаются через Интернет
- объединить группу файлов в один архив
- зашифровать данные с паролем
Типы сжатия:
- без потерь: сжатый файл можно восстановить в исходном виде, зная алгоритм сжатия
- без потерь: сжатый файл можно восстановить в исходном виде, зная алгоритм сжатия
- тексты программы данные
- тексты программы данные
- тексты
- программы
- данные
- с потерями : при сжатии часть информации безвозвратно теряется
- с потерями : при сжатии часть информации безвозвратно теряется
- фотографии звук видео
- фотографии звук видео
- фотографии
- звук
- видео
Почему файлы можно сжать?
Алгоритм RLE ( англ. Run Length Encoding, кодирование цепочек одинаковых символов, используется для рисунков *.bmp )
Файл qq.txt
400 байт
A
A
…
A
B
B
…
B
200
200
Файл qq.rle ( сжатый )
сжатие в 100 раз!
4 байта
A
200
B
200
?
Сжатие с потерями или без ?
Сжатие возможно, если в данных есть повторяющиеся символы или цепочки символов, сжатие "устраняет" эту избыточность .
Почему файлы можно сжать?
Общий подход:
- найти в данных повторяющиеся цепочки символов обозначить их короткими кодами (битовыми, часто разной длины) в начало сжатого файла записать словарь
- найти в данных повторяющиеся цепочки символов
- обозначить их короткими кодами (битовыми, часто разной длины)
- в начало сжатого файла записать словарь
Эффективные алгоритмы:
- алгоритм Хаффмана алгоритм LZW ( Лемпела-Зива - Велча) алгоритм PPM ( WinRAR)
- алгоритм Хаффмана
- алгоритм LZW ( Лемпела-Зива - Велча)
- алгоритм PPM ( WinRAR)
Сжимаются
хорошо
плохо
- тексты ( * .txt )
- документы ( * .doc , * .xls )
- несжатые рисунки ( * .bmp )
- несжатый звук ( * .wav )
- несжатое видео ( * .avi )
- случайные данные
- программы ( * .exe )
- сжатые рисунки ( * .gif, *.jpg, *.png, *.tif, … )
- сжатый звук ( * .mp3, *.wma )
- сжатое видео ( * .mpg, *.wmv )
Специальные типы архивов
SFX- архив (англ. SelF eXtracting - самораспаковывающийся ) – это файл с расширением *.exe , который содержит сжатые данные и программу распаковки (около 15 Кб).
Многотомный архив – это архив, разбитый на несколько частей.
Цели:
- перенос через дискеты удобство скачивания через Интернет
- перенос через дискеты
- удобство скачивания через Интернет
WinRAR :
- abc.rar, abc.r00, abc.r01, …. многотомный SFX- архив : abc.exe, abc.r00, abc.r01, ….
- abc.rar, abc.r00, abc.r01, ….
- многотомный SFX- архив : abc.exe, abc.r00, abc.r01, ….
Архиватор WinRAR ( Е. Рошал )
Запуск: Пуск – WinRAR
распаковать архив
сжать выделенные файлы
выйти из папки
двойной щелчок ЛКМ: войти в архив
изменить пароль
сменить диск
Архиватор WinRAR: упаковка
ЛКМ
имя архива
пароль
тип архива
SFX
многотомные архивы
Архиватор WinRAR: распаковка
ЛКМ
куда распаковать?
выбрать папку
Архиватор WinRAR в Проводнике
Распаковка
Упаковка
ПКМ
ПКМ
Программное обеспечение
Тема 6. Компьютерные вирусы и антивирусы
© К.Ю. Поляков, 2007
Что такое вирус?
Компьютерный вирус – это программа, которая при запуске способна распространяться без участия человека.
Вредные действия :
- звуковые и зрительные эффекты имитация сбоев ОС и аппаратуры перезагрузка компьютера разрушение файловой системы уничтожение информации передача секретных данных через Интернет массовые атаки на сайты Интернет
- звуковые и зрительные эффекты
- имитация сбоев ОС и аппаратуры
- перезагрузка компьютера
- разрушение файловой системы
- уничтожение информации
- передача секретных данных через Интернет
- массовые атаки на сайты Интернет
Признаки :
- замедление работы компьютера перезагрузка или зависание компьютера неправильная работа ОС или прикладных программ изменение длины файлов появление новых файлов уменьшение объема оперативной памяти
- замедление работы компьютера
- перезагрузка или зависание компьютера
- неправильная работа ОС или прикладных программ
- изменение длины файлов
- появление новых файлов
- уменьшение объема оперативной памяти
Что заражают вирусы?
Для того, чтобы вирус смог выполнить какие-то действия, он должен оказаться в памяти в виде программного кода и получить управление.
Вирусы
не заражают
заражают
- текст ( * .txt )
- рисунки ( * .gif, *.jpg, *.png, *.tif, … )
- звук ( * .wav, * .mp3, *.wma )
- видео ( * .avi, * .mpg, *.wmv )
- любые данные (без программного кода)
- программы ( * . exe )
- драйверы ( * . sys )
- библиотеки ( * . dll )
- документы с макросами (* .doc, *.xls, *.mdb )
- загрузочные сектора дисков и дискет
Способы заражения
- Запустить зараженный файл. Загрузить компьютер с зараженной дискеты или диска. Открыть зараженный документ Word или Excel. Открыть сообщение e-mail с вирусом. Открыть Web- страницу с активным содержимым ( ActiveX )
- Запустить зараженный файл.
- Загрузить компьютер с зараженной дискеты или диска.
- Открыть зараженный документ Word или Excel.
- Открыть сообщение e-mail с вирусом.
- Открыть Web- страницу с активным содержимым ( ActiveX )
Типы вирусов
- Файловые – заражают файлы *.exe, *.sys, *.dll .
- Загрузочные ( бутовые, от англ. boot – загрузка ) – заражают загрузочные сектора дисков и дискет.
- Макровирусы – заражают документы с макросами ( *.doc, *.xls, *.mdb )
- Полиморфные – при каждом новом заражении немного меняют свой код.
- Сетевые вирусы – распространяются через компьютерные сети
- черви – распространяются через электронную почту "троянские кони" (" троянцы" ) – программы, позволяющие получать удаленное управление компьютером через Интернет, в т.ч. передавать пароли, организовывать массовые атаки на сайты ( DOS- атаки, англ. Denial Of Service – отказ в обслуживании)
- черви – распространяются через электронную почту
- "троянские кони" (" троянцы" ) – программы, позволяющие получать удаленное управление компьютером через Интернет, в т.ч. передавать пароли, организовывать массовые атаки на сайты ( DOS- атаки, англ. Denial Of Service – отказ в обслуживании)
Антивирусные программы
- AVP (Antiviral Toolkit Pro) – Е. Касперский
- DrWeb – И. Данилов
- Norton Antivirus, McAfee, NOD32
Типы антивирусов
- доктора (сканеры) – умеют находить и лечить известные им вирусы в памяти и на диске (используют базы данных) мониторы – перехватывают действия, характерные для вирусов и блокируют их
- доктора (сканеры) – умеют находить и лечить известные им вирусы в памяти и на диске (используют базы данных)
- мониторы – перехватывают действия, характерные для вирусов и блокируют их
- форматирование диска прямая запись на диск замена системных файлов …
- форматирование диска прямая запись на диск замена системных файлов …
- форматирование диска
- прямая запись на диск
- замена системных файлов
- …
Антивирус DrWeb ( сканер)
Запуск: Пуск – Сканер DrWeb
настройки
выбрать, что проверяем (ЛКМ)
старт
результаты
Антивирус DrWeb
Проводник: запуск DrWeb через контекстное меню
ПКМ
Профилактика
- использовать антивирус-монитор, особенно при работе в Интернете
- при работе в Интернете включать брандмауэр (англ. firewall ) – эта программа запрещает обмен по некоторым каналам связи, которые используют вирусы
- проверять с помощью антивируса-доктора все новые программы и файлы, дискеты
- не открывать сообщения e-mail с неизвестных адресов, особенно файлы-приложения
- делать резервные копии важных данных на CD и DVD (раз в месяц? в неделю?)
- иметь загрузочный диск с антивирусом
Если компьютер заражен…
- Отключить компьютер от сети.
- Запустить антивирус. Если не помогает, то…
- выключить компьютер и загрузить его с загрузочного диска (дискеты, CD, DVD ) . Запустить антивирус. Если не помогает, то…
- удалить Windows и установить ее заново. Если не помогает, то…
- отформатировать винчестер ( format.com ). Если сделать это не удается, то могла быть испорчена таблица разделов диска. Тогда …
- создать заново таблицу разделов ( fdisk.exe ). Если не удается (винчестер не обнаружен), то…
- можно нести компьютер в ремонт.
Конец фильма