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

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

Системное ПО является фундаментом, на котором базируется всё программное обеспечение (ПО) компьютеров. Различают системное ПО машинно-зависимое (предназначено для использования в семействах компьютеров с одной и той же системой команд) и переносимое, которое используется на компьютерах с разной архитектурой. Системное ПО применяют для управления ПО компьютеров и сетевыми коммуникациями, а также для поддержки выполнения прикладных программ. К системному ПО относятся операционные системы (ОС), программные средства организации компьютерных сетей и управления ими, системы управления базами данных (СУБД), средства промежуточного ПО (предоставляют выделенному классу приложений набор услуг, напрямую не предоставляемых ОС), инструментальные средства разработки и анализа программ, поддержки информационной безопасности и др. При разработке системного ПО используются методы программной инженерии; особое внимание уделяется качеству кода (включает минимизацию числа ошибок, простоту понимания и сопровождения, хорошую документированность и т. п.), надёжности и безопасности программ.

Системное программирование появилось в 1950-х гг., когда были созданы первые ОС, ассемблеры и компиляторы для мейнфреймов. Важным этапом стало появление системного ПО, создаваемого некоммерческими сообществами системных программистов и распространяемого вместе с текстами программ (ОС FreeBSD и Linux, СУБД PostgreSQL и MySQL и др.), что позволило многочисленным пользователям освободиться от зависимости от производителей коммерческого системного ПО.

Литература

  • Харт Д. М. Системное программирование в среде Windows. М. [и др.], 2005.
  • Молчанов А. Ю. Системное программное обеспечение. 3-е изд. СПб., 2010.
  • Таненбаум Э. С., Бос Х. Современные операционные системы (4-е издание), 2015.
  • Cristiano Giuffrida, Calin Iorgulescu, Giordano Tamburrelli, Andrew S. Tanenbaum Automating Live Update for Generic Server Programs. IEEE Trans. Software Eng. 43(3): 207–225 (2017).
Материалы портала bigenc.ru переданы в ведение АНО «Интернет-энциклопедия «РУВИКИ» на основе лицензионного соглашения. Возможны неточности в отображении материалов. Если у вас возникли вопросы или вы увидели ошибку, пожалуйста, сообщите нам на info@ruwiki.ru