所以我有一台电脑。它已经有程序了。如果删除那些程序,将剩下一个能够运行命令的操作系统。从那时起,我可以创建自己的程序,但仅限于已经加载到计算机上的操作系统的约束。我想做的是从计算机上完全删除操作系统,只剩下一个空白屏幕和一个光标,可以在其中键入所需的内容。我希望能够创建自己的程序,而不必在其后运行操作系统程序。我不了解物理机如何处理输入的字符字符串并产生自己的响应,然后将其显示在屏幕上,但显然有人之前已经做过,否则我就不会我现在正在输入的机器。
(我对句子的句子表示歉意,但我现在不知道该说些什么。)
我的目标是拥有一台类似于Apple 2的计算机,我唯一能做的就是在文本行中键入文字,并在屏幕上看到弹出的字符。我的目标是开发一个隐藏在计算机后台的程序,以便屏幕上仍然只有一个光标,但是该程序可以使我在键盘上键入任何简单的问题屏幕上显示“今天感觉怎么样?”,我会收到诸如“我过得很好,谢谢。你还好吗?”之类的答复。
有人知道我将如何正确启动这个项目吗?
答案 0 :(得分:1)
如果您需要提出此问题,则需要学习SO可以提供的多个答案。
甚至需要操作系统才能使光标出现在屏幕上。
如果您对这个想法很认真-您可能想从Arduino等微控制器开始。它们比Apple 2功能强大,它们使您可以编写程序并直接引导到它们中。添加某种终端IO并不困难-至少与在实际PC上引导程序相比。
答案 1 :(得分:0)
此类项目的一个很好的起点是一般地了解操作系统。这是一个很大的话题,但您不必了解所有内容。
当谈到操作系统时,我们想到的是一个大型系统,该系统提供以下功能:管理内存,将文件读写到永久存储中以及与输入和输出(如键盘和显示器)进行交互。我们通常还会想到大量更高级别的软件应用程序。将诸如dir或ls之类的命令视为操作系统附带的程序。当然,在基于GUI的操作系统中,我们还具有窗口和按钮以及要考虑的各种控件。
好消息是,要开始使用,您不需要成为所有方面的专家,并且当然不必从功能全面的OS开始。
另一个好消息是该主题可以分解为字节大小的片段。 Charles Petzold的Code The Hidden Language of Hardware and Software
是对所需基本原理的很好介绍。Petzold首先讨论了摩尔斯电码和盲文的发明,增加了电,数字系统,布尔逻辑以及由此产生的顿悟,将它们经济地组合在一起。他用这些构件来构建电路,继电器,门,开关,并讨论了真空管,晶体管的发明,最后是集成电路的发明。
本书的最后一部分包含一些主题,例如浮点数学的实现,操作系统以及在20世纪下半叶发生的各种改进。
一旦您了解了基础知识,那么学习操作系统的下一步便是研究一种提供尽可能少的功能的操作系统。看看MINIX
MINIX最初由Andrew S. Tanenbaum于1987年开发,作为其教科书《操作系统设计和实现》的教学工具。今天,它是一个面向文本的操作系统,其内核少于6,000行代码。 MINIX最著名的是微内核的示例,其中每个设备驱动程序都作为独立的用户模式进程运行-这种结构不仅提高了安全性,而且还提高了可靠性,因为这意味着驱动程序中的错误无法降低安全性。整个系统。
玩得开心。