Эта статья или раздел нуждается в переработке. Пожалуйста, улучшите её в соответствии с правилами написания статей.
|
Системное программирование (или программирование систем) — род деятельности, заключающийся в работе над системным программным обеспечением. Основная отличительная черта системного программирования по сравнению с прикладным программированием заключается в том, что результатом последнего является выпуск программного обеспечения, предлагающего определённые услуги пользователям (например, текстовый процессор). в то время как результатом системного программирования является выпуск программного обеспечения, предлагающего сервисы по взаимодействию с аппаратным обеспечением (например, дефрагментация жёсткого диска), что подразумевает сильную зависимость таких программ от аппаратной части. В частности выделим следующее:
- программист должен учитывать специфику аппаратной части и другие свойства системы в которой функционирует программа, использовать эти свойства, например, применяя специально оптимизированный для данной архитектуры алгоритм.
- обычно используется низкоуровневый язык программирования или такой диалект языка программирования, который
- позволяет функционирование в окружении с ограниченным набором системных ресурсов
- работает максимально эффективно и имеет минимальное запаздывание по времени завершения
- имеет маленькую библиотеку времени выполнения (RTL) или не имеет её вообще
- позволяет прямое управление (прямой доступ) к памяти и управляющей логике
- позволяет делать ассемблерные вставки в код
- отладка программы может быть затруднена при невозможности запустить её в отладчике из-за ограничений на ресурсы, поэтому может применяться компьютерное моделирование для решения этой проблемы.
Системное программирование существенно отличается от прикладного, что обычно приводит к специализации программиста в одном из них.
Часто, для системного программирования доступен ограниченный набор средств. Использование автоматической сборки мусора довольно редкое явление и отладка обычно сложна. Библиотека времени выполнения, при её наличии, часто менее способная и совершает меньшее количество проверок. В связи с этими ограничениями обычно применяют при мониторинге и записи данных — операционные системы.
История[]
Изначально, программисты безвариантно писали на языке ассемблера. Эксперименты с поддержкой оборудования в языках высокого уровня (1960s привели к появлению таких, как BLISS и BCPL. Однако, язык программирования Си, сыгравший значительную роль в создании UNIX, завоевал большую популярность и распространился повсеместно к 1980-м годах.
В настоящее время (2006) некоторое применение нашлось для встраиваемого C++. Реализация основных частей в операционной системе и при использовании сетей нуждается в разработчиках системного ПО. Например, реализация постраничности (через виртуальную память) или драйверы устройств.
Термин Системное программирование непосредственно связан с термином Системный программист. Это программист, работающий (создающий, отлаживающий, диагностирующий и т. п.) над системным программным обеспечением.
Драйвер апдейтеры[]
Драйверы — это программные компоненты, которые используются устройствами для взаимодействия с операционной системой. Другими словами, драйверы — это посредники между операционной системой и аппаратными устройствами компьютера, использующиеся для передачи и приема данных между ними. Для удобного поиска и работы существуют специальные программы для обновления драйверов.[1]
Примечания[]
Литература[]
- Джонсон М. Харт Системное программирование в среде Microsoft Windows = Windows System Programming. — М.: «Диалектика», 2005. — С. 592. — ISBN 0-321-25619-0
Компьютер | Это незавершённая статья о компьютерах. Вы можете помочь проекту, исправив и дополнив её. |
de:Systemprogrammierung en:System programming fr:Programmation système pl:Programowanie systemowe uk:Системне програмування vi:Lập trình hệ thống