Системное программное обеспечение (системное ПО);

Основные понятия программного обеспечения

Раздел 5 Программное обеспечение средств компьютерной техники

Лекция 10

по дисциплине «Информатика и ИКТ»

ТЕМА 2 «ОРГАНИЗАЦИЯ И ФУНКЦИОНИРОВАНИЕ КОМПЬЮТЕРОВ»

Содержание:

5.1. Основные понятия программного обеспечения

5.2. Системное программное обеспечение (системное ПО);

5.3. Характеристики системного программного обеспечения

Одним из основополагающих принципов построения современных компьютеров является принцип программного управления, заключающийся в том, что последовательность действий компьютера определяется заранее заданной программой. Этот принцип обеспечивает универсальность компьютера, поскольку компьютер может использоваться для решения любой задачи, которая описывается последовательностью действий, приводящих к требуемому результату.

Программа для ЭВМ (электронно-вычислительный машины) - объективная форма представления совокупности данных и команд, предназначенных для функционирования ЭВМ и других компьютерных устройств с целью получения определенного результата, включая подготовительные материалы, полученные в ходе разработки программы для ЭВМ, и порождаемые ею аудиовизуальные отображения. Закон Российской Федерации от 09.07.93 N 5351-I, ст. 4.

Для нормальной работы пользователя недостаточно одной программы, обеспечивающей решение какой-то конкретной задачи, поэтому в архитектуре вычислительной машины применяется более широкое понятие - программное обеспечение. Программное обеспечение (ПО) компьютера называют мягким оборудованием или SOFTWARE.

Программное обеспечение - совокупность программ, процедур и правил, обеспечивающих взаимодействие аппаратных средств, а также взаимодействие пользователя с вычислительной системой. Программное обеспечение вычислительной машины функционирует на нескольких связанных между собой уровнях, образующих иерархию, в которой каждый последующий уровень базируется на программном обеспечении предшествующих уровней.

В зависимости от функций, выполняемых программным обеспечением, его можно разделить на 2 группы:

2. Прикладное программное обеспечение (прикладное ПО).

Системное программное обеспечение (системное ПО) организует процесс обработки информации на компьютере и обеспечивает нормальную рабочую среду для прикладных программ. Системное ПО настолько тесно связано с аппаратными средствами, что его иногда считают частью компьютера.

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

В задачу системного программного обеспечения входит:

- обеспечение нормального функционирования вычислительной системы;

- создание на компьютере и в сети среды для работы прикладных программ;

- выполнение вспомогательных процедур (копирование, архивирование, восстановление файлов и баз данных, зашита от несанкционированного доступа);

- диагностика и профилактика аппаратуры компьютера и локальной сети.

Системное ПО — неотъемлемая часть компьютера — включает базовое обеспечение, зашитое в постоянную память, операционную систему компьютера, операционные оболочки, сетевую операционную систему. Сервисное программное обеспечение организует комфортную работу пользователя.

Системное ПО можно разделить на базовое ПО, операционную систему и сервисное ПО.

Базовое системное ПО – это набор базовых программ, встроенных в элементы аппаратуры на этапе ее изготовления и хранящихся в соответствующих ПЗУ. Основная часть базового ПО – это система BIOS (Basic Input and Output System), записанная в ПЗУ на материнской плате. Можно выделить следующие основные функции BIOS.

1. Поддержка аппаратных интерфейсов

2. Тестирование аппаратных компонентов ПК при его включении.

3. Загрузка операционной системы.

При включении компьютера, программы BIOS автоматически запускаются и начинают проверять аппаратную конфигурацию компьютерной системы и работоспособность ее компонент. С работоспособными устройствами устанавливается связь в рамках соответствующих аппаратных интерфейсов. Если обнаружится неработоспособность основных устройств – процессора, RAM или видеокарты, работа автоматически прекращается. Если обнаружится неработоспособность других устройств, например, жесткого диска или CD-привода, работа не прекращается, но выдается соответствующее предупреждение и запрос на продолжение работы, а связь с неработающим устройством не устанавливается. Если ошибок не обнаружено, то начинается загрузка операционной системы.

