内核级线程、用户级线程与时间轮转调度算法

内核级线程、用户级线程与时间轮转调度算法

某操作系统支持内核级线程,且处理器采用时间片轮转调度算法。该系统现有进程A和进程B,且进程A拥有2个线程、进程B拥有100个线程,那么进程A执行时间一般应为进程B执行时间的( D )。
A.50倍
B.100倍
C.1倍
D.1/50

某系统不支持内核级线程但支持用户级线程,且处理器采用时间片轮转调度算法。该系统现有进程A和进程B,且进程A拥有1个线程、进程B拥有100个线程,那么进程A执行时间一般应为进程B执行时间的( B )。
A.50倍
B.1倍
C.100倍
D.1/100

要理解上面两道题,先简单看一下这几个重要概念(更加细节不赘述,其他博客更清楚):

  1. 用户级线程:用户级线程,说白了就是应用程序的所支持的线程,一切有关线程的工作都是由应用程序完成,内核意识不到线程的存在!用户级线程对于操作系统是不可见的,因此无法调度到内核。每个进程的线程只在用户空间可见。
  2. 内核级线程:线程的所有管理工作都是由内核来控制的,线程对内核可见,一个用户线程被映射到一个内核线程。
  3. 时间轮转调度算法(暴力理解):5个和尚(进程)排队打饭,5个人的饭量为2,3,1,4,5(进程执行完所需时间),打饭的勺每次能打3饭量(时间片),规定每个和尚只给一勺,可多不可少,如果够了就走(进程执行完毕,结束),不够就排到队尾等着打下一勺。这里每个勺能打3饭量就是规定的时间片,进程来回排队就是时间轮转度算法。

题目解析:在上面两题中,A进程有2个线程,B进程有100个线程
对于支持内核级进程的情况:内核能看到进程中的线程,时间片又都是一样的,所以2/100=1/50,选D;
对于支持用户级线程的情况:内核只能看到进程,所以就是 A进程 VS B进程,1V1,所以选B

只是自己的浅显理解,欢迎大佬评论区补充,如有错误,欢迎指正!

  • 15
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值