Урок 8понятие программного обеспечения и его типы. назначение операционной системы и ее основные функции

Курс дистанционного обучения: «Экономическая информатика» Модуль 1 (1,5 кредит): Введение в экономическую информатику

Системы программирования

К этой категории относятся системные программы, предназначенные для разработки программного обеспечения:

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

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

     — компьютерные программы, предназначенные для создания и изменения текстовых файлов, а также их просмотра на экране, вывода на печать, поиска фрагментов текста и т. п.;

  • библиотеки подпрограмм — сборники подпрограмм или объектов, используемых для разработки программного обеспечения;
  • редакторы графического интерфейса.

Бизнес и финансы

БанкиБогатство и благосостояниеКоррупция(Преступность)МаркетингМенеджментИнвестицииЦенные бумагиУправлениеОткрытые акционерные обществаПроектыДокументыЦенные бумаги — контрольЦенные бумаги — оценкиОблигацииДолгиВалютаНедвижимость(Аренда)ПрофессииРаботаТорговляУслугиФинансыСтрахованиеБюджетФинансовые услугиКредитыКомпанииГосударственные предприятияЭкономикаМакроэкономикаМикроэкономикаНалогиАудитМеталлургияНефтьСельское хозяйствоЭнергетикаАрхитектураИнтерьерПолы и перекрытияПроцесс строительстваСтроительные материалыТеплоизоляцияЭкстерьерОрганизация и управление производством

Лицензия

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

Часть программного обеспечения поставляется со свободной лицензией. Такие лицензии позволяют распространять программное обеспечение, а также модифицировать его.

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

Что такое витамин D и почему он так необходим

Классы системных программ

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

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

Примечания

  1.  (недоступная ссылка)

Системы программирования

Основная статья: Инструментальное программное обеспечение

К этой категории относятся системные программы, предназначенные для разработки программного обеспечения:

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

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

     — компьютерные программы, предназначенные для создания и изменения текстовых файлов, а также их просмотра на экране, вывода на печать, поиска фрагментов текста и т. п.;

  • библиотеки подпрограмм — сборники подпрограмм или объектов, используемых для разработки программного обеспечения;
  • редакторы графического интерфейса.

4.2.1. Структура системного программного обеспечения

Базовое программное обеспечение — минимальный набор программных средств, обеспечивающих работу компьютера.

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

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

Урок 8понятие программного обеспечения и его типы. назначение операционной системы и ее основные функции

Рис. 2. Классификация системного программного

обеспечения компьютера

1.Базовое программное обеспечение

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

  •             операционная система;
  •             сетевые операционные системы;
  •             операционные оболочки (текстовые и графические).

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

Урок 8понятие программного обеспечения и его типы. назначение операционной системы и ее основные функции

Рис. 3

Более подробно операционные системы рассмотрим в следующей лекции.

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

            Наибольшее распространение имеют LAN Server, Netware, Windows NT, Windows 95.

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

Урок 8понятие программного обеспечения и его типы. назначение операционной системы и ее основные функции

Рис. 4

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

  •             Norton Commander;
  •             Norton Navigator и др.

            Во всем мире имеют огромную популярность такие графические оболочки  MS DOS, как Windows 3.1, Windows 3.11 for Workgroup.

Навигация по записям

Состав системных программ

Базовые
средства (основные)

Сервисные
программы (вспомогательные)

Операционные
системы (локальные и сетевые)

Программы
диагностики компьютера

Операционные
оболочки

Программа
сжатия диска

Программы
архивации файлов

Антивирусные
программы и др.

Программы
защиты от несанкционированного
доступа

Базовое программное обеспечение(basesoftware)
минимальный набор программных
средств, обеспечивающих работу компьютера.Самый низкийуровень программного
обеспечения. Отвечает за взаимодействие
с базовыми аппаратными средствами и
согласованием их работы. ПО этого уровня,
как правило, хранятся в специальных
микросхемах, называемых ПЗУ (ReadOnlyMemory–ROM). Программы и данные
записываются («прошиваются») в микросхемы
ПЗУ на этапе производства и не могут
быть изменены на этапе эксплуатации.
Если изменение базовых программ считается
целесообразным технически, вместо
микросхем ПЗУ применяют перепрограммируемые
постоянные запоминающие устройства
ППЗУ (ErasableProgrammableReadOnlyMemory–EPROM). Тогда изменение
содержания ПЗУ можно выполнять
непосредственно в системе (флэш-технологии)
или на специальных устройствах-программаторах.
Программы низшего уровня (BIOS)2начинают работать в момент первичной
загрузки компьютера. Обеспечиваютаппаратно-программный интерфейс.

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

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

