Вы должны добавить DRF MultiPartParser к вашим представлениям 'parser_classes
Да и нет.
, В первую очередь, важно помнить, что безотносительно Вашего языка выбора, в конце скомпилированный продукт находится в ассемблере (или более точно, машинный код). Даже интерпретаторы (такие как cpython интерпретатор) в конечном счете переводят Ваши сценарии в машинный код.
, Но это, вероятно, является чрезмерно техническим и пропускает основу Вашего вопроса:
"Я могу записать операционную систему на высокоуровневом языке?"
ответы на это являются и персональными и техническими.
Первый, персональная сторона: если уже не знают, как записать операционную систему в соединении ассемблера и C тогда, у Вас нет абсолютно никакого бизнеса, пробующего Ваши силы в дизайне ОС.
Часто у плохо знакомых с программированием есть эти виды вопросов, потому что они хотят сделать что-то столь же прохладное как запись новой ОС без всего изучения, требуемого даже делать попытку такого проекта. Они задаются вопросом, могут ли высокоуровневые языки быть способом обойти все это грязное исследование.
Поэтому, если в Вашей глубине души это - то, что Вы после, остановитесь теперь. Остановитесь, остановитесь, остановитесь. Становление хорошим в чем-то является тяжелой работой. Нет никаких ярлыков. Будьте готовы закатать рукава и заболеть некоторым синдромом канала запястья.
, Который не устраняет после пути к возможному дизайну ОС! Если это - Ваша страсть, то запустите наверху и проложите себе путь вниз. Получите книги по сетевым протоколам, управлению памятью, поточной обработке, и т.д., займитесь каждой главной подсистемой и узнайте ее хорошо. Вы не можете записать новый, если Вы не можете использовать старый!
Тогда чтение заказывает на разработке и реализации операционной системы, пока Вам не снятся методологии управления процессами.
Просто принимают во внимание, сумма необходимого знания (не только компьютерных операций, но и социальных конструкций как API) огромная. Это - долгое путешествие и полезное. Если Вы искренне любите это ремесло как, я делаю, Вы будете радоваться, что не торопились, даже если Вы никогда на самом деле пишете ОС.
Теперь, технический ответ. Вы испытываете необходимость в загрузчике, и это должно быть записано в ассемблере. В конце концов, Ваш процессор не знает C#. Мимо фазы загрузчика можно написать код ОС на любом языке, который Вы хотите, и это будет работать, предполагая, что Ваш язык может скомпилировать в двоичные файлы машинного кода (и не байт-код!)
Однако даже в нашем текущем "избытке циклов" вычислительная среда, ОС должна быть наклоном и эффективный, и этого почти невозможно достигнуть на высокоуровневом языке, еще больше на интерпретируемом языке.
Возможности, необходимо будет записать собственный компилятор/интерпретатор того данного языка как базовый компонент ОС. Тот базовый компилятор, вероятно, позволил бы только ограниченное подмножество языка (и Вы загрузитесь путем записи более устойчивого компилятора в ограниченном подъязыке). Иначе производительность будет плачевна.
, Но все это ужасно сложно, и реальное обсуждение проблем требует глубины знания, в котором Вы, вероятно, в настоящее время испытываете недостаток. Но если бы у Вас есть диск сделать так, можно легко изменить это, и затем я счастливо весь день обсуждал бы подходы!
, Если это заставляет Вас чувствовать немного лучше, я действительно знаю достаточно для записи операционной системы, и тем не менее я сижу без дела, мечтая, пытаясь выяснить, сколько из ОС могло мне сходить с рук запись в Python.;)
Да. Используйте ассемблер. Я использовал бы Forth. Родами была OS, сделанная символикой ** кодированный в Lisp. C главным образом используется, потому что ему доверяют, мы знаем, как он работает. И там существуйте компиляторы C для каждого ЦП во вселенной. Компиляторы для c просты создать.
** Symbolics зарегистрировала первый домен в Интернете. (интересный факт)
Уверенный. Вы могли использовать чистый ассемблер или выбрать другой высокоуровневый язык.
, Но Вы обычно не хотите. Поскольку объем ассемблерного кода, необходимого в современной операционной системе, является довольно низким. Большей части кода в ОС не нужен в том низко уровень.
C дает хороший промежуточный уровень абстракции, которая все еще позволяет писать код довольно низкого уровня, не имея необходимость иметь дело с весь детали, с которыми должны иметь дело ассемблерные разработчики.
Редактирование: как только Вы удаляете блок из уравнения, это становится намного более сложным. Установка достойной операционной системы требует выполнения нескольких команд машинного кода, которые просто не представлены на высокоуровневых языках (потому что они очень, очень определенные для машины). Вы могли теоретически произвести чистый машинный код в двоичном блобе и переходе к тому местоположению с высокоуровневого языка, но я полагаю, что обман, поскольку необходимо было бы придумать тот двоичный блоб во-первых.
Да, MenuetOS является примером операционной системы, записанной использующий только ассемблер.
, Поскольку Вы, кажется, не интересуетесь ассемблером, см. также JNode, операционная система, записанная в Java, и Особенность , операционная система, записанная в C#.
Существуют многочисленные попытки создать аппаратную реализацию JVM. Конечно, ОС для таких аппаратных средств была бы записана в Java. Посмотрите, например: http://www.jopdesign.com/
Также S40 Nokia, кажется, разрабатывается преимущественно в Java.
Уверенный. Код C/C++ компилируется в код ASM, но существует много других языков, которые Вы могли использовать таким же образом.
Вы не могли бы быть в состоянии использовать Java или C#, так как они полагаются на Виртуальную машину, и это могло быть записано в C.
На самом деле я полагаю, что был проект создать ОС на основе LISP, но это перестало работать.
Уверенный. Пока существует компилятор, доступный, который может произвести соответствующий машинный код, любой язык сделает.
Выезд http://common-lisp.net/project/movitz/ . Это - ОС, полностью записанная в Lisp. Я думаю, что это имеет свой собственный Assmebler, например, Lisp к переводчику машинного кода.
я люблю идею ОС без C/C++ и особенно основанного на Lisp.
Да. Очевидно, что-либо возможно в блоке, но часто не практично. Было несколько попыток создания операционных систем в управляемом коде (.NET, Java) с различными уровнями успеха.
вы могли бы написать это в машинном коде ? бу это просто двоичный файл. вы можете написать его на ассемблере, но он имеет сложную структуру. вам, вероятно, следует написать его на C, потому что он транслируется непосредственно в машинный код при компиляции, поэтому он быстрее, чем C # / C ++, и проще, чем сборка