我是一名计算机本科生,正在学习操作系统课程。对于我的任务,我需要实现一个简单的线程管理系统。
我正在为 TCB 创建一个结构。根据我的讲义,我可以在 TCB 中拥有的是:
寄存器、程序计数器、堆栈指针、线程 ID 和进程 ID
现在根据我的讲义,每个线程都应该有自己的堆栈。我的问题是这样的:
仅仅通过存储堆栈指针,我可以为每个线程保留一个唯一的堆栈吗?如果我这样做了,一个线程堆栈不会覆盖其他堆栈吗?
我怎样才能防止这种情况?限制每个线程的堆栈???请告诉我这通常在正常操作系统中是如何完成的。
请帮忙。提前致谢。