Настройка системы BIOS возможна через программу BIOS Setup, являющуюся частью BIOS. Для запуска этой программы необходимо нажать клавишу Delete после включения компьютера, но до начала загрузки операционной системы (в течение нескольких секунд после включения компьютера). Одна из настроек BIOS, которая используется наиболее часто, – указание загрузочного устройства операционной системы, т.е. указание, на каком носителе данных находится операционная система.

Как правило, в BIOS устанавливается список из 3-х носителей, которые просматриваются по очереди, если на каком-либо из них обнаруживается установленная операционная система, то эта система загружается. Если ни на одном из устройств списка не обнаружено операционной системы, то выдается соответствующее сообщение и запрос на ввод идентификатора какого-нибудь другого устройства. Без операционной системы совершать на компьютере какие-либо программные действия, кроме настройки BIOS, невозможно. Если используемая операционная система установлена на жестком диске и нет необходимости эту систему менять, то в загрузочном списке целесообразно поставить этот жесткий диск на первое место.

Если же есть необходимость загружать операционную систему с CD-привода (при установке новой операционной системы), то в загрузочном списке CD-привод должен стоять раньше жесткого диска. Многие настройки BIOS нет необходимости менять через программу BIOS Setup – их можно установить через соответствующие утилиты операционной системы. Например, системные часы можно установить через раздел Дата и время Панели управления Windows (при этом произойдет именно перенастройка соответствующего параметра BIOS). Современные ПЗУ BIOS как правило построены на основе флэш-памяти, поэтому для них возможна функция перезаписывания (прошивки) – для этого в состав BIOS входят соответствующие программы. Перезаписывание BIOS – очень критичная процедура - если на этапе перезаписывания произойдет сбой, компьютер окажется полностью неработоспособным.

Основой системного программного обеспечения является операционная система.

Операционная система (ОС) ¾ это совокупность программ, управляющая аппаратной частью компьютера, его ресурсами (оперативной памятью, местом на дисках), обеспечивающая запуск и выполнение прикладных программ, автоматизацию процессов ввода/вывода. Без операционной системы компьютер мертв. ОС загружается при включении компьютера.

Операционные системы различают по особенностям реализации внутренних алгоритмов управления основными ресурсами компьютера, особенностям использованных методов проектирования, типам аппаратных платформ, сферам применения и др.

Исходя из функции операционной системы её структуру можно представить следующим образом:

Первые операционные системы представляли собой единый интегрированный комплекс служебных программ, обеспечивающий взаимодействие пользовательских программ с различными элементами компьютера и пригодный для широкого класса компьютеров. Постепенно на операционную систему был возложен ряд функций по управлению процессами, происходящими в компьютере. Постепенно круг этих функций расширялся и сформировался современный взгляд на предназначение и функции операционной системы.

Структура операционной системы
Алгоритму управленияАппаратной платформеМетоду построения
Одно ПользовательскаяОдно задачнаяОдно процессорнаяСпециализированные ЭВМУниверсальные ЭВМСетевые информационные системыМоно литное ядроМикро-ядрами
Много ПользовательскаяМного задачнаяМного процессорная

Современные операционные системы обеспечивают:

- управление выполнением программ;

- управление памятью;

- управление вводом-выводом;

- управление файловой системой;

- обработку прерываний;

- управление работой аппаратных устройств компьютера;

- взаимодействие с ОС пользователей и программ (пользовательский интерфейс ОС);

- многозадачный режим;

- многопользовательский режим;

- установку операционной системы на компьютере;

- включение и исключение функциональных компонентов в составе ОС;

- настройку параметров операционной системы;

- загрузку операционной системы при включении компьютера; автоматическое определение текущей конфигурации устройств компьютера (Plug & Play);

- тестирование устройств компьютера и функциональных подсистем ОС и исправление возможных нарушений; разделение ресурсов компьютера между программами (оперативной памяти, времени процессора, внешней памяти, периферийных устройств и др.);

- безопасность функционирования компьютера — защиту памяти, используемой одной программой или пользователем, от использования другой программой или пользователем;

- корректность совместного владения данными несколькими программами или пользователями.

Первые вычислительные машины были устроены таким образом, что на них могла работать одновременно только одна программа, которая всегда загружалась с начального адреса оперативной памяти. Например, одна из лучших ламповых машин БЭСМ-2 имела около 4 тыс. ячеек оперативной памяти для команд и чисел. С ростом оперативной памяти стало возможным поместить в нее одновременно несколько программ, что позволило сэкономить время на ввод программ в оперативную память и совместить его с работой процессора.

