操作系统概述
一.操作系统是硬件 与 程序和用户之间沟通的桥梁 ,提供了用户界面与编程接口 。
我们熟知的 硬件电路中的“01010101”,还有我们敲的代码,如C,java之间的转换正是依靠操作系统完成。操作系统为程序员以及用户提供了方便。
操作系统的特点:并发,共享等
二.HelloWorld 代码程序运行 解析
1.第一步是代码的编译,由对应的编译器执行
2.字节码文件(如java)由JVM调度操作系统
这里以C语言为例 ,进行详细说明,
(1)首先,C代码经过 预处理器 -> 编译器 -> 汇编器 -> 链接器
预处理器进行代码的一些修饰性工作,例如我们写的#include《stadio.h》,预处理器将其源文件导入到我们的HelloWorld源文件,合并为一个以 .i 结尾的文件,编译器将代码编译为汇编语言程序,以 .s 结尾的文件。 汇编器将得到的汇编语言程序翻译为低级的机器语言指令 ,以 . o 结尾的一个二进制文件 ,把这些指令打包成一种叫做可重定位目标程序的格式。 最后的链接器负责的工作是 ,例如你在程序中调用了 printf()函数,而这个函数在我们的函数库中存在一个 已经过上述步骤的 .o 的 对应文件 ,链接器负责将两个文件归并在一起,结果就得到一个可执行目标文件(或者简称可执行文件),可以被加载到内存中由操作系统执行。
(2)指令在执行时,依靠操作系统调度完成