Литература

  • ГОСТ Р ИСО/МЭК 12207-2010 Информационная технология. Системная и программная инженерия. Процессы жизненного цикла программных средств.
  • Батоврин В. К. Толковый словарь по системной и программной инженерии. — М.: ДМК Пресс, 2012. — С. 280. — ISBN 978-5-94074-818-2.
  • Брукс Ф. Мифический человеко-месяц или как создаются программные системы. — СПб.: Символ-Плюс, 1999.
  • ДеМарко Т. Deadline. Роман об управлении проектами. — М.: Манн, Иванов и Фербер. — 2013. — 352 с. ISBN 978-5-91657-284-1
  • ДеМарко Т., Листер Т. Человеческий фактор. Успешные проекты и команды. — М.: Символ-Плюс. — 2014. — 288 с. ISBN 978-5-93286-217-9
  • Йордан Э. Путь камикадзе. Как разработчику программного обеспечения выжить в безнадежном проекте. — М.: Лори, 2012. — 290 с. ISBN 978-5-85582-227-3
  • Соммервилл И. Инженерия программного обеспечения. — Издательство Вильямс, 2002. — 624 с. ISBN 5-8459-0330-0
  • Time-Life Books. Язык компьютера = Computer Languages. — М.: Мир, 1989. — Т. 2. — 240 с. — (Understanding Computers). — 100 000 экз. — ISBN 5-03-001148-X.
  • Martin Campbell-Kelly. From Airline Reservations to Sonic the Hedgehog: A History of the Software Industry. — MIT Press, 2003. — 372 с. — (History of Computing). — ISBN 978-1422391761.

Системы программирования

Основная статья: Инструментальное программное обеспечение

К этой категории относятся системные программы, предназначенные для разработки программного обеспечения:

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

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

     — компьютерные программы, предназначенные для создания и изменения текстовых файлов, а также их просмотра на экране, вывода на печать, поиска фрагментов текста и т. п.;

  • библиотеки подпрограмм — сборники подпрограмм или объектов, используемых для разработки программного обеспечения;
  • редакторы графического интерфейса.

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

Качество программного обеспечения играет важную роль, особенно в коммерческом и системном программном обеспечении, таком как Microsoft Office, Microsoft Windows и Linux. Если программа неисправна (глючит или имеет баги), она может удалить наработки пользователя, привести к неисправности компьютера и сделать другие неожиданные вещи. Недостатки и ошибки, называемые «багами», часто обнаруживаются во время альфа и бета-тестирования. Программное обеспечение также часто бывает подвержено тому, что известно под названием устаревание программного обеспечения, постепенное ухудшение производительности в результате сочетания допущенных ошибок.

Немало ошибок обнаруживается и устраняется (отлаживается) с помощью тестирования программного обеспечения. Однако тестирование программного обеспечения редко, а точнее, никогда не устраняет все ошибки. Некоторые программисты говорят, что «В каждой программе есть по крайней мере одна ошибка» (Закон Любарского). В каскадном методе разработки программного обеспечения, как правило, привлекаются отдельные команды тестировщиков, но в более современных методах, под обобщенным названием методы гибкой разработки программного обеспечения, разработчики регулярно предоставляют возможность протестировать демонстрационные версии программного обеспечения самим пользователям / клиентам, чтобы получать сведения о недоработках ПО через обратную связь. Программное обеспечение может быть протестировано с помощью модульного тестирования, регрессионного тестирования и других методов, которые выполняются вручную или чаще всего автоматически, так как объем тестируемого кода может быть довольно большим. Например, NASA применяет весьма тщательные процедуры тестирования программного обеспечения для многих операционных систем и систем связи. Многие операции NASA взаимодействуют и идентифицируют друг друга с помощью командных программ. Это позволяет многим сотрудникам NASA комплексно проверять и оценивать функциональные системы. Программы, содержащие командное программное обеспечение, позволяют облегчать совместную работу аппаратного обеспечения и системных операций.

Лицензия на программное обеспечение 

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

Проприетарное программное обеспечение можно разделить на два типа:

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

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

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

Операционные системы

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

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

Функции операционных систем