Такая технология позволила в десятки раз повысить эффективность использования очень дорогого тогда времени компьютера. Однако параллельно возникли задачи обеспечения взаимодействия программ, одновременно находящихся в оперативной памяти, и распределения участков оперативной памяти между программами. Эти функции, называемые управлением выполнением программ и управлением памятью, являются основными функциями операционной системы, без которых работа компьютера невозможна.

Скорость обмена информацией между оперативной памятью и внешними устройствами во много раз меньше скорости работы процессора. Поэтому оптимальное использование ресурсов компьютера возможно только тогда, когда операции обмена информацией с внешними устройствами не приостанавливают работу процессора. С другой стороны, операции ввода-вывода многочисленны, но стандартны и мало отличаются от программы к программе. Например, ввод информации предполагает наличие многих типовых действий кроме собственно ввода.

В частности, необходимо:

- определить номер порта ввода-вывода, соответствующего устройству;

- проверить физическое наличие устройства;

- установить, включено или выключено требуемое устройство;

- проверить, установлен ли на этом устройстве носитель информации (например, магнитный диск);

- сверить код носителя информации;

- найти место требуемой информации на носителе;

- подготовить считывающее устройство для считывания требуемой информации (например, установить магнитную головку над дорожкой диска).

Только после этого начинается непосредственный обмен данными оперативной памяти с внешним устройством. При этом надо еще отслеживать возможные повреждения на поверхности диска или сбои при чтении информации с магнитной поверхности диска. Каждая ошибка на этапе ввода или вывода должна обрабатываться определенным образом.

Все подобные операции входят в состав подсистемы управления вводом-выводом. Если в некоторой пользовательской программе нужно задать операцию ввода или вывода данных на внешний носитель, то вместо прописывания всех необходимых для этого действий в программу вставляется обращение к соответствующей подпрограмме операционной системы. Конкретные детали действий передаются вызываемой подсистеме в качестве дополнительных параметров. Операционная система выполняет нужные действия, после чего осуществляется возврат к пользовательской программе.

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

Функция поддержки файловой системы в работоспособном состоянии называется управлением файловой системой. В случае сбоев при выполнении программы или процедуры ввода-вывода операционная система берет на себя решение о дальнейших действиях. Для этого она прерывает выполнение текущей программы и пытается проанализировать произошедшую ошибку, в зависимости от характера которой работа пользовательской программы либо продолжается, либо аварийно заканчивается.

В современных компьютерах реакция на непредвиденные ситуации частично предусмотрена уже конструкцией компьютера. Процессор реагирует на сигналы прерывания, которые передаются по шине прерывания при ошибках при выполнении команд программы, при ошибках ввода-вывода и в других исключительных ситуациях. Номер прерывания передается вместе с сигналом прерывания. При получении сигнала прерывания операционная система, пользуясь номером прерывания, выбирает одну из стандартных реакций на ошибку. Эта функция операционной системы называется обработкой прерываний.

Дальнейшее развитие техники инициировало появление новых групп функций операционной системы. Появление клавиатуры для ручного ввода информации в компьютер привело к включению в состав операционной системы программ, осуществляющих обработку сигналов от клавиатуры и их предварительную расшифровку. С появлением мониторов для удобного представления промежуточных и окончательных результатов работы программ связано включение в операционную систему функций управления вывода на экран дисплея текстовой и графической информации.

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

Существуют драйверы принтеров, драйверы дисководов, драйверы мыши и т.д. Если компьютер комплектуется определенным набором внешних устройств каких-то марок, то одновременно его программное обеспечение должно включать соответствующие драйверы. Современные операционные системы включают большой набор разнообразных типовых драйверов. Более того, они умеют при включении компьютера автоматически определять тип используемого устройства и подключать к работе соответствующий драйвер (эта услуга называется Plug & Play). Естественно, это возможно только в случае, если устройство «умеет» отвечать на вопрос о своей марке (основные производители компьютерной техники эту услугу предусматривают).

