Системное программирование
| Эта статья или раздел нуждается в переработке. Пожалуйста, улучшите статью в соответствии с правилами написания статей.
|
Системное программирование (или программирование систем) — род деятельности, заключающийся в работе над системным программным обеспечением.
Основная отличительная черта системного программирования по сравнению с прикладным программированием заключается в том, что результатом последнего является выпуск программного обеспечения, предлагающего определённые услуги пользователям (например, текстовый процессор). В то время как результатом системного программирования является выпуск программного обеспечения, предлагающего сервисы по взаимодействию с аппаратным обеспечением (например, дефрагментация жёсткого диска), что подразумевает сильную зависимость таких программ от аппаратной части. В частности выделим следующее:
- программист должен учитывать специфику аппаратной части и другие свойства системы в которой функционирует программа, использовать эти свойства, например, применяя специально оптимизированный для данной архитектуры алгоритм.
- обычно используется низкоуровневый язык программирования или такой диалект языка программирования, который
- позволяет функционирование в окружении с ограниченным набором системных ресурсов.
- работает максимально эффективно и имеет минимальное запаздывание по времени завершения.
- имеет маленькую библиотеку времени выполнения (RTL) или не имеет её вообще.
- позволяет прямое управление (прямой доступ) к памяти и управляющей логике.
- позволяет делать ассемблерные вставки в код.
- отладка программы может быть затруднена при невозможности запустить её в отладчике из-за ограничений на ресурсы, поэтому может применяться компьютерное моделирование для решения этой проблемы.
Системное программирование существенно отличается от прикладного, что обычно приводит к специализации программиста в одном из них.
Часто, для системного программирования доступен ограниченный набор средств. Использование автоматической сборки мусора довольно редкое явление и отладка обычно сложна. Библиотека времени выполнения, при её наличии, часто менее способная и совершает меньшее количество проверок. В связи с этими ограничениями обычно применяют при мониторинге и записи данных — операционные системы.
История
Изначально, программисты безвариантно писали на языке ассемблера. Эксперименты с поддержкой оборудования в языках высокого уровня (1960-е привели к появлению таких, как BLISS и BCPL. Однако, язык программирования Си, сыгравший значительную роль в создании Unix, завоевал большую популярность и распространился повсеместно к 1980-м годам.
В настоящее время (2006) некоторое применение нашлось для встраиваемого C++. Реализация основных частей в операционной системе и при использовании сетей нуждается в разработчиках системного ПО. Например, реализация постраничности (через виртуальную память) или драйверы устройств.
Термин «системное программирование» непосредственно связан с термином «системный программист». Это программист, работающий (создающий, отлаживающий, диагностирующий и т. п.) над системным программным обеспечением.
Литература
- Джонсон М. Харт. Системное программирование в среде 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
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....