Справочник от Автор24
Нужна помощь?
Найдем эксперта за 5 минут
Подобрать эксперта
+2

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

Общие сведения

Определение 1

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

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

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

На основании вышесказанного можно выделить основные признаки, отличающие системное программирование от прикладного:

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

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

«Системное программирование» 👇
Помощь автора по теме работы
Найти автора
Решение задач от ИИ за 2 минуты
Решить задачу
Более 10 нейросетей для написания рефератов и решения задач
Найти нейросеть

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

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

Классификация системных программ

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

Системные программы можно условно разделить на следующие категории:

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

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

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

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

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

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

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

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

Дата написания статьи: 31.08.2021
Не знаешь, как приступить к заданию?
За 5 минут найдем эксперта и проконсультируем по заданию. Переходи в бота и получи скидку 500 ₽ на первый заказ.
Запустить бота
Нужна помощь с заданием?

Эксперт возьмёт заказ за 5 мин, 400 000 проверенных авторов помогут сдать работу в срок. Гарантия 20 дней, поможем начать и проконсультируем в Telegram-боте Автор24.

Перейти в Telegram Bot