-
内核态与用户态
-
什么是系统调用
-
系统调用是怎么实现的
-
库函数write
-
库函数扩展汇编宏
-
int 0x80中断 调用对应的中断处理函数
-
检索系统调用函数表
-
最终执行sys_write
-
-
内核态与用户态数据交互
内核态与用户态
早期工程师们在操作系统上编写程序的时候,自己写个程序可以访问别人的程序地址,甚至是操作系统占用的地址,这样就很容易一不小心就直接把操作系统给干挂了,所以那个时候的程序员编写程序都得小心翼翼的
计算机核心的资源,一般有:内存,I/O端口,特殊机器指令等,这些资源必须得保护起来,规定哪些程序可以去访问,哪些程序不能去访问
所以引入了特权级别的概念,由硬件设备商直接来提供硬件级别的支持,最常见的就是给CPU指令集的权限分级来控制CPU的访问权限
比如 Intel CPU指令集
操作的权限由高到低划为4级&