Основные функции (простейшие операционные системы):

  • Загрузка приложений в оперативную память и их выполнение.
  • Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).
  • Управление оперативной памятью (распределение между процессами, виртуальная память).
  • Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, компакт-диск и т. д.), организованным в той или иной файловой системе.
  • Пользовательский интерфейс.
  • Сетевые операции, поддержка стека протоколов.

Понятие операционной системы

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

Есть приложения вычислительной техники, для которых операционные системы излишни. Например, встроенные микрокомпьютеры содержатся сегодня во многих бытовых приборах, автомобилях (иногда по десятку в каждом), сотовых телефонах и т. п. Зачастую такой компьютер постоянно исполняет лишь одну программу, запускающуюся по включении. И простые игровые приставки — также представляющие собой специализированные микрокомпьютеры — могут обходиться без операционной системы, запуская при включении программу, записанную на вставленном в устройство «картридже» или компакт-диске. Тем не менее некоторые микрокомпьютеры и игровые приставки всё же работают под управлением особых собственных операционных систем. В большинстве случаев, это UNIX-подобные системы (последнее особенно верно в отношении программируемого коммутационного оборудования: файрволов, маршрутизаторов).

Основные идеи операционных систем

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

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

Лицензия

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

Часть программного обеспечения поставляется со свободной лицензией. Такие лицензии позволяют распространять программное обеспечение, а также модифицировать его.

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

История создания программного обеспечения

Порядок действий (алгоритм), который считается первой программой, был написан Адой Лавлейс в 19 веке, для проекта аналитической машины. Однако ни аналитическая машина, ни какое-либо программное обеспечение для неё никогда не были созданы.

Первая теория о программном обеспечении до создания компьютеров такими, какими мы их знаем сегодня, была предложена Аланом Тьюрингом в 1935 году в его работе «Computable numbers with an application to the Entscheidungsproblem (Decision problem)» (О вычислимых числах в приложении к проблеме разрешения).

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

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

Классификация ПО

Подходы к классификации ПО достаточно подробно формализованы в международном стандарте ISO/IEC 12182. В частности, первая версия стандарта предусматривала 16 критериев классификации программных средств:

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

Примерами классов функции ПС являются:

  • обработка деловых сообщений;
  • компиляция;
  • научные вычисления;
  • обработка текстов;
  • медицинские системы;
  • системы управления.

Примерами классов прикладной области являются:

  • наука;
  • бытовые устройства;
  • оборудование;
  • аппаратура управления процессом;
  • предпринимательство;
  • система организации сети.

Примерами классов масштаба ПС являются:

  • малый;
  • средний;
  • большой.

Примерами классов критичности являются:

  • национальная безопасность;
  • человеческая жизнь;
  • социальный хаос или паника;
  • организационная безопасность;
  • частная собственность;
  • секретность.

Примерами классов пользователя являются:

  • начинающий;
  • средний;
  • специалист (эксперт);
  • обычный;
  • случайный;
  • другая система программного обеспечения;
  • технические средства.

Примерами классов стабильности являются:

  • постоянное внесение изменений;
  • дискретное внесение изменений;
  • маловероятное внесение изменений.

По сектору индустрии программное обеспечение делится на три категории:

  • программное обеспечение, разрабатываемое на заказ;
  • программное обеспечение для крупных корпораций и организаций;
  • программное обеспечение для массового потребителя.

По степени переносимости программы делят на

  • платформозависимые;
  • кроссплатформенные.

По способу распространения и использования программы делят на

  • несвободные (закрытые);
  • открытые;
  • свободные.

По назначению программы делят на:

  • системные;
  • прикладные.

По видам программы делят на:

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

Системное программное обеспечение

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

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

Прикладное программное обеспечение

Основная статья: Прикладное программное обеспечение

Прикладное программное обеспечение — программа, предназначенная для выполнения определённых пользовательских задач и рассчитанная на непосредственное взаимодействие с пользователем.

Операционные системы

Основная статья: Операционная система

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

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

Функции операционных систем

Основные функции (простейшие операционные системы):

  • Загрузка приложений в оперативную память и их выполнение.
  • Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).
  • Управление оперативной памятью (распределение между процессами, виртуальная память).
  • Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, компакт-диск и т. д.), организованным в той или иной файловой системе.
  • Пользовательский интерфейс.
  • Сетевые операции, поддержка стека протоколов.

Понятие операционной системы

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