Все современные операционные системы (например, UNIX или Windows NT) обеспечивают многозадачный (одновременное выполнение нескольких программ) и многопользовательский (одновременная работа нескольких пользователей) режимы работы компьютера. Многозадачный режим означает одновременную работу на компьютере нескольких программ. Конечно, если компьютер содержит один центральный процессор, он может выполнять только одну программу, однако операционная система так организует работу компьютера, что создается иллюзия одновременной работы нескольких программ.

Многозадачный режим работы компьютера требует, чтобы операционная система обеспечивала следующие возможности:

- параллельное (псевдопараллельное) выполнение нескольких программ;

- постановка заданий (т.е. программ) в очередь на выполнение;

- разделение между программами ресурсов процессора, памяти и доступа к внешним устройствам.

Многопользовательский режим работы вычислительной системы (в частности, одного компьютера) предполагает работу сданными нескольких пользователей.

При многопользовательском режиме дополнительно должно выполняться:

- разделение ресурсов процессора, памяти и доступа к внешним устройствам в соответствии с запросами и приоритетами пользователей;

- защита данных одного пользователя от доступа со стороны других пользователей.

Режимом разделения времени называется такая организация многозадачной и многопользовательской работы программ на одном компьютере, при которой каждой программе в зависимости от приоритета выделяется квант времени, в течение которого работает только эта программа. При этом постоянно в оперативной памяти компьютера находится только небольшая часть программы, а основная ее часть загружается на время выполнения программы и выгружается (освобождается) после окончания выделенного программе кванта времени.

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

Операционные системы очень эволюционировали с момента своего возникновения. Вначале эксплуатировалось несколько вариантов операционной системы на вычислительных машинах различных фирм. В силу ряда причин к середине 1970-х годов в большинстве компьютеров использовалась система машинных команд и операционная система компании IBM, названная дисковой операционной системой (DOS). Эта же фирма была одним из пионеров в разработке персональных компьютеров. Те модели персональных компьютеров, которые позаимствовали архитектуру и систему команд фирмы IBM, стали называться IBM PC-совместимыми компьютерами.

На основе операционной системы DOS для таких компьютеров было разработано несколько операционных систем. В дальнейшем практически все РС-совместимые персональные компьютеры стали обслуживаться операционной системой компании Microsoft, называемой MS DOS. С течением времени появлялись новые версии MS DOS, включающие все новые и новые услуги, однако в целом концепция операционной системы этой фирмы осталась неизменной.

Наиболее важным следствием использования операционных систем при работе компьютера явилось то, что, поскольку типовые операции прикладной программы выполняют утилиты ОС, то и программа может работать только с той операционной системой, на которую она ориентирована, т.е. программы стали сравнительно независимы от компьютера, главное — чтобы на нем работала нужная ОС. Современные операционные системы основаны на концепции виртуальной машины.

Виртуальной машиной называется абстрактная машина с улучшенными характеристиками оперативной памяти (называемой виртуальной памятью) и неограниченным количеством внешних устройств, обеспечивающая абсолютную безопасность данных разных программ. Прикладные системы ориентированы на такую идеальную виртуальную машину, а в задачу операционной системы входит такая организация работы реального компьютера, при которых с точки зрения прикладной программы он выглядит как виртуальная машина. Реализация виртуальной машины с помощью средств операционной системы называется эмуляцией виртуальной машины.

Возникновение вычислительных сетей привело к появлению нового класса типовых задач. Для обеспечения сетевой связи между персональными компьютерами стали использоваться сетевые оболочки (например, система NetWare фирмы Novell). Сетевые оболочки, хотя их часто называют операционными системами, не являются полнофункциональными операционными системами, так как предполагают, что на каждом отдельном компьютере функционирует своя операционная система. Функции сетевой оболочки выполняются сетевыми модулями, которые функционируют на компьютерах сети.

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

Очередным шагом в развитии операционных систем явилось включение в них сетевых функций. К таким сетевым операционным системам относятся, например, операционная система Windows NTn различные версии UNIX. Эти системы обеспечивают работу как отдельного компьютера, так и в сети. При этом на них возлагается множество дополнительных сетевых функций — действий, связанных с установлением связи между узлами сети и с передачей данных в сети.

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

Сетевые ОС всегда являются многопользовательскими: приходится следить за тем, кто запустил конкретную программу и кто пользуется открытым в системе файлом. Важной функцией сетевой операционной системы является обеспечение доступа пользователе)! к данным и программам. Эта функция имеет два аспекта: проверка уровня секретности данных и проверка привилегий пользователя.

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

