2019-07-19 看书

2019-07-19  本文已影响0人  xzzwzj

进程集中了资源,存放有程序正文、数据、以及其他资源的地址空间。(包括打开的文件,子进程、即将发生的定时器、信号处理程序、
账号信息)
进程拥有一个线程(执行的线程)
线程中有一个程序计数器、用来记录下一条指令、寄存器、保存线程当前的工作变量、还拥有堆栈、可以记录执行历史、每一个槽位都存放了一个一个已经调用但是还没返回的过程(可能是用户的也可能是系统的)
其实进程里有很多线程就是一种对电脑的多进程的模拟(同样结构的伪并行)
线程之间是没有保护的(不可能也没必要)


image.png

线程试图实现的是,共享一组资源的多个线程的执行能力,以便这些线程可以为完成某一任务而共同工作。
每个线程都有自己的堆栈,因为他们的操作本身就是分离的


image.png

问题1 函数调用时调用别的函数的函数A的局部变量存在哪里?

《现代操作系统》的过程的定义(过程就是函数)(https://www.cnblogs.com/ysocean/p/7625917.html
线程之间偏合作,进程之间偏竞争
线程栈的必要性:https://blog.csdn.net/qq_38038480/article/details/80437350
递归开线程(真有人这么玩啊)https://bbs.csdn.net/topics/80277767

image.png
看不动了,就当没什么吧,这是用户空间的线程管理对线程进行管理的方式。
上一篇下一篇

猜你喜欢

热点阅读