美文网首页
操作系统系列(二):启动、中断、异常、系统调用

操作系统系列(二):启动、中断、异常、系统调用

作者: Jarvist | 来源:发表于2019-11-03 21:00 被阅读0次

    一、操作系统的启动:

    OS存放于磁盘(Disk);
    BIOS(基本IO处理系统): 开机后从特定内存地址开始执行,检查外设,然后加载Bootloader;
    Bootloader:放在硬盘第一个主引导扇区、将OS从硬盘加载到内存、跳转到OS起始地址;

    OS于设备、应用的交互:

    系统调用:应用主动向OS发出服务请求;

    异常:应用的非法指令/坏的处理状态;

    中断:来自外设,通知OS需要中断处理。

    中断、异常、系统调用 区别:

    1、来源不同:中断来自外设;异常来自应用程序的异常行为;系统调用来自应用程序请求系统提供服务;
    2、处理时间不同:中断是异步事件、异常同步、系统调用返回可以是异步,请求是同步的。
    3、响应:中断:持续,对应用透明;异常:杀死/重新执行指令;系统调用:等待系统调用完成后继续执行。

    中断/异常、系统调用机制:

    中断:

    硬件上:1、将事件设置中断标记;2、key记录中断事件ID,(value有中断事件地址,给OS查询中断表);
    软件上:1、保存当前处理状态;2、执行中断程序;3、清除中断标记;4、恢复之前的保存状态;

    异常:

    1、保存现场;2、异常处理(杀死进程/重新执行);3、恢复异常。

    系统调用:

    应用通过高层API(System Call Interface)使用,完成从用户态到内核态的切换。

    跨越操作系统边界的开销:

    1、建立中断/异常/系统调用号与对应服务号的开销;
    2、内核堆栈的建立;
    3、验证系统调用参数;
    4、内核态数据拷贝到用户态;
    5、内存状态改变(Cache/TLB 刷新的开销)。

    相关文章

      网友评论

          本文标题:操作系统系列(二):启动、中断、异常、系统调用

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