СервисноеПО - это набор вспомогательных программ, предназначенных для диагностики и настройки аппаратного и программного обеспечения, для оптимизации обмена данными и для выполнения других специальных задач. Многие программы сервисного ПО являются частью операционной системы, но это не обязательно – значительное число сервисных программ существуют и отдельно от ОС.

Выделим некоторые важные типы сервисных программ.

Сервисные программы (утилиты)– вспомогательные программы для обеспечения управления с устройствами ввода вывода и обработки и предоставления обрабатываемых данных в удобном для пользователя виде.

Утилиты – это программы, выполняющие какие-либо отдельные вспомогательные функции для обеспечения работы других программ или элементов аппаратуры с целью исправления ошибок или расширения возможностей работы с компьютером. Например, программы диагностики и настройки аппаратуры, форматирования носителей данных, записи и чтения данных, архивации данных, антивирусного сканирования и т.д. являются утилитами. Утилиты, как правило, имеют пользовательский интерфейс, т.е., запускаются и управляются пользователями.

Рассмотрим некоторые типы утилит.

Программы-архиваторы позволяют за счет применения специальных алгоритмов упаковки информации сжимать информацию на дисках, т.е. создавать копии файлов меньшего размера, а также объединять копии нескольких файлов в один архивный файл. Применение программ-архиваторов очень полезно при создании архива файлов, так как в большинстве случаев значительно удобнее их хранить, предварительно сжав программами-архиваторами. Представители данных программ –WinRar и WinZip.

Программы для создания резервных копий информации позволяют периодически копировать важную информацию, находящуюся на жестком диске компьютера, на дополнительные носители. Представители программ резервного копирования – APBackUp, Acronis True Image.

Антивирусные программы предназначены для предотвращения заражения компьютерными вирусами и ликвидации последствий заражения вирусом. Представители антивирусного семейства программ – McAfee, Kaspersky Antivirus, DrWeb, Norton Antivirus.

Программы для диагностики компьютера позволяют проверить конфигурацию компьютера (количество памяти, ее использование, типы дисков и т. д.), проверить работоспособность устройств компьютера, оценить его производительность. Представители программ диагностики компьютеров – Sisoft Sandra, Norton System Information.

Программы для оптимизации дисков позволяют обеспечить более быстрый доступ к информации на диске за счет оптимизации размещения данных на диске. Эти программы перемещают все участки каждого файла друг к другу (устраняют фрагментацию), собирают все файлы в начале диска и т.д., за счет чего уменьшается число перемещений головок диска (т.е. ускоряется доступ к данным) и снижается износ диска. Представители программ для оптимизации дисков – Norton Disk Doctor, Microsoft Scandisk.

Программы для печати экрана бывают весьма полезны при использовании графических программ для вывода на печать содержимого экрана, так как отнюдь не всегда это можно сделать с помощью самой графической программы. Представители программ для печати экрана – SnagIt, HyperSnap-DX.

Рассмотрим теперь программы, относящиеся к сервисному ПО, но не являющиеся утилитами.

Оболочки – это программы, реализующие пользовательский интерфейс, т.е. предназначенные для обмена данными между компьютером и пользователем. Например, ОС Windows содержит встроенную оболочку – программу Проводник (Explorer). Но вместо нее можно пользоваться другими оболочками, например, программой Windows Commander, которая в ОС Windows не входит.

Драйверы – программы управления устройствами. Предназначены для осуществления взаимодействия между устройством и операционной системой. Драйвер является программным дополнением к устройству и разрабатывается изготовителем устройства. Драйверы многих устройств входят в состав операционной системы.

Системы разработки ПО (системы программирования) – это особая группа ПО не относящаяся ни к системному, ни к прикладному ПО. Системы программирования – это совокупность программ для разработки, отладки и внедрения новых программных продуктов.

Системы программирования обычно содержат:

· трансляторы;

· среду разработки программ;

· библиотеки справочных программ (функций, процедур);

· отладчики;

· вспомогательные программы.

Трансляторы языков программирования - перевод формата исходных программ (написанных программистом) в необходимый формат для работы с данной операционной системой.

Программы технического обслуживания – для обеспечения работы различных технических средств, используемых в информационных система.

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