LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1027|回复: 2

一个关于建立进程模型的问题?

[复制链接]
发表于 2003-3-17 17:12:53 | 显示全部楼层 |阅读模式
最近上os课老师要求用c写一个创建PCB及撤消PCB的简单模型,我的构思如下,麻烦各位兄弟指点:
1,创建struct pcb
struct pcb
{
int id,
int stat;
char data;
struct pcb *child;
struct pcb *next;
}
2,申请pcb,我设计就是一个链表,申请一个就向链表里加入接点.
3,建立子进程:通过查找父进程id,在父进程*next后链入.
4,撤消:通过查找父进程id,确定后free();
我有几个问题:
1,如何建立子子进程?
2,如何撤消子子进程?
发表于 2003-3-17 17:54:14 | 显示全部楼层
没有必要单独搞一个子进程指针。用子进程的id即可。同时应该增加一个进程的父进程id。有了这两个id之后,如果要建立一个进程的子进程,只要在进程队列中插入一个pcb块,然后把这个新子进程的id赋给父进程pcb中的子进程id,把父进程的id赋给新子进程pcb中的父进程id。这样,就能从父进程找到子进程,也能从子进程找到父进程,因为在一个操作系统中,进程的id是唯一的。插入子子进程也如法泡制。撤消时逆向操作就行了。
 楼主| 发表于 2003-3-18 14:44:18 | 显示全部楼层
谢谢kj兄!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表