这是关于编程语言和操作系统的计算机科学问题。
我的问题是,编程语言和操作系统之间的基本交互是什么?我确实知道操作系统的IFE循环,但不确定编程语言是如何适应的。
我已阅读此帖,但它没有任何帮助
Questions on how compiled programs interact with the operating system
编辑:
通过编程语言,我的意思是包括他们各自的编译器/ VM
答案 0 :(得分:3)
在机器代码级别,程序必须进行系统调用。
不同的处理器有不同的方法可用于进行系统调用。每个操作系统必须为给定的处理器体系结构选择系统调用约定。例如,对于x86处理器,Linux曾经使用软件中断指令INT 0x80
来执行其系统调用 - 但是(根据下面的注释)它现在使用SYSENTER
指令,该指令被引入到体系结构中专门用于此目的。
系统调用约定并非真正特定于编程语言,但它们必须写入给定语言和操作系统的最基本标准库。
答案 1 :(得分:1)
编程语言不与操作系统交互,因为它是一种语言,一种抽象的概念,它不是任何类型的(内部)演员。它只是一个系统,可以用来表达程序和算法,使用它的词法元素,符合它的语法和规则等。
与操作系统交互的是程序。编程语言的解释器和编译器,即程序,与OS交互。编译的程序与OS交互。语言没有。它们不是程序。