Ingernirated: Не знаю, но думаю, что здесь много раз этот вопрос задавали. Если знаете английский, на Khan Academy есть хороший вступительный курс, как раз с примерами и заданиями на Javascript
Ingernirated: Инструкции могут быть немного различными, но суть их будет одинаковой. Если вы и я понимаем одно и то же под инструкциями. Допустим, код на C выполнит меньше инструкций, чем код на JS или Python, но суть этих инструкций будет совершенно одинаковой: зарезервировать буфер, записать в него команду или данные, вызвать ядро, чтобы оно отправило содержимое буфера по сети. Ядро уже будет само разбивать там по пакетам TCP/IP, потом по фреймам Ethernet, говорить сетевой карте что, как и куда отправить.
Ну, на JS наверное тоже можно написать клиент и сервер FTP. Возможно, что они даже существуют. Но если вас реально интересует, как все устроено, то лучше начать с изучения архитектуры компьютера (не зря же про машинные команды вопрос задаете), языка C (так как на нем написано ядро ОС и большинство системных программ, а также большинство серверов FTP и не только), потом книги о сетевом программировании (Стивенс считается эталонной, но он будет слишком тяжелым для вас сейчас). Как минимум на год работы хватит.
В одном ответе или комментарии на ваши вопросы не ответить, да и не даст вам это ничего.
Ingernirated Простите, но уровень ваших вопросов предполагает объяснение слишком многих вещей. Как если бы первоклассник спросил: «Почему ездит машина?» Пришлось бы объяснять слишком много вещей... Да и то было бы проще.
Вы уже не первый раз задаете этот вопрос. Поясните хоть с какой целью он вас интересует. Вам в этом все равно не разобраться без знания основ сетей, сетевых протоколов и программирования. Даже не знаю, с чего бы я начал в вашем случае. С чтения какой-нибудь книги, но какую именно затрудняюсь советовать. Для начала, изучить какой-нибудь язык программирования.
Допустим, достаточно легко изучить Python. Книг по нему - масса. Затем, на Python написана масса клиентов и серверов FTP. Даже в стандартную библиотеку входят. Можно их код посмотреть, если вас интересует реализация.
Никакой он не самый простой. Напротив, самый сложный и кривой способ в перспективе. На мой взгляд, про этот способ вообще давно пора забыть. Эх, сколько ж еще поколений поломают себе ноги на этих заботливо расставленных автором поста граблях... :(
NTFS работает через FUSE и не факт, что в каждом дистрибутиве стоит по умолчанию. А доставлять может оказать сложно/невозможно. Я думал, что тут стремление к максимуму универсальности и минимуму проблем.
FUSE медленные и сильно нагружают CPU потому что требуют context switches. Скопируйте на FUSE-систему большой файл и посмотрите на индикатор CPU Load.
Вах, так и будете продолжать разработку методом тыка, спрашивая каждую тривиальную вещь и ошибку здесь? Поверьте, гораздо эффективнее и лучше для вас прочитать документацию. В комплект Python входит великоленая документация. Tutorial бесподобен, так же как и документация по стандартной библиотеке.
Кроме того, есть масса книг. Например, Dive into python.
Нагрузка судя по всему создается PHP-кодом, а не nginx или php-fpm. Надо код оптимизировать. В идеале, PHP должен отдавать редирект на статический файл, который nginx уже отдаст максимально эффективно, не нагружая процессор (используя sendfile, например).