Что относят к базовому программному обеспечению
Что относят к базовому программному обеспечению
Код ОГЭ: 1.4.3. Программное обеспечение, его структура. Программное обеспечение общего назначения
♦ Программное обеспечение (ПО) — это совокупность программ, предназначенных для решения определенных задач на компьютере.
В зависимости от области использования программ их можно разделить на 3 класса:
Системное ПО
Системное программное обеспечение (СПО) состоит из двух компонентов:
Базовое программное обеспечение содержит минимальный набор программ, обеспечивающих работу компьютера. Сервисное программное обеспечение включает программы и программные комплексы, которые расширяют возможности базового ПО и организуют более удобную среду работы пользователя.
В базовое ПО входят: BIOS, операционная система и операционные оболочки (текстовые и графические).
BIOS отвечает за взаимодействие с основными аппаратными средствами и хранится в специальных микросхемах (ПЗУ).
Операционная система (ОС) — комплекс программ, предназначенный для управления выполнением пользовательских программ, планирования и управления вычислительными ресурсами. Операционная система загружается при включении компьютера и организует диалог с пользователем.
Сетевые операционные системы — комплекс программ, обеспечивающий обработку, передачу и хранение данных в сети.
Операционные оболочки — специальные программы для облегчения общения пользователя с командами операционной системы. Операционные оболочки могут иметь текстовый и графический варианты интерфейса.
Основное назначение сервисных, или служебных, программ (утилит) — проверка и настройка компьютерной системы. Обычно утилиты дополнительно устанавливаются на ПК и служат для расширения ее функций:
Операционная система
Операционная система (ОС) — главная составляющая системного программного обеспечения. Это комплекс программ, которые загружаются при включении компьютера и осуществляют управление компьютером, диалог с пользователем, запускают другие программы на выполнение.
ОС состоят из следующих категорий программ:
Программы, предназначенные для работы под управлением данной операционной системы, принято называть приложениями. ОС обеспечивает интерфейсы (связь) между пользователем, приложениями и аппаратурой.
ОС осуществляет следующие операции:
Сейчас на IBM–совместимые компьютеры устанавливаются ОС Windows и Linux, на персональные компьютеры Macintosh — Mac OS.
Прикладное ПО
Программное обеспечение прикладного уровня представляет собой прикладные программы (или их пакет), с помощью которых пользователь выполняет конкретные задания — от производственных до творческих, обучающих и развлекательных. Эти программные средства наиболее многочисленны.
Программы общего назначения
Этот класс содержит широкий перечень программ для пользователей. Среди них — текстовые и графические редакторы, электронные таблицы, системы управления базами данных и пр.
Основные функции текстовых редакторов и процессоров: ввод и редактирование текстов в различных форматах, подготовка печатных документов — статей, справок, отчетов, ведомостей и т. п. Текстовые редакторы позволяют вводить и редактировать тексты и могут содержать некоторые ограниченные возможности их форматирования (оформления). Примеры текстовых редакторов: Блокнот (Notepad), WordPad. Текстовые процессоры содержат большой перечень возможностей форматирования документов, а также средства объединения текста, графики, таблиц, формул и других объектов в итоговый документ. Часто текстовые процессоры включают различные средства автоматизации, составления оглавлений и указателей, проверки орфографии, подготовки шаблонов документов и др. Примеры текстовых процессоров: Microsoft Word, WordPerfect, OpenOffice.org Writer, AbiWord. Издательские системы, например Adobe InDesign, служат для подготовки и тиражирования газет, журналов, рекламных буклетов, проспектов, книг.
Табличные процессоры, или электронные таблицы предоставляют среду для обработки информации, представленной в виде таблиц, с использованием встроенных функций. Эти программы широко применяются в бухгалтерском учете, при анализе данных, всюду, где необходимо автоматизировать регулярно повторяющиеся вычисления достаточно больших объемов числовых данных. Кроме этого, такие программы помогают строить двух– или трехмерные графики, диаграммы. Примерами таких программ являются: Microsoft Excel, OpenOffice.org Calc, Lotus Symphony Spreadsheets и др.
Графические редакторы и процессоры предназначены для просмотра, обработки, редактирования, упорядочения и публикации цифровых фотографий, создания графических файлов, преобразования их из одного формата в другой и (или) обработки графических изображений — рисунков, чертежей, графиков, диаграмм, иллюстраций, в том числе и трехмерных. Пользователь может изменять палитру, масштаб, работать с многослойными изображениями, получать изображения со сканера и другой цифровой техники и т. д. Любой графический редактор включает в себя текстовый редактор и позволяет набирать тексты.
Системы управления базами данных (СУБД) обеспечивают организацию и хранение баз данных. Базами данных называют большие массивы данных о группе объектов с одинаковым набором свойств. СУБД обеспечивают ввод данных, поиск, сортировку записей, создание отчетов. Примерами СУБД являются Microsoft Access, Microsoft SQL Server, MySQL, Oracle, Sybase, Firebird, Interbase.
К средствам презентационной графики относятся специализированные программы для создания изображений и их показа на экране, подготовки слайд–фильмов, мультфильмов, видеофильмов, их редактирования. Презентация может включать показ диаграмм и графиков.
Существуют программные средства, объединяющие возможности текстовых, графических редакторов, электронных таблиц, систем управления базами данных. Такие средства называются интегрированными системами, или пакетами. Они могут включать также органайзер, средства поддержки электронной почты, программу для создания презентаций и др. Эти средства предусматривают единые правила работы с программами (унифицированный интерфейс). Компоненты интегрированных пакетов могут работать отдельно друг от друга, но основные достоинства этих пакетов проявляются при их разумном сочетании друг с другом. Примерами интегрированных пакетов являются Microsoft Office, OpenOffice.org, Lotus SmartSuite, StarOffice, Corel WordPerfect Office.
К прикладному программному обеспечению относятся также:
Офисные пакеты могут включать программы планирования (органайзеры), системы автоматического перевода, средства проверки орфографии и распознавания текста. К специализированным (проблемно–ориентированным) средствам относятся математические пакеты, системы деловой и научной графики, системы автоматизированного проектирования, бухгалтерские системы и т. д.
Коммуникационные средства предназначены для взаимодействия пользователей в компьютерных сетях и включают браузеры (программы для просмотра содержимого веб–страниц), почтовые программы, средства скачивания файлов из сетей, программы для видео-общения и обмена текстовыми, голосовыми сообщениями, средства прослушивания онлайн–радио и просмотра онлайн–телевидения и др. Основное назначение мультимедийных программ — создание, обработка и проигрывание аудио– и видеоинформации. Современные обучающие программы обычно являются мультимедийными, включают не только звук и работу с микрофоном, но и отрывки из видеофильмов.
Системы искусственного интеллекта реализуют отдельные функции интеллекта человека; к ним относятся экспертные системы для принятия решений в предметной области (медицина, математика, статистика и т. д.), системы анализа и распознавания речи и др. Игровые программы используются не только для отдыха и соревнований, но и для тренажерной тренировки навыков и умений, тренировки логического мышления, а также обучения.
Инструментальное ПО
Инструментальные системы, или системы программирования предназначены для создания новых программ. Они различаются в первую очередь по языкам программирования, которые они поддерживают.
В настоящее время широко распространены системы визуального программирования, которые позволяют создавать программы с использованием графического интерфейса.
Конспект урока по информатике «Программное обеспечение».
Классификация программного обеспечения
Традиционно программное обеспечение подразделяют на два класса:
1) системное программное обеспечение (СПО) и
2) прикладное (пользовательское) программное обеспечение (ППО)
Выделим еще один класс (скорее группу) программ – (3) специальное программное обеспечение информационных и управляющих систем.
Прикладные программы предназначены для решения функциональных задач, они выполняют обработку информации различных предметных областей.
Это самый многочисленный класс программных продуктов.
В свою очередь он условно подразделяется на две группы.
1 группа – программы для решения отдельных, самостоятельных задач. Эти программы выполняются независимо друг от друга и представляют собой набор разрозненных, не связанных между собой знаний. Конечно, и они могут быть весьма сложными и очень необходимыми задачами.
К специальному программному обеспечению информационных и управляющих систем относятся
· программы (системы) управления базами данных;
· программы управления языком интерфейса информационных систем;
· программы сбора и предварительной обработки информации (в информационно-измерительных системах, например, бортовые системы).
ПО этого класса часто оказывается скрытым в составе драйверов оборудования или поставляется в виде библиотек функционального расширения языков программирования.
Поэтому часто такое ПО относят к системному программному обеспечению.
С помощью языка описания данных создаются описания элементов и записей данных, а также взаимосвязей между ними. Для выполнения операция с базой данных (например, выборка или обновление) в прикладных программах используется язык манипулирования данными. Фактическая структура физического хранения данных известна только СУБД.
СПО управляет ресурсами компьютерной системы и позволяет пользователям программировать в более выразительных языках, чем машинный язык компьютера. Состав СПО мало зависит от характера решаемых задач пользователя.
Системное программное обеспечение предназначено для:
· создания операционной среды функционирования других программ (другими словами, для организации выполнения программ);
· автоматизации разработки (создания) новых программ;
· обеспечения надежной и эффективной работы самого компьютера и вычислительной сети;
· проведения диагностики и профилактики аппаратуры компьютера и вычислительных сетей;
· выполнения вспомогательных технологических процессов (копирование, архивирование, восстановление файлов программ и баз данных и т.д.).
Данный класс программных продуктов тесно связан с типом компьютера и является его неотъемлемой частью.
Часто системное ПО компьютера подразделяют на БАЗОВОЕ и СЕРВИСНОЕ программное обеспечение.
К базовому программному обеспечению компьютера относятся
· операционные системы и драйверы в составе ОС;
· интерфейсные оболочки для взаимодействия пользователя с ОС (операционные оболочки) и программные среды;
· системы управления файлами.
Операционная система предназначена для управления выполнением пользовательских программ, планирования и управления вычислительными ресурсами ЭВМ.
Операционная система, с одной стороны, выступает как интерфейс между аппаратурой компьютера и пользователем с его задачами, с другой стороны, предназначена для эффективного использования ресурсов вычислительной системы и организации надежных вычислений.
Системы управления файлами предназначены для организации более удобного доступа к данным, организованным как файлы.
Вместо низкоуровневого доступа к данным с указанием конкретных физических адресов система управления файлами позволяет использовать логический доступ с указанием имени файла.
Но в связи с тем, что
1) ряд ОС позволяет работать с несколькими файловыми системами (либо с одной из нескольких, либо сразу с несколькими одновременно); а дополнительную файловую систему можно установить (т.е. они самостоятельны)
2) простейшие ОС могут работать и без файловых систем;
системы управления файлами выделяются в отдельную группу системных программ.
Заметим, что часто в специальной литературе системы управления файлами относят все-таки к операционным системам.
Это набор сервисных, дополнительно устанавливаемых программ, которые можно классифицировать по функциональному признаку следующим образом:
· драйверы специфических и специальных устройств (те, которые не поставляются в составе ОС).
· программы диагностики работоспособности компьютера;
· антивирусные программы, обеспечивающие защиту компьютера, обнаружение и восстановление зараженных файлов;
· программы обслуживания дисков, обеспечивающие проверку качества поверхности магнитного диска, контроль сохранности файловой системы на логическом и физической уровнях, сжатие дисков, создание страховых копий дисков, резервирование данных на внешних носителях и др.;
· программы архивирования данных, которые обеспечивают процесс сжатия информации в файлах с целью уменьшения объема памяти для ее хранения;
· программы обслуживания сети.
Эти программы часто называются утилитами. (Заметим, что к антивирусным средствам этот термин обычно не применяется)
Отдельно вспомним о такой группе системного ПО как системы программирования.
Это набор специализированных программных продуктов, которые являются инструментальны средствами разработчика. Программные продукты данного класса поддерживают все этапы процесса программирования, отладки и тестирования создаваемых программ.
Система программирования включает следующие программные компоненты:
· транслятор с соответствующего языка;
· компоновщик (редактор связей);
Заметим, что любая система программирования может работать только в соответствующей ОС, под которую она и создана, однако при этом она может позволять разрабатывать программное обеспечение и под другие ОС.
Трансляторы предназначены для преобразования программ, написанных на языках программирования, в программы на машинном языке. Программа, подготовленная на каком-либо языке программирования, называется исходным модулем. В качестве входной информации трансляторы применяют исходные модули и формируют в результате своей работы объектные модули, являющиеся входной информацией для редактора связей. Объектный модуль содержит текст программы на машинном языке и дополнительную информацию, обеспечивающую настройку модуля по месту его загрузки и объединение этого модуля с другими независимо оттранслированными модулями в единую программу.
Трансляторы делятся на два класса: компиляторы и интерпретаторы. Компиляторы переводят весь исходный модуль на машинный язык. Интерпретатор последовательно переводит на машинный язык и выполнят операторы исходного модуля
Отладчик позволяет управлять процессом исполнения программы, является инструментом для поиска и исправления ошибок в программе. Базовый набор функций отладчика включает:
· пошаговое выполнение программы (режим трассировки) с отображением результатов,
· остановка в заранее определенных точках,
· возможность остановки в некотором месте программы при выполнении некоторого условия;
· изображение и изменение значений переменных.
Средства сетевого доступа обеспечивают обработку, передачу и хранение данных в сети.
Программы, предназначенные для подачи запросов серверу, называются программами-клиентами. Сервер предназначен для их обслуживания. Клиент посылает запросы пользователя на сервер, используя стандартизированный формат, называемый протоколом. Ответ сервера содержит информацию, представленную в виде файла, содержащего данные того или иного формата.
Постоянно ведется разработка все новых программ-клиентов, предлагающих более удобные способы взаимодействия с сервером.
Таким образом, в системном ПО мы выделили пять групп системных программ:
· интерфейсные оболочки для взаимодействия пользователя с ОС (операционная оболочка) и программные среды;
· системы управления файлами;
· средства сетевого доступа.
Формальное описание языка программирования
Существует несколько способов описания синтаксиса языка программирования.
Наиболее известны синтаксические диаграммы и нормальная форма Бэкуса (форма Бэкуса-Наура).
1. Формы Бэкуса-Наура (БНФ)
Пример описания определения «множитель»
В скобки заключены нетерминальные символы языка (т.е. те, которые будут определены).
Символ ::= читается «определяется как »
Заметим, что любая синтаксически правильная программа, написанная на некотором языке программирования, может быть определена как нетерминальный символ некоторого языка.
2. Синтаксические диаграммы – это один из простых и эффективных способов описания синтаксиса определений.
Пример синтаксической диаграммы для понятия «множитель»
Число путей диаграммы – бесконечно.
Каждый путь соответствует одному из возможных определений описываемого понятия.
Каждому нетерминальному узлу (обозначается прямоугольником) соответствует в свою очередь синтаксическая диаграмма, определяющая понятие внутри.
Кружком обозначается терминальный узел.
Математическая система, определяющая язык, – это грамматика .
Формальное определение грамматики.
N – конечное множество нетерминальных символов, или нетерминалов (иногда их называют вспомогательными символами, синтаксическими переменными или понятиями),
T – не пересекающееся с N конечное множество терминальных символов, или терминалов,
S – начальный символ грамматики.
Назначение и сравнительный анализ языков высокого уровня
и машинно-ориентированных языков
Язык ассемблера — это символическое представление машинного языка.
«Все процессы в машине на самом низком, аппаратном уровне приводятся в действие только командами (инструкциями) машинного языка. Отсюда понятно, что, несмотря на общее название, язык ассемблера для каждого типа компьютера свой. Это касается и внешнего вида программ, написанных на ассемблере, и идей, отражением которых этот язык является.
По-настоящему решить проблемы, связанные с аппаратурой (или даже, более того, зависящие от аппаратуры как, к примеру, повышение быстродействия программы), невозможно без знания ассемблера.
Программист или любой другой пользователь может использовать любые высокоуровневые средства, вплоть до программ построения виртуальных миров и, возможно, даже не подозревать, что на самом деле компьютер выполняет не команды языка, на котором написана его программа, а их трансформированное представление в форме скучной и унылой последовательности команд совсем другого языка — машинного. А теперь представим, что у такого пользователя возникла нестандартная проблема или просто что-то не заладилось. К примеру, его программа должна работать с некоторым необычным устройством или выполнять другие действия, требующие знания принципов работы аппаратуры компьютера. И вот здесь-то и начинается совсем другая история. Каким бы умным ни был программист, каким бы хорошим ни был язык, на котором он написал свою чудную программу, без знания ассемблера ему не обойтись.
И не случайно практически все компиляторы языков высокого уровня содержат средства связи своих модулей с модулями на ассемблере либо поддерживают выход на ассемблерный уровень программирования.
Таким образом, внешне являясь полиглотом, компьютер понимает только один язык — язык машинных команд. Конечно, для общения и работы с компьютером, необязательно знать этот язык, но практически любой профессиональный программист рано или поздно сталкивается с необходимостью его изучения. К счастью, программисту не нужно пытаться постичь значение различных комбинаций двоичных чисел, так как еще в 50-е годы программисты стали использовать для программирования символический аналог машинного языка, который назвали языком ассемблера. Этот язык точно отражает все особенности машинного языка. Именно поэтому, в отличие от языков высокого уровня, язык ассемблера для каждого типа компьютера свой.
Из всего вышесказанного можно сделать вывод, что, так как язык ассемблера для компьютера “родной”, то и самая эффективная программа может быть написана только на нем (при условии, что ее пишет квалифицированный программист). Здесь есть одно маленькое “но”: это очень трудоемкий, требующий большого внимания и практического опыта процесс.
Поэтому реально на ассемблере пишут в основном программы, которые должны обеспечить эффективную работу с аппаратной частью. Иногда на ассемблере пишутся критичные по времени выполнения или расходованию памяти участки программы. Впоследствии они оформляются в виде подпрограмм и совмещаются с кодом на языке высокого уровня.» [1]
В языках высокого уровня по сравнению с языками машинно-ориентированными укрупняются допустимые операторы; усложняются допустимые операции. Языки высокого уровня позволяют оперировать более сложными структурами данных.
Языки высокого уровня более удобны для использования.
Что относят к базовому программному обеспечению
Успешно изучив это занятие, Вы будете знать :
основные сведения и основные составляющие программного обеспечения;
роль и место операционных систем в программном обеспечении компьютера;
функции и принципы классификации операционных систем.
После изучения данной темы Вы будете уметь :
разбираться в назначении программного обеспечения компьютера;
различать базовое (системное) и прикладное программное обеспечение;
разбираться в классификации операционных систем.
После изучения материала Вы будете обладать навыками :
выявления основного назначения программного обеспечения компьютера;
изучения тенденций развития операционных систем;
выявления основных особенностей операционных систем.
Операционная система
Операционная среда
Базовое (системное) программное обеспечение
Прикладное программное обеспечение
Все программное обеспечение, имеющееся на компьютере, принято делить на 2 большие части — базовое программное обеспечение (его еще могут называть системным программным обеспечением) и прикладное программное обеспечение (см. рис. 12.1 ).
Базовое программное обеспечение — это набор программ, которые отвечают за взаимодействие с аппаратными средствами (компонентами, составляющими базовую конфигурацию вычислительной техники).
В состав базового (системного) программного обеспечения входят :
сервисные программы (оболочки операционных систем, утилиты, интерфейсные программы);
инструментальные программы (трансляторы, загрузчики, средства отладки);
программы технического обслуживания (наладочные, диагностические, тестовые).
Операционная система — это обязательная часть базового программного обеспечения компьютера. Обеспечивает эффективное функционирование компьютера, организует выполнение других программ, установленных на компьютере, а также взаимодействие пользователя и внешних устройств с компьютером.
Сервисные программы — это программы, которые дополняют и расширяют возможности операционной системы, предоставляя пользователю компьютера дополнительные возможности.
Инструментальные программы — это программы, которые предназначены для эффективной разработки и отладки программного обеспечения. Используются обычно высококвалифицированными пользователями — программистами.
Программы технического обслуживания компьютера — это программы, которые предназначены для диагностики, тестирования технических средств и поиска неисправностей в компьютере. Благодаря использованию этих программ повышается надежность и достоверность обработки информации на компьютере.
В состав прикладного программного обеспечения входят различные программы, предназначенные для решения задач пользователя, например:
редакторы электронных таблиц;
программы для бухгалтеров;
программы для банковских сотрудников;
программы для маркетологов;
программы для сотрудников страховых компаний и т.д.
На рис. 12.2
представлена принципиальная схема конфигурации программного обеспечения компьютера.
Управление ресурсами включает решение двух общих, не зависящих от типа ресурса задач — планирование ресурса и отслеживание его состояния. Для решения задачи управления ресурсами разные ОС используют различные алгоритмы, что в конечном счете и определяет их облик в целом, включая характеристики производительности, область применения и даже пользовательский интерфейс. Так, например, алгоритм управления процессором в значительной степени определяет, является ли ОС системой разделения времени, системой пакетной обработки или системой реального времени.
Исходя из такой постановки задач можно определить следующие функции операционной системы: эффективное управление вычислительными ресурсами для повышения эффективности работы вычислительной машины и обеспечение необходимого уровня прозрачности оборудования для пользователей.
Наиболее распространенными из классификаций операционных систем являются следующие две — по функциональным возможностям и по областям применения.
По функциональным возможностям выделяют:
однопользовательские и многопользовательские
;
По областям применения выделяют операционные системы мейнфреймов, кластеров, серверов, рабочих станций, карманных компьютеров, мобильные и встраиваемые операционные системы. В зависимости от области применения различаются и функциональные возможности каждого класса операционных систем.
Свойства, которыми обладают операционные системы, делятся на две группы — машинно независимые и машинно зависимые.
Машинно независимые свойства характеризуют возможности операционной системы по управлению вычислительными ресурсами и особенности организации вычислительных процессов, а также способы организации файловых структур.
К машинно зависимым свойствам современных операционных систем относят многозадачность, возможность одновременной работы нескольких пользователей, возможность многопроцессорной обработки данных, возможность распараллеливания вычислений и многие другие.
Как уже упоминалось ранее, в рамках проблемы управления вычислительными ресурсами необходимо решать две задачи :
1) планирование ресурса — определение, кому, когда и в каком количестве необходимо выделить данный ресурс;
Задача управления ресурсами осложнена проблемой возможной взаимоблокировки процессов. Взаимоблокировка — ситуация, когда одни процессы блокируют доступ другим процессам к различным ресурсам. Она обусловлена тем, что в каждый конкретный момент времени один и тот же ресурс может быть использован только в рамках одной задачи. Это особенно заметно при использовании периферийного оборудования, к примеру в случае сканирования или печати документа или же при работе с файловой системой. Взаимоблокировка выгружаемых ресурсов разрешается путем перераспределения ресурсов между процессами. Взаимоблокировка невыгружаемых ресурсов может быть решена путем блокировки процесса до тех пор, пока не освободится запрошенный ресурс.
Одним из важнейших понятий операционных систем является понятие процесса.
Процесс — программа, которая в данный момент выполняется вычислительной машиной.
Устройства ввода-вывода делятся на две категории — блочные и символьные.
Блочные устройства — оперируют блоками данных, размер которых варьируется в зависимости от устройства. Каждый блок в блочном устройстве имеет собственный адрес. Примером блочного устройства может служить любой накопитель. Одним из наиболее важных свойств блочного устройства является возможность независимого доступа к блокам данных.
Символьные устройства — оперируют потоками данных, не имеющими структуры или адреса. Большинство устройств являются символьными.
Устройство ввода-вывода обычно состоит из двух частей — само устройство и его контроллер. Контроллер осуществляет управление работой устройства на физическом уровне. Контроллер выполняется в виде набора микросхем и либо совмещен с устройством, либо установлен на системной плате. Если контроллер установлен на системной плате, то обычно он позволяет работать с двумя и более устройствами данного типа. Примером такого контроллера может служить контроллер накопителей на жестких магнитных дисках, который позволяет работать одновременно с двумя НЖМД. Задачей контроллера является преобразование потока битов в блок байтов. Считываемые биты накапливаются в памяти контроллера, которая называется буфером данных, и затем в виде блоков байтов передаются в оперативную память. Каждый контроллер, помимо буфера, имеет также несколько регистров, посредством которых процессор может управлять работой контроллера.
Первый способ заключается в том, что каждому регистру назначается уникальный номер порта ввода-вывода. При таком способе адресное пространство оперативной памяти не пересекается с адресным пространством устройств ввода-вывода.
Второй способ заключается в выделении каждому регистру отдельного сегмента оперативной памяти. Преимущество второго способа в том, что для программирования работы устройств не нужно прибегать к машинным языкам, а также в том, что при таком подходе для защиты от несанкционированного доступа к устройствам достаточно исключить часть адресного пространства устройств ввода-вывода из блока адресов памяти, доступных пользователям. Недостаток этого подхода в том, что для его реализации необходимо использование более сложной аппаратуры. Повышение сложности аппаратуры обуславливается тем фактором, что некоторые приемы, используемые для ускорения работы с памятью, могут привести к катастрофическим последствиям при использовании их с устройствами ввода-вывода.
Прерывание — это сигнал процессору о том, что ему необходимо прервать выполнение текущего процесса и вызвать обработчик прерывания.
Обработчик прерывания — это программа, которую процессор должен выполнить при возникновении прерывания. Обработчик прерывания является частью драйвера устройства. Драйвером устройства
называют программу, которая обеспечивает взаимодействие устройства с операционной системой.
Виртуальной памятью называют такой метод работы с памятью, когда в памяти хранятся только те части программы, которые используются в конкретный момент времени. Все прочие части программы, равно как и данные, хранятся на диске. Этот способ организации памяти позволяет выполнять программы, чей суммарный объем вместе с данными может превышать объем доступной физической памяти. Большинство систем виртуальной памяти используют механизм страничной организации памяти. При работе с виртуальной памятью вся доступная память разбивается на страничные блоки фиксированного объема. При обращении к какой-либо ячейке памяти запрос сначала передается диспетчеру памяти, который преобразовывает виртуальный адрес в реальный, и передает полученный адрес на шину, который затем обрабатывается надлежащим образом.
Все программное обеспечение, имеющееся на компьютере, принято делить на 2 большие части — базовое программное обеспечение (его еще могут называть системным программным обеспечением) и прикладное программное обеспечение.
Базовое программное обеспечение — это набор программ, которые отвечают за взаимодействие с аппаратными средствами (компонентами, составляющими базовую конфигурацию вычислительной техники). В состав прикладного программного обеспечения
входят различные программы, предназначенные для решения задач пользователя
Операционная система — это обязательная часть базового программного обеспечения компьютера. Обеспечивает эффективное функционирование компьютера, организует выполнение других программ, установленных на компьютере, а также взаимодействие пользователя и внешних устройств с компьютером.
Сервисные программы — это программы, которые дополняют и расширяют возможности операционной системы, предоставляя пользователю компьютера дополнительные возможности.
Инструментальные программы — это программы, которые предназначены для эффективной разработки и отладки программного обеспечения. Используются обычно высококвалифицированными пользователями — программистами.
Программы технического обслуживания компьютера — это программы, которые предназначены для диагностики, тестирования технических средств и поиска неисправностей в компьютере. Благодаря использованию этих программ повышается надежность и достоверность обработки информации на компьютере.
Одной из основных задач ОС является управление вычислительными ресурсами. К вычислительным ресурсам относят процессорное время, оперативную и постоянную память, мультимедиа-компоненты, телекоммуникационное и периферийное оборудование. Второй основной задачей операционной системы является предоставление пользователю некоей абстрактной машины, с чьей помощью он может решать различные задачи.
Наиболее распространенными классификациями операционных систем являются следующие: по функциональным возможностям и по областям применения. По функциональным возможностям выделяют ОС:
однозадачные и многозадачные. Многозадачные ОС делятся на ОС с вытесняющей и невытесняющей многозадачностью. При вытесняющей многозадачности контроль за работой программ лежит на операционной системе, в противном же случае ход вычислений контролируется каждой программой самостоятельно;
однопользовательские и многопользовательские;
однопроцессорные и многопроцессорные. Многопроцессорные ОС делятся на симметричные и асимметричные. Асимметричные многопроцессорные операционные системы отличаются от симметричных тем, что первая монополизирует для работы операционной системы один или более процессоров, в то время как вторая использует часть процессорного времени каждого процессора.
однонитевые и многонитевые.
по областям применения выделяют операционные системы мэйнфреймов, кластеров, серверов, рабочих станций, карманных компьютеров, мобильные и встраиваемые операционные системы. В зависимости от области применения различаются и функциональные возможности каждого класса операционных систем.
Свойства, которыми обладают операционные системы, делятся на две группы: машинно-независимые и машинно-зависимые. К машинно-независимым свойствам современных операционных систем относят: многозадачность, возможность одновременной работы нескольких пользователей, возможность многопроцессорной обработки данных, возможность распараллеливания вычислений и многие другие.
В рамках проблемы управления вычислительными ресурсами необходимо решать две задачи:
планирование ресурса — определение, кому, когда и в каком количестве необходимо выделить данный ресурс;
отслеживание состояния ресурса, то есть поддержание оперативной информации о том, занят или не занят ресурс, а для делимых ресурсов — какое количество ресурса уже распределено.
Процессом называют программу, которая в данный момент выполняется вычислительной машиной. Каждому процессу выделяется отдельный, изолированный от других, сегмент памяти, который называют адресным пространством процесса.
Устройства ввода-вывода делятся на две категории — блочные и символьные. Блочное устройство оперирует блоками данных, размер которых варьируется в зависимости от устройства. Символьные устройства оперируют потоками данных, не имеющими структуры или адреса. Большинство устройств являются символьными.
Прерывание — это сигнал процессору о том, что ему необходимо прервать выполнение текущего процесса и вызвать обработчик прерывания. Обработчик прерывания — это набор команд, которые процессор должен выполнить при возникновении прерывания. Обработчик прерывания обычно входит в состав драйвера устройства.
Драйвером устройства называют программу, которая обеспечивает взаимодействие устройства с операционной системой.
Виртуальной памятью называют такой метод работы с памятью, когда в памяти хранятся только те части программы, которые используются в конкретный момент времени. Все прочие части программы, равно как и данные, хранятся на диске.
В чем отличие базового программного обеспечения от прикладного?
Какие программы считаются сервисными?
Что такое операционная система?
Каковы функции операционной системы?
Как классифицируются операционные системы?
Как операционная система управляет вычислительными ресурсами?
Что такое файловая система? Какой вид файловой системы использует операционная система вашего компьютера?
Какая информация содержится в драйвере устройства?
Что такое виртуальная память?
Алехина Г.В., Годин И.М., Пронкин П.Г. Основы информатики: учеб. пособие. — М.: МФПА., 2009.
Задания для самостоятельной работы
Выполните задания к теме 12 и пройдите тест в тетради-практикуме.