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

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

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

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

Спасибо за ваше время.
  • Вопрос задан
  • 1413 просмотров
Пригласить эксперта
Ответы на вопрос 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
Внимание! Изменился адрес почты!
Сначала нужно определиться, что есть для Вас "системное программирование".
Написание собственных демонов, использование очередей, нитей, общих областей памяти, сокетов, каналов? Сможете, хотя не факт, что примеры приведенные в книге, заработают в некоей конкретной версии линуха - маны читать все равно придется, они явно будут новее книги.
Написание драйверов, системных вызовов, модулей ядра? Нет, нужно будет читать маны именно по kernel-hacking
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 13:31
10000 руб./за проект
19 апр. 2024, в 13:12
35000 руб./за проект
19 апр. 2024, в 13:06
6000 руб./за проект