原语和系统调用的区别

系统调用又称为程序接口、广义指令。
系统调用属于操作系统的一部分,是对用户或应用程序开放的一系列程序接口。严格意义上来讲GUI并不属于操作系统,GUI只是利用了程序接口的一种用户软件。
系统调用类似于函数调用,其封装了一些只有在内核态才能执行的服务。同时它也是用户请求操作系统服务的唯一方式(系统调用只能通过用户程序间接使用)。
系统调用在进行设计的过程中会考虑到多种设计原则,会考虑到一些耦合、模块化等软工特征。
用户态下调用程序接口,系统调用会在管态下执行。具体的流程是用户执行陷入指令并引发CPU中断,CPU执行相应的处理系统调用的内核程序并返回。


原语是最接近计算机硬件的若干组程序模块,其通常由若干条指令组成以用来实现某个特定的操作,并且他是操作系统内核的一部分。
原语常驻内存,必须在管态执行。
原语强调的是一种不可间断性质,即原子性,这与数据库的Atom类似。

posted @ 2021-05-06 19:39  mirage_mc  阅读(3199)  评论(0编辑  收藏  举报