操作系统原理:操作系统的启动 中断/异常/系统调用

操作系统的存储刚开始并不是内存里,而是先放在硬盘DIsk上   。由BIOS(基本输入输出系统)提供支持。

开机时,BIOS首先检查外设,检查完没问题。再加载相应的软件 。

Bootloader: 这个程序的作用就是将 操作系统从硬盘加载到内存中。 BIOS 预先占用了系统内存从640kb开始到1M 。内存地址可以表示成 CS:IP     其中CS 是段寄存器,IP是指令寄存器 ,这两个寄存器的组合就可以指定成具体的内存地址。以X86 为例,BIOS启动的开始地址为 CS:IP =0xf000:fff0. Bootloader一般放在第一个硬盘扇区。

 

BIOS启动首先自检,检查外设是否能正常工作,寻找显卡,鼠标,键盘等。当检查可以正常工作时,将bootloader程序从硬盘放到内存中去(512个字节),以X86 为例,加载到0x7c00的开始地址。此时CPU控制权交给bootloader,执行bootloader,找到硬盘中操作系统的起始地址和操作系统长度,把OS放到内存中。之后把CPU控制权交给OS。

 

 

系统调用(system call):为应用程序请求操作提供服务。可异步和同步,对于返回值,同步会等待值返回再执行下一步,异步发出系统调用请求后,紧接着就会执行下一步操作。

异常 (Exception): 应用程序产生的,在执行过程中发生非法的指令,破坏其他程序的处理状态。异常是同步的

中断 (interrupt;): 来源于外设,是异步的,外设不清楚什么时候中断会发生。中断时持续的,对应用程序时透明的,中断即停止应用程序的执行,只不过暂停时间很短感受不清楚。

 

操作系统是可以信任的软件。访问外设需要通过操作系统访问。操作系统屏蔽对外设的细节处理过程,为上层软件提供统一的访问外设的接口。

おすすめ

転載: blog.csdn.net/superSmart_Dong/article/details/115771585