Какие различия программирования под UNIX и Linux?

Приветствую.

Подскажите, верно ли утверждение, что я прочитаю книгу по системному программированию в UNIX и смогу после этого программировать в Linux без изменений?

Если нет, то подскажите в чем разница?
И велики ли эти различия?

Спасибо за ваше время.
  • Вопрос задан
  • 1421 просмотр
Пригласить эксперта
Ответы на вопрос 5
Сможете.

Различия UNIX и Linux (на англ.)

Linux is a Unix clone written from scratch by Linus Torvalds with assistance from a loosely-knit team of hackers across the Net. It aims towards POSIX compliance.
Ответ написан
Комментировать
leahch
@leahch Куратор тега Linux
3D специалист. Dолго, Dорого, Dерьмово.
Системному программированию? Да, базовые знания приобретете, собственно, изучите POSIX api, который в большинстве своем полностью идентичен для всех юниксов. Сможете писать утилиты и демоны, обмениваться данными через сокеты, каналы, сообщения и общую память, синхронизироваться через мьютексы и семафоры. Точно пойдет на пользу, так как будете знать, что за неонка у них внутри. Более того, эти примеры скорее всего будут работать и в линуксе. Например библиотека winsock полностью повторяет posix, и если из нее использовать только posix-вызовы, то ваша программа будет работать и под виндовс и под любую posix-совместимую систему.
Однако, в каждой системе существуют еще с десяток, если не сотню, собственных механизмов на всякие случаи. Вот с ними придется разбираться отдельно для каждой системы, но это уже специализация.
Стоит ли изучать? Точно стоит, и эти знания не пропадут даром. Все юниксы достаточно похожи, изучайте!
Добавлю, вот ядра и внутренние механизмы у разных юниксов могут различаться, причем радикально, особенно то, что касается драйверов, расширений самого ядра и его окружения.
Ну и само утверждение немного лукавое, и да, и нет. Дьявол в мелочах, увы.
Ответ написан
Комментировать
Подскажите, верно ли утверждение, что я прочитаю книгу по системному программированию в UNIX и смогу после этого программировать в Linux без изменений?


Я недавно прочитал книгу как играть на синтезаторе и даже купил синтезатор, но руки не под то заточены, поэтому через N месяцев мучений я бросил это гиблое дело.

Так что нет, не верное утверждение. Прочитать книгу не значит освоить её и тем более получить навыки.
Программировать Вы сможете, вопрос только в том что именно, Hello world да, а вот дальше и глубже этого - тут все зависит от упорства и труда. И конечно же чтобы освоить системное программирование этим нужно заниматься регулярно и постоянно, а не набегами по 2 часа в неделю. Нужно работать над реальными проектами, решать реальные задачи. Только так Вы наберетесь опыта.
Ответ написан
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
что я прочитаю книгу по системному программированию в UNIX и смогу после этого программировать в Linux без изменений?


Конечно нет. чтобы программировать в Линукс нужно не просто прочитать книгу по системному программированию, а научиться программировать. На практике.
А тогда будет неважно на чем будете программировать.
Ответ написан
Комментировать
CityCat4
@CityCat4
//COPY01 EXEC PGM=IEBGENER
Сначала нужно определиться, что есть для Вас "системное программирование".
Написание собственных демонов, использование очередей, нитей, общих областей памяти, сокетов, каналов? Сможете, хотя не факт, что примеры приведенные в книге, заработают в некоей конкретной версии линуха - маны читать все равно придется, они явно будут новее книги.
Написание драйверов, системных вызовов, модулей ядра? Нет, нужно будет читать маны именно по kernel-hacking
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы