目录 1.1 编程语言 1)低级语言 2)高级语言 1.2 内核kernel 1.3 程序 1.4 进程 1.5 cpu内存空间 1.1 编程语言 1)低级语言 #离机器越近语言 #二进制机器指令 #汇编语言 #ADD,R0,R1,ST... 2)高级语言 #离近人类越近的自然语言 #编译型语言 #c,c++,go... #解释型语言 #c#,python,java,swift,basic... 1.2 内核 kernel #是一个通用软件,运行在硬件上,不负责具体的工作,只是协调各个程序,将硬件资源所提供的硬件能力抽象成一个个系统调用(#system call),系统调用过于底层(由上层的程序员决定它的表现形式) #将底层系统调用再次封装成更高级的接口,这个高级接口就是库(library),库没有程序的执行入口,只能被调用(API #Application Program Interface) #在面向库的编程时,应用程序写出来的程序接口叫API,如果编译成二进制格式,这个接口叫ABI(应用二进制接口) #执行用户代码的机制叫"用户空间",用户空间发起的系统调用,执行内核代码的机制叫"内核空间" (cpu运行在用户空间) 1.3 程序 #程序可以通过系统调用直接运行在内核上(执行效率更高,权限更大)也可以通过库调用来完成