Есть приложения вычислительной техники, для которых операционные системы излишни. Например, встроенные микрокомпьютеры содержатся сегодня во многих бытовых приборах, автомобилях (иногда по десятку в каждом), сотовых телефонах и т. п. Зачастую такой компьютер постоянно исполняет лишь одну программу, запускающуюся по включении. И простые игровые приставки — также представляющие собой специализированные микрокомпьютеры — могут обходиться без операционной системы, запуская при включении программу, записанную на вставленном в устройство «картридже» или компакт-диске. Тем не менее некоторые микрокомпьютеры и игровые приставки всё же работают под управлением особых собственных операционных систем. В большинстве случаев, это UNIX-подобные системы (последнее особенно верно в отношении программируемого коммутационного оборудования: файрволов, маршрутизаторов).

Основные идеи операционных систем

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

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

Информация

Добавить в ЗАКЛАДКИ

Утилиты

Утилиты (англ. utility или tool) — программы, предназначенные для решения узкого круга вспомогательных задач. Иногда утилиты относят к классу сервисного программного обеспечения.

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

Типы утилит

  • Дисковые утилиты
    • Дефрагментаторы
    • Проверка диска — поиск неправильно записанных либо повреждённых различным путём файлов и участков диска и их последующее удаление для эффективного использования дискового пространства.
    • Очистка диска — удаление временных файлов, ненужных файлов, чистка «корзины».
    • Разметка диска — деление диска на логические диски, которые могут иметь различные файловые системы и восприниматься операционной системой как несколько различных дисков.
    • Резервное копирование — создание резервных копий целых дисков и отдельных файлов, а также восстановление из этих копий.
    • Сжатие дисков — сжатие информации на дисках для увеличения вместимости жёстких дисков.
  • Утилиты работы с реестром
  • Утилиты мониторинга оборудования
  • Тесты оборудования

Читайте также ?

Системы управления базами данных

Основная статья: СУБД

Система управления базами данных (СУБД) — специализированная программа (чаще комплекс программ), предназначенная для организации и ведения базы данных.

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

Основные функции СУБД

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

Классификация СУБД по способу доступа к базе данных

  • Файл-серверные, в которых файлы данных располагаются централизованно на файл-сервере, а программная реализация СУБД располагается на каждом клиентском компьютере целиком. Доступ к данным осуществляется через локальную сеть. Синхронизация чтений и обновлений осуществляется посредством файловых блокировок. Всплеск популярности файл-серверных систем управления базами данных относится к концу 1980-х — началу 1990-х годов.
  • Клиент-серверные СУБД состоят из клиентской части (которая входит в состав прикладной программы) и сервера (см. Клиент-сервер).
  • Встраиваемые — программные библиотеки, которые позволяют унифицированным образом хранить большие объёмы данных на локальной машине.

Литература

  • ГОСТ Р ИСО/МЭК 12207-2010 Информационная технология. Системная и программная инженерия. Процессы жизненного цикла программных средств.
  • Батоврин В. К. Толковый словарь по системной и программной инженерии. — М.: ДМК Пресс, 2012. — С. 280. — ISBN 978-5-94074-818-2.
  • Брукс Ф. Мифический человеко-месяц или как создаются программные системы. — СПб.: Символ-Плюс, 1999.
  • ДеМарко Т. Deadline. Роман об управлении проектами. — М.: Манн, Иванов и Фербер. — 2013. — 352 с. ISBN 978-5-91657-284-1
  • ДеМарко Т., Листер Т. Человеческий фактор. Успешные проекты и команды. — М.: Символ-Плюс. — 2014. — 288 с. ISBN 978-5-93286-217-9
  • Йордан Э. Путь камикадзе. Как разработчику программного обеспечения выжить в безнадежном проекте. — М.: Лори, 2012. — 290 с. ISBN 978-5-85582-227-3
  • Соммервилл И.. Инженерия программного обеспечения. — Издательство Вильямс, 2002. — 624 с. ISBN 5-8459-0330-0
  • Time-Life Books. Язык компьютера = Computer Languages. — М.: Мир, 1989. — Т. 2. — 240 с. — (Understanding Computers). — 100 000 экз. — ISBN 5-03-001148-X.
  • Martin Campbell-Kelly. From Airline Reservations to Sonic the Hedgehog: A History of the Software Industry. — MIT Press, 2003. — 372 с. — (History of Computing). — ISBN 978-1422391761.