Какие операционные системы лучше всего подходят для разработчика на Go?

Какие материалы стоит изучить для более глубокого понимания работы операционных систем в контексте изучения Go на более продвинутом уровне и подготовке к работе в этой предметной области?
  • 23 марта 2024 г. 18:09
Ответы на вопрос 3
Операционные системы, которые лучше всего подходят для разработчика на Go, включают в себя Unix-подобные системы, такие как Linux и macOS. Эти системы хорошо поддерживают инструменты разработки Go и предоставляют удобное окружение для работы с этим языком.

Для более глубокого понимания работы операционных систем в контексте изучения Go и подготовки к работе в этой предметной области, стоит изучить следующие материалы:

1. Книга "Operating Systems: Three Easy Pieces" от Remzi Arpaci-Dusseau и Andrea Arpaci-Dusseau. Эта книга предоставляет обзор основных концепций операционных систем, таких как процессы, потоки, сетевые протоколы и файловые системы.

2. Книга "The Go Programming Language" от Alan A. A. Donovan и Brian W. Kernighan. В этой книге освещены основы языка программирования Go, а также более продвинутые темы, такие как конкурентное программирование и профилирование производительности.

3. Онлайн-курс Coursera "Operating Systems and You: Becoming a Power User" от Google. Этот курс предоставляет практические навыки работы с операционными системами, такие как управление процессами, файлами и сетями.

4. Блог по Go, такой как официальный блог Go или блог Дэйва Чена. Здесь можно найти информацию о последних обновлениях и лучших практиках программирования на Go.

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

Следующий кандидат на изучение IPC (Inter Process Communication), мультипоточность, синхронизация, семафоры, мьютексы и т.п. Можно полистать про пайпы, они по разному работают в разных ОС т в каком то смысле это одновременно и сети и IPC.

До кучи - работа со временем, не совсем ОС но она чуть чуть может отличаться от ОС или выбранного фреймворка.

Ну и совсем голая практика - работа с GUI, базовые отличия и особенности (например почему в linux GUI это сервер, или почему в windows, 'схватив' заголовок окна мышкой, можно поставить на паузу стартовый поток).

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

Как копировать файлы и директории.
Как копировать файлы и директории между компьютерами.
Как посмотреть список файлов и директорий.
Как найти нужный файл.
Как посмотреть свободное место на дисках и в памяти.
Как выполнить какую-то команду, например компилятор.

Ну и все это в идеале в командной строке линукс, так как большинство вещей пишут под линукс.
Похожие вопросы