计算机可以分为硬件和软件。
----
硬件上,计算机的基本组成为:CPU,内存,主板,IO设备(输入输出设备)
硬件部分可以参考冯诺依曼架构。它描述了一个指令流和数据流混淆在一个流上的计算机硬件
如你需要指令流和数据流分开的计算机架构,请参考 哈佛架构
-----
软件存储于计算机当中,可以按照预先设定的方式运行,收集信息,输出结果。(参考上述架构)
操作系统(或者说内核?)可以看做是程序(单一的大型程序)或者程序集(由多个程序相互结合,有机组成)。操作系统实际上是其他程序的运行创造了美好的梦境——因为面向硬件编程可能并不好受。也许需要解决更多问题。
程序运行在操作系统中,可以利用操作系统上自带的基础设施,或是以某些安装的程序未基础。
比如java需要有jvm,大抵无法裸奔在硬件上。即便是C语言,也会有libc这种依赖……
拓展:微内核、宏内核
-----
笔记的正确与否,需要读者自行判断