美文网首页
系统调用的实现

系统调用的实现

作者: salix_ | 来源:发表于2020-02-27 21:06 被阅读0次

    一:系统调用的引入

    • 我们说开机了之后,经过BIOS、Bootsect、Setup到最终System(OS)被放到内存的0地址。
    • 那作为用户的我们,能不能通过直接自己实现open函数( open()是操作linux显示printf的系统调用 )直接去看存储在内存中root管理员的密码?
    • 显然是不可以的,所以操作系统在用户和底层之间竖了一道屏障。那就是系统调用,用户想要调用底层功能,只能通过系统调用。
    • 将内存分成了用户段、核心段。(对应的就是用户态、核心态)用硬件去区分

    二:怎样用硬件去划分用户段、核心段

    当前程序的特权级是CPL,要跳转到程序的特权级是DPL。(都记录在GDT表中)
    内核态的特权级是0,用户态是3。
    仅当DPL>=CPL的时候,才可以跳转。

    三:怎样从用户态访问核心态?

    相关文章

      网友评论

          本文标题:系统调用的实现

          本文链接:https://www.haomeiwen.com/subject/hxawchtx.html