作者回复: 👍
作者回复: 其实理解清楚一个实质:编译器就是把高级语言翻译成为机器码,更抽象说,它其实就是格式转换器。目标格式是不是编译器正在运行的环境并不重要,只不过如果目标格式刚好是当前机器的CPU+操作系统,那么目标格式就可以直接执行,否则就编译出一个当前环境下无法执行的目标格式,这种情况就叫交叉编译。
作者回复: 我们日常所见明明有无数设计精良的例子,所以我们其实不需要一上来去设计新的例子,从这些最宏大的例子学起
作者回复: 正在教自家小孩😊
作者回复: 是的
作者回复: 要让引导程序给你执行权才行,如果你写一个不依赖操作系统的程序,但是要让操作系统执行它是行不通的,因为操作系统接管了所有的资源,你不依赖它什么也干不了(没有权限)。所以这种写法基本上只适合写另一个操作系统。
作者回复: 挺好的问题。硬件中断和软中断不一样。硬件中断你可以理解为总是会定期检查。软中断本身是一条指令,所以不存在检查这样的概念。
作者回复: 软中断你可以把它理解为虚函数调用,本来就占着cpu资源呢,不需要等。一下子来很多中断是可能的,在硬件中断的情况下,这时候会根据中断优先级响应。
作者回复: UML 里面有一些约定,可以参考。但是更重要的是团队内的约定。
作者回复: 做操作系统的难度不在技术,而是在:1、用户为何用你,你有何不可替代性;2、开发者为何要支持你,你用户多不多。
作者回复: 很快要讲到了
作者回复: 同一进程内的隔离是通过:1、分内核态很用户态;2、内存页的保护属性(不可读、不可写、不可执行)
作者回复: 编程语言的核心文法及内置库主要就是语言各种基础特性,主要就是语言文法部分,比如变量、控制语句(if、for、switch)、函数定义等等
作者回复: 是的
作者回复: 8-9岁
作者回复: 硬件中断周期性检查是一个错误的表述