操作系统(一)――bios、中断、系统调用

匿名 (未验证) 提交于 2019-12-03 00:05:01

PC=16*CS+IP 20为地址空间1MB

  • 基本输入输出
  • 系统设置信息
  • 开机后自检程序
  • 系统自启动程序
BIOS

BIOS加载程序从磁盘的引导扇区(512字节)加载到扇区,并且跳转到CS:IP

将操作系统的代码从硬盘加载到内存中,跳转到操作系统起始位置

1.系统加电,从CS:IP读到第一条跳转指令

2.BIOS初始化

3.读取主引导扇区代码

4.主引导扇区代码读取活动分区的引导扇区代码

文件卷头:文件系统描述信息

结束标志:0x550xAA

5.引导扇区代码读取文件系统的加载程序

加载程序(BootLoader)

从文件系统读取配置信息,加载程序,从内核列表和加载参数,依据配置加载指定内核

  • 系统调用(System call)

应用程序主动向操作系统发出服务请求

  • 异常(Exception)

由于非法指令或者其他原因导致当前指令执行失败

  • 中断(hardware interrupt)

来自硬件设备的处理请求

以printf为例,printf是C程序中的函数,会触发系统调用write。

操作系统服务的编程接口,通常由高级语言编写(C或者C++)

  • Win32 API用于Windows
  • POSIX API用于POSIX-based systems 包括UNIX,LINUX,MACOS

系统调用:INT和IRENT指令

函数调用:CALL和RET指令

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!