如题,想问一些观念
Kernel会帮process建立PCB
保存process state,pc,page table等资讯
但kernel也会帮助thread建立TCB
会有自己的register set,stack pointer之类的
听起来是不是PCB的某些资讯好像没有这么必要(?
像是PCB的PC 因为每个thread都有自己的PC
想问PCB和TCB有哪些资讯不同
然后同一个process的不同thread会共享同一个PCB吗?
再麻烦大神解答了 非常感谢
作者:
TWkobe (中华柯比)
2022-02-02 12:10:00怎么会不重要,以课本的模型来说你不保留PCB那process之间沟通要看什么?
T大 我有大概明白PCB的重要性 只是觉得某些资讯好像没有这么必要(像是我前面讲的pc还有reg set,stack pointer之类的) 不确定是否有PCB保存一份TCB 又一份的必要性 还是PCB没有这些资讯是我记错想问b大不同kernel 是什么意思 我的理解是kernel 就是OS 还是不同作业系统处理方式不一样吗?
作者: lienasd126 (迷途の狮子) 2022-02-02 14:38:00
我觉得要看是哪种模型,如果是many-to-one ,PCB还是要保存thread之间共享的资源那些,这样在做user thread的切换时才能继续上一个,我觉得是这样
作者:
plsmaop (plsmaop)
2022-02-02 20:18:00Linux 的 pcb tcb 都是 task struct,tcb 就只是某些字段没在用Thread 的 task struct 会用 pointer 指向 main thread的 task struct