===== 系统调用 ===== 由于某些功能只有操作系统才有权限执行(cpu分特权级,内核有最高特权级),如读写外部设备。所以程序要执行某些功能时,需要依赖操作系统代劳。 * 程序发出一个终端(带有一个中段号) * cpu根据中段号,到中段向量表中查找对应的程序 * 进入内核态,判断用户权限等 * 将用户线程的cs,ip保存,ss,sp保存。(保存在内核的栈空间中) * 执行系统调用 * 恢复用户线程的cs,ip,ss,sp等上下文环境 * 跳转到用户线程继续执行 {{:pasted:20190131-122746.png}}