L4 系统接口文章参考 —— 大学MOOC哈工大 李治军老师的 操作系统
没有前置知识真的很难 ,但是结合书 起来也很好理解。
- 接口 interface
- 用户如何使用计算机 ①命令行 ②图形按钮 ③应用程序
- 命令行 :其实就是一个程序 只是在程序的过程中 增加了重要的函数 对计算机硬件 进行使用
- 内存保存的是100:lizhijun的地址,而不是lizhijun这些字母的ASCALL,内存中保存ASCALL会浪费8B内存空间,如果只保存其在内核中的地址只需要花费内存2B
- 图形按钮 基于一套消息机制 (鼠标点击 、键盘输入、图形界面) 和命令行一样都是基于程序 (C语言 + 数据结构 )
- 关键是通过一些关键函数 来进入操作系统 调用硬件
- 操作系统接口 : 接口表现为函数调用 ,又系统提供 ,也叫系统调用。 system_call
POSIX 统一的接口 Portable Operating System Interface of Unix
因此接口函数 应该被统一
-
系统调用实际上就是提供一种能进入内核的手段。
-
whoami 函数 不能 jmp (汇编) 就相当于函数调用了。
-
不能调用数据 root 修改 内容 这些都是对系统危险的行为
-
DPL(Descriptor Privilege Level) : 目标内存段
-
CPL ( Current Privilege Level) :当前的特权级
-
RPL (Request Privilege Level)
-
数值越低 权限越高
-
CS:IP 两个寄存器指示了 CPU 当前将要读取的指令的地址,其中CS 为代码段寄存器,而 IP 为指令指针寄存器。
-
每次跳转 mov jmp 都要调用访问GDT表 的段寄存器 比较 段的权限, gdt链接
-
中断int指令 是进入系统内核的唯一方法
- buf 缓冲区 int 0x80
- 全过程 (汇编那段目前不会)



