Ресурсы для обучения C, Unix, Linux и встроенных систем

Я хочу узнать C, UNIX и LINUX и многое другое о встроенных системах. Очень их интересует. Есть ли онлайн-курсы или веб-сайты, которые могут мне помочь. И, пожалуйста, предлагайте книги, чтобы читать их, изучая их.

Спасибо за ваше время.

Я прошу, чтобы ваши ответы и комментарии вошли, они бесценны для меня..!!

Ответ 1

  • Язык программирования C по K и R
  • Расширенное программирование UNIX
  • Сетевое программирование UNIX
  • Структура и интерпретация компьютерных программ Видео (сделано в LISP, но бесценный курс программирования)
  • Понимание ядра Linux (немного устаревшее, но хорошая информация, не воспринимайте как Евангелие)
  • Драйверы устройств Linux 3rd Edition (довольно устаревшая, но хорошая информация, такая же, как указано выше).
  • Написание драйверов устройств Linux (довольно современное, но не так подробно, как раньше)

  • UNIX Time-Sharing System, это, по сути, оригинальная статья UNIX, это может помочь понять, откуда все это произошло, не нужно понимать каждую деталь этой старой статьи, но я думаю, что она дает хороший фон

Ответ 2

Я очень рекомендую "UNIX для чайников" в качестве отправной точки в Unix/Linux.

Ответ 3

В Интернете есть много удивительных ресурсов. Мой любимый из MIT.

http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/

Бесплатные курсы. Они могут быть довольно глубокими и охватывать гораздо больше предметов, чем просто информатика и математика.

Ответ 5

Быстрый способ немного узнать обо всем выше, это купить платформу разработки на базе MSP430 от Texas Instruments, установить mspgcc (компилятор с открытым исходным кодом для MSP430) на Linux-машине и написать базовый C программа, которая мигает светодиодом на доске разработки.

Ответ 6

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

Для большего количества причуд смотрите http://en.wikibooks.org/wiki/Embedded_Systems/C_Programming

Встраиваемые системы Orielly, встроенные в C и С++, - это хорошее место для начала, когда у вас есть основы C/С++ clear.