[英]Does a C/C++ program run the CPU or on the Kernel?
我从事编程已经有很多年了,但是有一件事我从未完全了解:
有两种类型的编程语言。 编译语言和解释语言,而编译语言和解释语言则必须先编译为解释语言,然后才能执行。
例如,必须先将C / C ++编译为机器语言,然后才能执行。
这是我的问题:谁真正运行已编译的C / C ++ Windows / Linux程序? 它是由CPU直接解释的,还是OS内核执行它并将命令传递给CPU?
如果CPU直接执行它,那么Windows内核又如何拒绝某些调用呢? 否则,这是否意味着内核也理解机器语言,还是非内核C / C ++程序不能编译为机器语言?
该程序在CPU上运行。 CPU具有不同的特权级别,因此所谓的“特权指令”只能由内核执行-这就是操作系统强制执行安全性的方式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.