sa12***161 Linux操作系统是如何工作的?破解操作系统的奥秘

【研究内容】

l        操作系统工作的基础:存储程序计算机、堆栈(函数调用堆栈)机制和中断机制;

l        在操作系统工作的基础之上,请您简述操作系统(内核)是如何工作,宏观概述结合关键点的微观(CS:EIP、EBP/ESP等的变化)分析。

【分析结论】

        在单进程计算机中,通过CPU和进程空间实现计算机的运行。每个进程都有4G的进程逻辑地址空间task_struct,CPU根据cs:eip从进程空间中取下一条指令进行执行,这样一直取指令执行指令地重复执行实现了单进程计算机的顺序运行。

        而函数调用堆栈实现了c代码的调用执行控制,寄存器ebp指向当前函数调用堆栈的栈底,esp指向当前函数调用堆栈的栈顶。当调用新函数时,将cs:eip和原函数的栈底压栈,并把原函数的栈顶作为新函数的栈底,此时栈顶与栈底重合,eip指向新函数开始处继续执行,当函数运行结束时leave将释放新函数的函数调用栈空间,此时栈顶与栈底重合,再恢复ebp到原函数的栈底,此时cs:eip出栈,从cs:eip处继续执行原函数,从而实现了c函数的调用控制

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值