Я пишу свой терминал с нуля, чтобы понять как работает компьютер

Что происходит, когда вы вводите ls в терминале? Как 2 буквы превращаются в список файлов на экране? Я решил разобраться и написал свой терминал с нуля на C++. В этой статье я объясняю через метафору ресторана, как работают три магических системных вызова — fork() , exec() и wait() — которые лежат в основе любого терминала. Вы узнаете, почему cd нельзя сделать обычной программой, как работает перенаправление > , и какой коварный баг я поймал из-за непонимания процессов. Без сложной теории — только практика и понятные объяснения.

https://habr.com/ru/articles/1000766/

#shell #fork #exec #wait #системные_вызовы #процессы #linux #c++

Я пишу свой терминал с нуля, чтобы понять как работает компьютер

Почему я это делаю? Недавно я начал читать книгу "Operating Systems: Three Easy Pieces" и понял, что читать теорию — это одно, а понять как оно на самом деле работает — совсем другое. Когда я открываю...

Хабр