Как я могу создать этот тип машины? - PullRequest
0 голосов
/ 18 ноября 2018

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

(Я прошу прощения за расстановку предложений, но я не знаю, как сказать то, что я хочу сказать прямо сейчас.)

Моя цель здесь - иметь компьютер, вроде какApple 2, где единственное, что я могу с этим сделать, это ввести текстовую строку и увидеть символы, появляющиеся на экране.Моя цель помимо этой цели состоит в том, чтобы разработать программу, которая будет скрываться на заднем плане машины, чтобы на экране все еще оставался только курсор, но программа делала это так, чтобы при вводе любого простого вопроса вНа экране, например, «Как вы себя чувствуете сегодня?», я получал ответ: «У меня все хорошо, спасибо. Как дела?».

Кто-нибудь знает, как ясможет правильно запустить этот проект?

Ответы [ 2 ]

0 голосов
/ 19 февраля 2019

Хорошей отправной точкой для такого проекта является изучение операционных систем в целом.Это обширная тема, но вам не нужно знать все.

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

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

Другая хорошая новость заключается в том, что тему можно разбить на куски размером в байты.Отличным введением в основы, которые вам понадобятся, является код Чарльза Петцольда Скрытый язык аппаратного и программного обеспечения

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

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

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

MINIX был первоначально разработан в 1987 году Эндрю С. Таненбаумом в качестве учебного пособия для его учебника «Разработка и внедрение операционных систем».Сегодня это текстовая операционная система с ядром, содержащим менее 6000 строк кода.Самое большое требование MINIX к славе - это пример микроядра, в котором каждый драйвер устройства работает как изолированный процесс пользовательского режима - структура, которая не только повышает безопасность, но и надежность, поскольку это означает, что ошибка в драйвере не может привести квся система.

Веселитесь.

0 голосов
/ 18 ноября 2018
  1. Если вам нужно задать этот вопрос, вам нужно узнать больше, чем один ответ на SO.

  2. Операционная система необходима даже для отображения курсора на экране.

  3. Если вы серьезно относитесь к этой идее - вы можете начать с микроконтроллера, такого как Arduino. Они более мощные, чем Apple 2, и они позволят вам писать программы и загружаться прямо в них. Добавление терминального ввода-вывода не составит труда - по крайней мере, по сравнению с начальной загрузкой программы на реальном ПК.

...