操作系统接口
操作系统启动的故事
- 接通电源后ip/pc指针到磁盘的0磁道0扇区处取指令,存入pc=0x0000处,启动操作系统。
- 0磁道0扇区又称为操作系统的引导区(一个扇区512字节);
接口与系统调用
-
接口表现为函数调用,又由系统提供,所以称为系统调用。
-
计算机给用户程序进入内核提供了唯一的入口----通过中断指令
int 0x80
-
每个想进入内核的用户程序(进入内核为了执行自身的代码,例如printf函数需要调用系统内核的write函数)都包含一段包含int指令的代码,操作系统写中断处理,判断出该用户程序需要的系统调用号,在通过int 0x80进入内核后,根据系统调用号执行内核中的函数,完成系统调用。
举个例子:用户程序需要调用prinft函数
用户调用printf——> 调用库函数printf执行里面的int 0x80中断代码——> 调用内核中的system_call处理中断——> 调用sys_call_table查系统调用号——> 获取系统调用号后调用相应的系统函数
-