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

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

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

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

СОДЕРЖАНИЕ
  • 1 Обзор
  • 2 История
  • 3 Альтернативное использование
  • 4 См. Также
  • 5 ссылки
  • 6 Дальнейшее чтение
Обзор

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

  • Программист может делать предположения об аппаратном и других свойствах системы, что программа работает на, и часто будет использовать эти свойства, например, с помощью алгоритма, который, как известно, чтобы быть эффективным при использовании конкретного оборудования.
  • Обычно используется низкоуровневый язык программирования или диалект языка программирования, чтобы:
  • Часто системные программы невозможно запустить в отладчике. Иногда для уменьшения этой проблемы можно использовать запуск программы в смоделированной среде.

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

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

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

История

Первоначально системные программисты неизменно писали на ассемблере. Эксперименты с аппаратной поддержкой языков высокого уровня в конце 1960-х годов привели к появлению таких языков, как PL / S, BLISS, BCPL и расширенный ALGOL для больших систем Burroughs. Форт также имеет приложения в качестве системного языка. В 1970-х годах C стал повсеместным, чему способствовал рост Unix. Совсем недавно подмножество C ++, называемое Embedded C ++, нашло некоторое применение, например, оно используется в драйверах I / O Kit для macOS.

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

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

Смотрите также
использованная литература
дальнейшее чтение
Последняя правка сделана 2023-04-17 02:26:48
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте