其他分享
首页 > 其他分享> > 操作系统--用户级线程

操作系统--用户级线程

作者:互联网

一.多进程是操作系统基本图像

二.线程

2.1线程引入

可以切指令不切表,也就是资源不动,指令执行分开,更加轻量化,从而提高效率,保留并发优点,避免进程切换代价,也就引入了线程. 

2.2多线程例子

 

同时触发以及用yield交替执行

 

104是B的函数返回地址,将104压栈,其他也是陆续压栈,用两个执行序列和一个栈,就会发现第一个线程,居然返回的函数地址是404,也就是线程在乱跑. 

 解决办法,一个序列一个栈,切回线程要将栈切回,用一个地方存放栈指针也就是TCB(thread control block),esp是cpu寄存器(理解为大脑),利用TCB和栈配合就解决了多线程执行问题.

用户级线程缺点: 由于某个线程阻塞,导致进程阻塞,而内核并不知道,不会切换到下一个线程,会到另一个进程,这样浏览器例子就不会显示内容.

 但是内核级线程就不会这样

 

 

参考:

 

操作系统_哈尔滨工业大学_中国大学MOOC(慕课)

标签:操作系统,--,线程,进程,多线程,TCB,104
来源: https://blog.csdn.net/fanzonghao/article/details/121191428