区别:
1)首先根据操作系统层次划分,原语和系统调概念强调于不同层次上。
原语属于操作系统,在操作系统面和硬件面之间
系统调用属于操作系统,在用户程序面和操作系统面之间
2)其次术语概念不同。
原语是指一系列原子性的操作/针对硬件的一系列操作,一般的实现是通过指令实现的,比如开关中断,主要强调的是原子性,也就是原子操作。
系统调用强调的是一个接口性的问题,是用户程序和操作系统的接口,是为了获取系统服务而为用户程序提供的接口
3)系统调用强调在核心态执行的os的程序,原语强调是操作系统核心态下程序可以调用的小程序,可以直接当成是命令,指令来理解。也可以用大程序和小程序简单理解.
4)原语常驻内存,但是系统调用不是
联系:
1)再者从代码上系统调用是一个程序,本质确实也是指令的集合,这点和原语一致,但这是程序的最基本组成单元,几乎无法再分,所以只能说是二者的联系。
2)都在内核态下才能运行