L4、L5
目录
L4 操作系统接口
操作系统接口:接口表现为函数调用,又由系统提供,所以称为系统调用 POSIX: Portable Operating System Interface of Unix(IEEE制定的一个标准族)分类 | POSIX定义 | 描述 |
任务管理 | fork | 创建一个进程 |
execl | 运行一个可执行程序 | |
pthread_create | 创建一个线程 | |
文件系统 | open | 打开一个文件或目录 |
EACCES | 返回值,表示没有权限 | |
mode_t st_mode | 文件头结构:文件属性 |
L5 系统调用的实现
- 将内核程序和用户程序隔离!!!
- 区分内核态和用户态由于:CS:IP是当前指令,所以用CS的最低两位来表示:0是内核态,3是用户态 靠DPL和CPL来检查访问是否合法 DPL范围:0(核心态)、1(OS服务)、2(OS服务)、3(用户态)。只有当CPL<=DPL,CS:IP指针才能访问相应内存位置。
- 内核态可以访问任何数据,用户态不能访问内核数据
- 对于指令跳转也一样,实现了隔离
- 对于Intel x86,那就是中断指令
- int指令使CS中的CPL改成0,“进入内核”
- 这是用户程序发起的调用内核代码的唯一方式
- 系统调用的核心 (1) 用户程序中包含一段包含int指令的代码
(2) 操作系统些中断处理,获取想调程序的编号
(3) 操作系统根据编号执行相应代码