操作系统笔记之二

[清华向勇]操作系统笔记之二

2.1 操作系统的启动

DISK:存放OS

BIOS:基本I/O 处理系统

BootLoader :加载OS

CS:IP = 0xf000:fff0(CS:段寄存器;IP:指令寄存器)

POST(加电自检):寻找显卡和执行BIOS,先检查各种设备是否正常,然后将BootLoader加载到内存当中,

BootLoader 一般存放在硬盘的第一个引导扇区(512K),BIOS将BootLoader加载到 0x7c00 的位置。随后BootLoader负责将Disk中的OS加载到内存。

BootLoader接下来将找到OS的起始地址以及OS的长度,并将这块数据加载到内存中。然后将CPU的控制权交给OS。

接下来整个操作系统的管理都由OS来处理。

2.2 中断、异常、系统调用

操作系统的interface有三个:中断、异常和系统调用。其中,面对外设是通过中断来处理;面向应用程序,通过系统调用和异常来处理。

系统调用(来源于应用程序):应用程序主动向操作系统发出服务请求。

异常(来源于不良的应用程序):非法指令或者其他坏的处理状态(如内存出错)

中断(来源于外设):来自不同的硬件设备的计时器和网络的中断。

为什么要通过interface?

  1. 在计算机运行中,内核是被新人的第三方;
  2. 只有内核可以执行特权指令;
  3. 为了方便应用程序。

疑问:(系统调用和函数调用有什么区别?)

三者有什么区别和特点?

可以从以下三点来考虑:

  • 源头:
    中断——外设
    异常——应用程序意想不到的行为
    系统调用——应用程序请求操作提供服务。

  • 处理时间:
    中断——异步
    异常——同步
    系统调用——异步或同步

  • 响应:

    中断——持续,对用户应用程序是透明的
    异常——杀死或者重新执行意想不到的应用程序指令
    系统调用——等待或持续

posted @ 2020-09-03 21:51  sweet_li  阅读(85)  评论(0编辑  收藏  举报