OS 提供给用户编程时的一些公共子程序,一般为函数或方法。
OS 为了安全的管理计算机软硬件资源,不允许程序员直接操作系统资源,比如(进程、内存、I/O、文件),
但是用户可以通过系统调用向 OS 请求相关资源的服务,比如:I/O 的请求和释放、设备启动、文件的创建、读写、删除、进程的创建、撤销、阻塞、唤醒
进程间的消息传递、内存的配备和回收等。
好比,你去餐馆吃饭,你只需要向服务员点菜(系统调用),服务员就会处理你的请求,而不是你自己去做菜。
程序员在代码中首先传递系统调用参数,然后由陷入(trap)指令负责将用户态转换为核心态,并将返回地址压栈备用,然后 CPU 执行相应的内核服务程序,最后返回用户态。
原文:https://www.cnblogs.com/yangwu-183/p/12539987.html