Лекция 5 Операционные системы. Системное программное обеспечение, назначение системных программ, обзор состояния рынка.
Лекция 5 Операционные системы. Системное программное обеспечение, назначение системных программ, обзор состояния рынка.
Программное обеспечение ЭВМ
21 июня 1948 года в Манчестерском университете (Великобритания) была выполнена первая программа загружаемая в память компьютера.
Компьютер SSEM (Small Scale Experimental Machine) или Малыш (Baby), как его ласково называли, был создан по замыслу венгерского математика Джона фон Неймана.
Так выглядел Mark-1
Это был первый компьютер, у которого была оперативная память (ОЗУ) и постоянное запоминающее устройство (ПЗУ).
Программное обеспечение – это общий термин для обозначения «не осязаемых» в отличие физических, составных частей компьютерной системы.
Давно уже ушли в прошлое времена компьютеров первых поколений, когда аппаратные средства (жаргонное – «железо» или американский термин «Hardware») были главным предметом вожделения специалистов. В те времена, в 50-60 годы, вопрос о программных средствах стоял так: если есть – хорошо, нет – сами напишем, только дайте ЭВМ. Сегодня, прежде всего в силу экономических обстоятельств., то есть поменявшегося соотношения стоимости в диаде «аппаратные средства – программные средства (иначе «hardware - software»), и высокой стоимости разработки удовлетворяющих современным требованиям, но отсутствующих по той или иной причине программных средств, при приобретении компьютера чаще обращают внимание на наличие для него доступного (по факту и цене) программного обеспечения. Иногда полный комплект программного обеспечения по стоимости превосходит стоимость компьютера адекватного класса. Например, стоимость Windows 7 Professional порядка 200 $, Office 2010 Pro – порядка 500 $ (коробочная версия). То есть стоимость W+O сравнима со стоимостью компьютера.
Всевозможные программные средства, которых уже насчитывается сотни тысяч для компьютеров различных классов, можно разделить на классы в зависимости от их назначения:
Системное программное обеспечение - совокупность программ и программных комплексов для обеспечения работы компьютера и сетей ЭВМ. Направлено на:
· создание операционной среды функционирования других программ
· обеспечение надежной и эффективной работы самого компьютера и выч. сети
· проведение диагностики и профилактики аппаратуры
· выполнение вспомогательных технологических процессов (копирование, архивирование, восстановление файлов и т.д.)
Пакеты прикладных программ – комплекс взаимосвязанных программ для решения задач определенного класса конкретной предметной области.
ППО помогает конечным пользователям в решении их конкретных задач.
Инструментарий технологии программирования – совокупность программ и программных комплексов, обеспечивающих технологию разработки, отладки и внедрения создаваемых программных продуктов.
Транслятор и компоновщик
Процесс создания программы предполагает несколько этапов. За этапом разработки проекта программы следует этап программирования. На этом этапе пишется программа.Программа- это последовательность инструкций, предназначенных для выполнения компьютером. В настоящее время программы оформляются в виде текста, который записывается в файлы.
Файл с исходным текстом программы (его также называют исходным модулем) обрабатывается транслятором, который осуществляет перевод программы с языка программирования в понятную машине последовательность кодов (машинный язык). Результат преобразования исходного текста программы записывается в виде двоичного файла (его называют объектным модулем) с расширением ".obj".
Но это еще не все. Программа может строиться из отдельных объектов – модулей. Процесс разработки многомодульных программ эффективнее, особенно если разрабатывается программа большого размера, когда над реализацией проекта может работать несколько программистов, каждый из которых имеет возможность модифицировать фрагменты программы, не мешая работе остальных.
Модули должны быть объединены в единое целое – файлы, так называемые загрузочные модули, которые и выполняются процессором. Это и есть одна из задач программы-компоновщика. Компоновщик также добавляет к компонуемой программе коды так называемых библиотечных функций (они обеспечивают выполнение конкретных действий - вычисления, вывод информации на экран дисплея и т.д.), а также код, обеспечивающий размещение программы в памяти, её корректное начало и завершение.
Преобразованная компоновщиком программа называется загрузочным или выполнимым модулем. Файлы, содержащие загрузочные модули, называют загрузочными или выполнимыми файлами.
Драйверы устройств-
программы, отвечающие за взаимодействие с конкретными устройствами. «Обучают» операционную систему работать с тем или иным устройством. Поставляются как правило вместе с устройствами.
Утилиты-
это служебные программы, выполняемые пользователем при работе с компьютером.
Восемь основных задач:
1. Защита от сбоев;
2. Защита от вирусов;
3. Диагностика и устранение неполадок;
4. Ускорение работы комп.;
5. Очистка дискового пр-ва;
6. Обновление программного обеспечения;
7. Восстановление удаленных функций;
8. Изучение компьютера.
Средства сетевого доступа-
Прогресс в ПО стал возможным на фоне исключительного прогресса в развитии компьютерного оборудования за последние 50 лет: рост скорости, памяти, телекоммуникационных технологий. Все это сделало возможным прямой доступ конечных пользователей посредством привлекательного интерфейса к разнообразным информационным ресурсам, подчас глобального масштаба.
Ключом к использованию этих ресурсов является сервер, специальная программа на компьютере, подключенному к сети, которая принимает запросы (или команды) и посылает ответы автоматически. Чтобы использовать сервер, человек посылающий запрос, не обязан работать на этом же компьютере. Многие серверы способны принимать запросы по электронной почте, поэтому не обязательно находиться в той же сети, что и сервер.
Программы, предназначенные для подачи запросов серверу, называются программами-клиентами. Сервер предназначен для их обслуживания. Клиент посылает запросы пользователя на сервер, используя стандартизированный формат, называемый протоколом. Ответ сервера содержит информацию, представленную в виде файла, содержащего данные того или иного формата.
Постоянно ведется разработка все новых программ-клиентов, предлагающих более удобные способы взаимодействия с сервером.
Пример. Приложения Netscape Navigator, Internet Explorer - программы- клиенты.
СУБД-
Базами данных (Симонович, 54) называют огромные массивы данных, организованных в табличные структуры. Основными функциями СУБД являются:
1. создание пустой структуры БД
2. предоставление средств ее заполнения или импорта из таблиц другой базы
3. обеспечение возможности доступа к данным, а также предоставление средств поиска и фильтрации.
Таким образом, СУБД - это программная система накопления и манипулирования данными. (подробнее позже). Каждая СУБД предоставляет интерфейс с базой данных и может располагать средствами непосредственного доступа к последней ее пользователей
Операционная система
Особое место среди программных средств всех типов занимают операционные системы, являясь ядром программного обеспечения (интуитивное понятие – регулировщик, дирижер).
ОС – это комплекс программ, обеспечивающих
· управление ресурсами, то есть согласованную работу всех аппаратных средств компьютера;
· управление процессами, то есть выполнение программ, их взаимодействие с устройствами компьютера, с данными;
· пользовательский интерфейс, то есть диалог пользователя с компьютером, выполнение определенных простых команд – операций по обработке информации.
Операционная система в наибольшей степени определяет облик всей вычислительной системы в целом. Несмотря на это, пользователи, активно использующие вычислительную технику, зачастую испытывают затруднения при попытке дать определение операционной системе. Частично это связано с тем, что ОС выполняет две по существу мало связанные функции: обеспечение пользователю-программисту удобств посредством предоставления для него так называемой расширенной (или виртуальной) машины и повышение эффективности использования компьютера путем рационального управления его ресурсами.
Можно сказать, что Операционной системой называется набор программ, который служит переводчиком с языка возможностей оборудования на язык требований системы. Приложениями ОС называют программы, предназначенные для работы под управлением данной системы.
То есть основная функция ОС – посредническая. Она заключается в обеспечении нескольких видов интерфейса:
- Между пользователем и программно-аппаратными средствами компьютера (интерфейс пользователя).
- между программным м аппаратным обеспечением (апп-пр. интерфейс)
- между разными видами ПО (программный)
Даже для одной аппаратной платформы, например такой, как IBM PC, существует несколько ОС (MS DOS, WINDOWS, UNIX, LINUX и др.). Различия между ними рассматривают в двух категориях – внутренние и внешние. Внутренние различия характеризуются методами реализации основных функций. Внешние – определяются наличием и доступностью приложений данной системы, необходимых для удовлетворения технических требований, предъявляемых к конкретному рабочему месту.
Рассмотрим основные функции ОС
Понятие многозадачности
Работа с приложениями составляет наиболее важную часть работы операционной системы. Это очевидно, потому что основная функция операционной системы состоит в обеспечении интерфейса приложений с аппаратными и программными средствами вычислительной системы, а также с пользователем. С точки зрения управления исполнением приложений различают однозадачные и многозадачные операционные системы.
Однозадачные операционные системы (например, MS-DOS) передают все ресурсы вычислительной системы одному исполняемому приложению (программе) и не допускают ни параллельного выполнения другого приложения (полная многозадачность), ни его приостановки и запуска другого приложения (вытесняющая многозадачность).
Большинство современных графических операционных систем — многозадачные. Они управляют распределением ресурсов вычислительной системы между задачами и обеспечивают:
• возможность одновременной или поочередной работы нескольких приложений;
• возможность обмена данными между приложениями;
• возможность совместного использования программных, аппаратных, сетевых и прочих ресурсов вычислительной системы несколькими приложениями.
Установка приложений
Для правильной работы приложений на компьютере они должны пройти операцию, называемую установкой (инсталляцией). Необходимость в установке связана с тем, что разработчики программного обеспечения не могут заранее предвидеть особенности аппаратной и программной конфигурации вычислительной системы, на которой предстоит работать их программам. Таким образом, дистрибутивный комплект (установочный пакет) программного обеспечения, как правило, представляет собой не законченный программный продукт, а полуфабрикат, из которого в процессе установки на компьютере формируется полноценное рабочее приложение. При этом осуществляется привязка приложения к существующей аппаратно-программной среде и его настройка на работу именно в этой среде.
Устаревшие операционные системы (например, MS-DOS) не имеют средств для управления установкой приложений. Единственное средство, которое они предоставляют, — возможность запуска устанавливающей программы, прилагаемой к дистрибутивному комплекту. Такая установка отличается крайней простотой, но и невысокой надежностью, поскольку правильность привязки приложения к окружающей программно-аппаратной среде зависит от того, насколько разработчик устанавливающей программы сумел заранее предусмотреть возможные варианты конфигурации вычислительной системы конкретного пользователя.
Современные графические операционные системы берут на себя управление установкой приложений. Они управляют распределением ресурсов вычислительной системы между приложениями, обеспечивают доступ устанавливаемых приложений к драйверам устройств вычислительной системы, формируют общие ресурсы, которые могут использоваться разными приложениями, выполняют регистрацию установленных приложений и выделенных им ресурсов.
Удаление приложений
Процесс удаления приложений, как и процесс установки, имеет свои особенности и может происходить под управлением вычислительной системы. В таких операционных системах, где каждое приложение самообеспечено собственными ресурсами (например, в MS-DOS), его удаление не требует специального вмешательства операционной системы. Для этого достаточно удалить каталог, в котором размещается приложение, со всем его содержимым.
В операционных системах, реализующих принцип совместного использования ресурсов (например, в системах семейства Windows), процесс удаления приложений имеет особенности. Нельзя допустить, чтобы при удалении одного приложения были удалены ресурсы, на которые опираются другие приложения, даже если эти ресурсы были когда-то установлены вместе с удаляемым приложением. В связи с этим удаление приложений происходит под строгим контролем операционной системы. Полнота удаления и надежность последующего функционирования операционной системы и оставшихся приложений во многом зависят от корректности установки и регистрации приложений в реестре операционной системы.
Обслуживание компьютера
Предоставление основных средств обслуживания компьютера — одна из функций операционной системы. Обычно она решается внешним образом — включением в базовый состав операционной системы первоочередных служебных приложений.
Средства проверки дисков
Надежность работы дисков (особенно жесткого диска) определяет не только надежность работы компьютера в целом, но и безопасность хранения данных, ценность которых может намного превышать стоимость самого компьютера. Поэтому наличие средств для проверки дисков является обязательным требованием к любой операционной системе.
Средства проверки принято рассматривать в двух категориях: средства логической проверки, то есть проверки целостности файловой структуры, и средства физической диагностики поверхности. Логические ошибки, как правило, устраняются средствами самой операционной системы, а физические дефекты поверхности только локализуются — операционная система принимает во внимание факт повреждения магнитного слоя в определенных секторах и исключает их из активной работы.
Средства «сжатия» дисков
Некоторые операционные системы предоставляют служебные средства для программного «сжатия» дисков путем записи данных на диск в уплотненном виде посредством специального драйвера
Средства кэширования дисков
Поскольку, как уже было отмечено, взаимодействие процессора с дисками компьютера происходит намного медленнее операций обмена с оперативной памятью, операционная система принимает специальные меры по сохранению части прочитанных с диска данных в оперативной памяти. В случае, если по ходу работы процессору вновь потребуется обратиться к ранее считанным данным или программному коду, он может найти их в специальной области ОЗУ, называемой дисковым кэшем. В современных операционных системах эта функция работает автоматически, без участия пользователя.
Резюме
Основные достоинства персональной вычислительной техники проявляются в диалоговом режиме работы с пользователем. Диалоговый режим отличается от пакетного тем, что в ходе работы процессор регулярно приостанавливает выполнение текущих задач и обращается к другим устройствам и к программам, проверяя их состояние. Если пользователь использует какое-либо средство управления или извне поступает управляющий сигнал, процессор устанавливает этот факт и реагирует на него переходом на исполнение другой программы. Несмотря на то что в любой момент времени процессор работает по жестко заданным программам, динамичное переключение между ними создает впечатление гибкого управления работой компьютера.
Организацией работы процессора в таком режиме ведает относительно небольшая группа системных программ. Она образует ядро операционной системы. Дополнительно к ядру операционная система обладает средствами для:
• управления пользовательским интерфейсом компьютера;
• управления аппаратно-программными интерфейсами компьютера;
• обслуживания файловой системы;
• управления распределением оперативной памяти между процессами;
• установки программ и управления их работой;
• обеспечения надежности и устойчивости работы оборудования и программ.
Загрузка ОС
Запуск операционной системы осуществляется с помощью процесса, называемого самозагрузкой (booting), который выполняется при каждом включении машины. Центральный процессор машины разработан таким образом, что при его включении выполняемая программа каждый раз стартует с определенного наперед заданного адреса. Следовательно, именно в этом месте основной памяти ЦП ожидает найти первую команду, которую требуется выполнить. Чтобы гарантировать, что требуемая программа всегда присутствовала на указанном месте, этот участок памяти обычно конструируется так, чтобы его содержимое было неизменным. Такая память, как упоминалось на прошлой лекции, носит название постоянной памяти (ПЗУ). Последовательность битов, однажды помещенная в ПЗУ с помощью специального процесса, аналогичного напылению проводников на подложку чипа, находится там постоянно, независимо от того, включена машина или нет. ПЗУ содержит ячейки памяти, в которых ЦП ожидает найти команды, выполняемые при включении машины. Небольшая программа, которая постоянно находится в этой области памяти, называется программой первоначальной загрузки (botstrap). Эта программа автоматически выполняется при каждом включении компьютера. Она предписывает ЦП считать данные из заранее определенного участка внешней памяти в энергозависимую основную память. В большинстве случаев этими данными является программный код ОС. Как только программы операционной системы будут помещены в основную память, программа первоначальной загрузки потребует от ЦП выполнить команду перехода в данную область памяти. В результате стартуют программы ядра ОС и ОС начинает контролировать дальнейшую деятельность машины.
В большинстве современных персональных компьютеров программа первоначальной загрузки разработана так, что, прежде всего она пытается отыскать ОС на гибком диске (дискете).
Этап 1. Машина начинает выполнять программу начальной загрузки, находящуюся в памяти. Операционная система находится в массовой (внешней) памяти.
Этап 2. Программа начальной загрузки выдает указание поместить операционную систему в оперативную память, а затем передает ей управление.
Лекция 5 Операционные системы. Системное программное обеспечение, назначение системных программ, обзор состояния рынка.
Программное обеспечение ЭВМ
21 июня 1948 года в Манчестерском университете (Великобритания) была выполнена первая программа загружаемая в память компьютера.
Компьютер SSEM (Small Scale Experimental Machine) или Малыш (Baby), как его ласково называли, был создан по замыслу венгерского математика Джона фон Неймана.
Так выглядел Mark-1
Это был первый компьютер, у которого была оперативная память (ОЗУ) и постоянное запоминающее устройство (ПЗУ).
Программное обеспечение – это общий термин для обозначения «не осязаемых» в отличие физических, составных частей компьютерной системы.
Давно уже ушли в прошлое времена компьютеров первых поколений, когда аппаратные средства (жаргонное – «железо» или американский термин «Hardware») были главным предметом вожделения специалистов. В те времена, в 50-60 годы, вопрос о программных средствах стоял так: если есть – хорошо, нет – сами напишем, только дайте ЭВМ. Сегодня, прежде всего в силу экономических обстоятельств., то есть поменявшегося соотношения стоимости в диаде «аппаратные средства – программные средства (иначе «hardware - software»), и высокой стоимости разработки удовлетворяющих современным требованиям, но отсутствующих по той или иной причине программных средств, при приобретении компьютера чаще обращают внимание на наличие для него доступного (по факту и цене) программного обеспечения. Иногда полный комплект программного обеспечения по стоимости превосходит стоимость компьютера адекватного класса. Например, стоимость Windows 7 Professional порядка 200 $, Office 2010 Pro – порядка 500 $ (коробочная версия). То есть стоимость W+O сравнима со стоимостью компьютера.
Всевозможные программные средства, которых уже насчитывается сотни тысяч для компьютеров различных классов, можно разделить на классы в зависимости от их назначения:
Системное программное обеспечение - совокупность программ и программных комплексов для обеспечения работы компьютера и сетей ЭВМ. Направлено на:
· создание операционной среды функционирования других программ
· обеспечение надежной и эффективной работы самого компьютера и выч. сети
· проведение диагностики и профилактики аппаратуры
· выполнение вспомогательных технологических процессов (копирование, архивирование, восстановление файлов и т.д.)
Пакеты прикладных программ – комплекс взаимосвязанных программ для решения задач определенного класса конкретной предметной области.
ППО помогает конечным пользователям в решении их конкретных задач.
Инструментарий технологии программирования – совокупность программ и программных комплексов, обеспечивающих технологию разработки, отладки и внедрения создаваемых программных продуктов.