[理工] OS PCB与TCB

楼主: godjoker87 (小吴君)   2022-02-02 10:08:49
如题,想问一些观念
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之间沟通要看什么?
作者: b0920075 (Void)   2022-02-02 12:11:00
问这种问题应该先讲明要讨论哪个 kernel
楼主: godjoker87 (小吴君)   2022-02-02 14:20:00
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:00
Linux 的 pcb tcb 都是 task struct,tcb 就只是某些字段没在用Thread 的 task struct 会用 pointer 指向 main thread的 task struct
楼主: godjoker87 (小吴君)   2022-02-02 22:14:00
感谢l大及p大~~大概了解运作模式了

Links booklink

Contact Us: admin [ a t ] ucptt.com