Jump to content

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

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

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

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

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

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

Первоначально системные программисты всегда писали на языке ассемблера . Эксперименты с аппаратной поддержкой языков высокого уровня в конце 1960-х годов привели к появлению таких языков, как PL/S , BLISS , BCPL и расширенного ALGOL для больших систем Берроуза . Форт также имеет приложения в качестве системного языка. В 1970-х годах язык C получил широкое распространение, чему способствовал рост Unix .Совсем недавно некоторое применение получило подмножество C++ под названием Embedded C++ , например, оно используется в драйверах набора ввода-вывода macOS . [2] Инженеры, работающие в Google, создали Go в 2007 году для повышения производительности разработчиков в больших распределенных системах с ориентированными на разработчиков функциями, такими как параллелизм , сбор мусора и более быстрой компиляцией программ, чем C и C++. [3] В 2015 году Rust вышел — язык программирования общего назначения, часто используемый в системном программировании. Rust был разработан с учетом безопасности памяти и с целью обеспечения такой же производительности, как C и C++.

Альтернативное значение

[ редактировать ]

По историческим причинам некоторые организации используют термин «системный программист» для описания должностной функции, которую точнее было бы назвать системным администратором . Это особенно верно для организаций, в чьих компьютерных ресурсах исторически доминировали мэйнфреймы , хотя этот термин даже используется для описания рабочих функций, которые не задействуют мэйнфреймы. Такое использование возникло из-за того, что администрирование мэйнфреймов IBM часто включало написание специального ассемблерного кода ( базового языка ассемблера IBM (BAL)), который интегрировался с такими операционными системами , как OS/MVS , DOS/VSE или VM/CMS . Действительно, некоторые программные продукты IBM внесли значительный вклад в код, написанный программистами клиентов. Этот тип программирования становится все менее распространенным и все чаще выполняется на C, а не на ассемблере, но термин «системный программист» по-прежнему используется как фактическое название должности для сотрудников, администрирующих мэйнфреймы IBM, даже в тех случаях, когда они не занимаются системным программированием регулярно. деятельность.

См. также

[ редактировать ]
  1. ^ Перейти обратно: а б «Панель: Системное программирование в 2014 году и далее» . Майкрософт . Проверено 4 декабря 2015 г.
  2. ^ Apple Inc (14 августа 2009 г.). «Руководство по проектированию драйверов устройств комплекта ввода-вывода» . разработчик.apple.com . Apple Inc. Проверено 16 сентября 2014 г.
  3. ^ «Go в Google: языковой дизайн на службе разработки программного обеспечения — язык программирования Go» . go.dev . Проверено 11 апреля 2024 г.

Дальнейшее чтение

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 0a7d74e5900afd0e5dd1df11e0be302d__1712838600
URL1:https://arc.ask3.ru/arc/aa/0a/2d/0a7d74e5900afd0e5dd1df11e0be302d.html
Заголовок, (Title) документа по адресу, URL1:
Systems programming - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)