操作系统——进程(二):多进程与进程调度

操作系统——多进程与进程调度

实验目的:

多进程的实现机理与进程调度

实验内容:

1. 多进程问题,如何扩展单进程到多进程,如何扩展中断支持多进程?
2. 如何实现系统调用
3. 进程调度问题,弄清楚实现调度的基本思路

实验环境:

VMware + Ubuntu32位

实验步骤:

1.多进程问题,如何扩展单进程到多进程,如何扩展中断支持多进程?

1)进程体
首先需要不止一个进程体,所以先实现两个不同的进程体。
在这里插入图片描述

2)相关变量和宏
需要实现一个进程的运行需要4个变量&宏:进程表,进程体,GDT,TSS。
与之前单进程的进程初始化步骤完全相同,但我们为了方便,构造一个循环来进行初始化步骤,使得以后每多一个进程只需要添加一次循环即可。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3)进程表与初始化
在定义了以上结构体与宏定义之后,即可以开始初始化进程。
在这里插入图片描述
可以看到其实和上一次实验区别不大,也就是加了个循环…

4)LDT
在这里插入图片描述
算法与单进程类似,只是使用了一个循环来完成多进程的LDT填充问题。
5)中断处理程序
在单进程中我们的中断处理程序有两个任务,一个是打印字符,一个是从进程表中读取或写入寄存器值,以此恢复或保存进程运行状态。多进程同理,但是

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值