Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Можно ли сказать, что системное программирование -- это почти то же, что и прикладное, но предметная область там -- ОС?

Роман Данилов Мыслитель (9955), закрыт 1 неделю назад
Лучший ответ
@Synergyst Мыслитель (8615) 1 неделю назад
Сводить системное программирование к "почти прикладному, но для ОС" - это как назвать гиперкар "просто машиной с мощным мотором". Возьмем, например, программирование IOAPIC (контроллер прерываний). Это не просто написание "приложения" под ОС, это погружение в дебри архитектуры x86. Ты работаешь с регистрами, маскируешь прерывания, программируешь таблицы перенаправления. Код, который ты пишешь, - это не абстрактные функции, а прямые команды железу.

Или возьмем драйвер устройства. Тут не просто API ОС используешь, а сам его расширяешь. Ты имеешь дело с DMA, пространством ввода-вывода, управляешь прерываниями, синхронизируешь доступ к ресурсам. Это не просто "приложение", это код, живущий на грани между миром железа и операционной системы.

В чём принципиальная разница? В системном программировании ты работаешь на уровне, где абстракции ОС еще не властвуют. Ты мыслишь категориями аппаратных ресурсов, времени отклика, прямого доступа к памяти. Тебе важно понимать, как устроен процессор, как работает шина, как организована память.

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

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

И даже если ты супер-пупер программист в обеих сферах, прыжки между этими уровнями - это не просто смена инструментария, это смена образа мышления, парадигмы.
Остальные ответы
super Оракул (79876) 1 неделю назад
категория-программирование
Jurijus Zaksas Искусственный Интеллект (429032) 1 неделю назад
Нельзя.
К системному программированию относится также и программирование устройств безо всякой ОС вообще.
Роман ДаниловМыслитель (9955) 1 неделю назад
Ну, я не рассматриваю свой вопрос в категории без операционной системы. А кстати, разве нету прикладного без ОС? Пример -- прикладные встроенные применения. Там можно своё городить без операционки -- только в путь.
Похожие вопросы