10985-1 (662943)
Текст из файла
Программное обеспечение
Общие сведения
Классификация программных средств
ЭВМ является исполнителем программ.
Программное обеспечение (ПО) [software]– это просто совокупность программ, используемых для решения задач на ЭВМ. ПО делится на системное и прикладное.
Системное ПО [system software] предназначено для разработки и выполнения программ, а также для предоставлению пользователю некоторых средств общего назначения для управления ЭВМ. Системное ПО – необходимое дополнение к аппаратной части ЭВМ.
П
рикладное ПО [application software] предназначено для решения определённой задачи или класса задач.
Рис. 1. Классификация программного обеспечения
Источник: [2].
Задачей прикладного ПО является автоматизация конкретного вида человеческой деятельности.
Главное место в наборе системных программ занимают операционные системы. Операционная система – это неотъемлемая часть ЭВМ. Она снабжает другие программы и пользователя необходимыми средствами для управления ЭВМ.
Сервисные системы расширяют возможности операционной системы. (DOS-Shell или Norton Commander для DOS, Norton Utilities for Windows, многочисленные оболочки для UNIX-семейства ОС).
Инструментальные системы предназначены для решения задач, которые встречаются в составе любой проблемы, ориентированной на применение ЭВМ, и не связаны с конкретной практической областью.
Системы техобслуживания используются для облегчения тестирования оборудования ЭВМ и применяются специалистами по аппаратуре ЭВМ.
Иерархия программных средств
Все программные средства можно разделить на внутреннее и внешнее ПО.
Программы первого уровня хранятся в ПЗУ и работают непосредственно с аппаратурой ЭВМ. Таким образом, все подобные программы являются неотъемлемой частью конкретной ЭВМ. Поэтому набор таких программ называют внутренним программным обеспечением. Для ПЭВМ совокупность этих программ носит название BIOS (Base Input Output System – базовая система ввода-вывода). В состав BIOS входят:
драйверы стандартных внешних устройств;
тестовые программы для контроля работоспособности оборудования;
программа начальной загрузки.
Все эти программы начинают работать при включении ЭВМ: сначала тестируют память, затем проверяют наличие внешних устройств и их работоспособность и после всего передают управление операционной системе.
Р
ис. 2. Иерархия программных средств.
Источник: [10].
Драйвер [driver] – программа, обслуживающая внешнее устройство. Она предоставляет пользователю или программам более высокого уровня набор функций – программный интерфейс – для управления конкретным внешним устройством. Кроме того, драйвер обрабатывает прерывания от обслуживаемого устройства.
Второй уровень принадлежит операционным системам. В состав операционной системы обычно также входят дополнительные драйверы, которые обеспечивают работу с внешними устройствами, не известными внутренним драйверам. Операционная система предоставляет программам более высокого уровня набор функций (программный интерфейс), а пользователям – набор утилит и некоторые инструментальные программы (пользовательский интерфейс).
К третьему уровню относятся все остальные программы.
Программы второго и третьего уровней хранятся в файлах.
Программное обеспечение первого уровня является машинно-зависимым [computer-independent]. То есть для каждого микропроцессора или семейства ЭВМ набор данных программ уникален.
Операционная система имеет машинно-зависимое ядро [kernel] – небольшой набор программ, с помощью которых осуществляется более эффективное управление ЭВМ конкретного типа (семейство ЭВМ, тип процессора, конкретные аппаратные компоненты ЭВМ и внешние устройства). Остальные программы операционной системы стараются делать максимально независимыми от конкретной ЭВМ. Свойство программы, позволяющее переносить её без переделок с одной ЭВМ на другую, называется переносимостью [portability]. Если программа является машинно-зависимой, то её переносимость определяется степенью совместимости ЭВМ. Переносимость программ имеет прямое влияние на коммерческие возможности программных продуктов.
Операционные системы
Общая характеристика
Операционная система [operating system] – это комплекс программ, обеспечивающий управление ресурсами ЭВМ и процессами, которые используют эти ресурсы при вычислениях.
Ресурс – это любой логический или аппаратный компонент ЭВМ. Основными ресурсами являются процессорное время и оперативная память. Ресурсы могут принадлежать одной или нескольким внешним ЭВМ, к которым операционная система обращается, используя вычислительную сеть. Процесс – это последовательность действий, предписанных программой.
Управление ресурсом состоит из двух функций:
упрощение доступа к ресурсу;
распределение ресурсов между конкурирующими за них процессами.
Для решения первой задачи операционные системы поддерживают пользовательский и программный интерфейсы. Для решения второй операционные системы используют различные алгоритмы управления виртуальной памятью и процессором.
Операционные системы характеризуются признаками:
количество пользователей, одновременно обслуживаемых системой (однопользовательские и многопользовательские);
число одновременно выполняемых процессов (однозадачные и многозадачные);
тип используемой вычислительной системы (однопроцессорные, многопроцессорные, сетевые, распределённые).
Пример
Операционная система Windows98 является многозадачной, ОС Linux – многопользовательской, MS-DOS однозадачной и, следовательно, однопользовательской. Операционные системы Windows NT и Linux могут поддерживать многопроцессорные ЭВМ с 16 процессорами. Операционная система Novell NetWare является сетевой, однако, встроенные сетевые средства имеют также Windows NT и Linux.
Пользовательский и программный интерфейсы
Для упрощения доступа к ресурсам ЭВМ операционные системы поддерживают пользовательский и программный интерфейсы.
Пользовательский интерфейс [user interface] – это набор команд и сервисных услуг, которые упрощают пользователю работу с ЭВМ.
Р
ис. 3. Интерфейсы операционной системы.
Источник [2].
Программный интерфейс [program interface] – это набор процедур, которые упрощают для программиста управление ЭВМ.
Пример
Операционная система Windows98 предоставляет пользователю графический интерфейс, который представляет собой (с точки зрения пользователя) набор правил для наглядного управления ЭВМ. Кроме графического интерфейса пользователю предоставляется также командный интерфейс, то есть набор команд определённого формата. Для этого в системном меню имеется пункт «Выполнить». Например, чтобы скопировать файл на дискету, нужно набрать:
copy file a:\.
Основной упор в Windows98 сделан на графическом интерфейсе. В операционной системе Linux также имеются две возможности для управления ЭВМ, но, как правило, предпочтение отдаётся командам.
Набор системных функций в Windows98 носит название API (Application Programming Interface). В этом наборе имеются более тысячи процедур для решения разных системных задач. Например, если в программе на языке Си написать
MessageBox (wnd, “Форматирование винчестера, вы уверены?”,” ”, MB_OK);
то, дойдя до этого места, программа высветит небольшое окно с данным сообщением и кнопкой ОК и будет ожидать нажатия этой кнопки.
Процессорное время и организация памяти
Для организации многозадачного режима операционная система должна некоторым образом распределять время работы процессора между одновременно работающими программами. Обычно используется так называемый вытесняющий режим многозадачной работы. При вытесняющем режиме каждая программа непрерывно работает в течение строго определённого промежутка времени кванта времени, по истечении которого процессор переключается на другую программу. Так как квант времени очень небольшой, то при достаточной производительности процессора создаётся иллюзия одновременной работы всех программ.
Одной из главных задач операционной системы является управление памятью. Когда основной памяти не хватает, все данные, которые не используются в данный момент, записываются в особый файл подкачки. Память, представленная файлом подкачки, называется внешней страничной памятью [external page storage]. Совокупность основной и внешней страничной памяти называется виртуальной памятью [virtual memory]. Однако для программиста виртуальная память выглядит как единое целое, то есть рассматривается как неупорядоченный набор байтов. В этом случае говорят, что используется линейная адресация памяти.
Пример
Операционные системы Windows98 и Linux используют линейную адресацию виртуальной памяти. В операционной системе MS-DOS использовалась нелинейная адресация основной памяти. Основная память имела сложную структуру, которую приходилось учитывать при программировании. Файлы подкачки системой MS-DOS не поддерживались.
Структура операционной системы
Современные операционные системы, как правило, имеют многоуровневое строение (см. рис. 3.4).
Непосредственно с аппаратурой работает ядро операционной системы. Ядро [kernel] – это программа или совокупность связанных программ, которые используют аппаратные особенности ЭВМ. Таким образом, ядро является машинно-зависимой частью операционной системы.
Р
ис. 4. Уровни операционной системы Linux.
Ядро определяет программный интерфейс. На втором уровне находятся стандартные программы операционной системы и оболочка, которые работают с ядром и предоставляют пользовательский интерфейс. Программы второго уровня стараются делать машинно-независимыми. В идеале замена ядра равнозначна замене версии операционной системы.
Файловая система
Любые данные хранятся во внешней памяти ЭВМ в виде файлов. Файлами нужно управлять: создавать, удалять, копировать, изменять и др. Такие средства пользователю в виде пользовательского и программного интерфейсов предоставляет операционная система. Способ организации файлов и управления ими называется файловой системой [file system]. Файловая система определяет, например, какие символы могут использоваться для имени файла, каков максимальный размер файла, каково имя корневого каталога и др. Способ организации файлов влияет на скорость доступа к нужному файлу, на безопасность хранения файлов и др.
Одна и та же операционная система может работать одновременно с несколькими файловыми системами. Как правило, функции файловой системы реализуются средствами ядра операционной системы.
Пример
Для ПЭВМ используется несколько видов файловых систем:
FAT16 [File Allocation Table] – используется в ОС Windows95, OS\2, MS-DOS;
FAT32 и VFAT [Virtual FAT] – используется в ОС Windows95;
NTFS [NT File System]– используется в ОС Windows NT;
HPFS [High Performance File System]– используется в ОС OS\2;
Linux Native, Linux Swap – используются в ОС Linux.
Файловая система FAT наиболее просто устроена. Имя корневого каталога имеет всегда вид: А:\, В:\, С:\ и т.д. Имя файла состоит из трёх частей: путь, собственно имя, расширение.
Путь [path] – это имя каталога, в котором файл расположен. Расширение [extension] указывает на тип файла. Например, на рис. 1.6 полное имя файла C:\Windows\System\gdi.exe, путь - C:\Windows\System\, расширение – exe, собственно имя - gdi.
Согласно правилам FAT собственно имя файла может содержать до 8 символов, а расширение имени, отделяемое от имени точкой – до 3-х. При именовании файлов прописные и строчные буквы не различаются. Полное имя файла включает в себя наименование логического устройства, на котором находится файл и имя каталога, в котором файл расположен. Система хранит информацию о размере файла и дате его создания.
По организации данных VFAT напоминает FAT. Однако она позволяет использовать длинные имена файлов: имена до 255 символов, полные имена до 260. Система позволяет хранить также дату последнего доступа к файлу, что создаёт дополнительные возможности для борьбы с вирусами.
Файловая система может быть реализована в виде драйвера, с которым через операционную систему общаются все программы, читающие или записывающие информацию на внешние устройства.
Файловая система может включать в себя средства безопасности хранения информации. Например, файловая система NTFS имеет средства автоматического исправления ошибок и замены дефектных секторов. Специальный механизм отслеживает и фиксирует все действия, выполняемые над магнитными дисками, поэтому в случае сбоя целостность информации восстанавливается автоматически. Кроме этого, файловая система может иметь средства защиты информации от несанкционированного доступа.
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.