操作系统实现原理3

1.程序在内存上的组织形式

程序分为栈区,堆区,数据段,代码段等。

普通程序都在用户态栈,因此无法直接在栈内运行操作系统的函数,需要切换到内核栈。

2.cpu执行代码的两个寄存器

ip寄存器,指向要执行的代码。

esp寄存器(extend stack pointor),指向程序的栈顶。

 

3.cpu执行操作系统函数的过程

当cpu开始执行int 0x80;从用户态切换为内核态。

ip寄存器指向内核代码(内核代码不在内核进程的栈中),esp寄存器指向内核栈中的栈顶。

 

4.系统调用完如何返回用户态

  • cpu在切换到内核态时需要保存用户态下的所有状态信息。
  • 内存上的信息不需要保存,cpu的信息要保存,主要是寄存器的信息(ip,esp寄存器)。
  • 这些信息保存在内核态下(用户态处理器状态信息)。

 

posted @ 2026-02-08 02:31  weixinye  阅读(3)  评论(0)    收藏  举报