操作系统 - 李治军- 学习笔记与核心问题归纳 -(1)CPU管理

1进入内核的手段:系统调用

为什么不能直接进入内核:不安全。例如用户名密码都在内核,如果随意进入,不安全

如何保证不能强制jump:硬件设计,DPL寄存器表示目标内存段的特权级,系统初始化时,DPL初始化为0.CPL表示当前特权级CPL<=DPL时,才能执行当前指令.系统调用通过中断处理,CPL在切换段时会随之修改。

系统调用的过程

int0x80通过不同系统调用号执行不同系统调用

将系统调用号置给eax,然后调用int0x80 30:00

int0x80会查idt表(中段描述表),在系统初始化的过程中将DPL置为3,设置中断处理程序入口地址,设置idt表中的段基址。通过查表,DPL被设为3,而CPL是cs的最后两位,自然是0,然后通过中断处理函数入口进入systemcall程序。

接下来systemcall查system_CALL_TABLE根据exa中的系统调用号*函数指针大小+基址调用对应的系统调用。

2.多进程图像

cpu工作流程:取址执行,更新pc

每个进程有一个保存进程信息的数据结构:PCB

main中的fork()开创了第一个进程

子进程fork()= 0

多进程如何组织

多个PCB分为不同状态,分别组织在就绪/等待队列

</

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值