基于DOS的多任务系统的实现 1. 用C语言完成线程的创建和撤消,并按优先权加时间片轮转算法对多个线程进行调度; 2. 改变时间片的大小,观察结果的变化。思考:为什么时间片不能太小或太大; 3. 假设两个线程共用同一软件资源(如某一变量,或某一数据结构),请用记录型信号量来实现对它的互斥访问; 4. 假设有两个线程共享一个可存放5个整数的缓冲,一线程不停的计算1到50的平方,并将结果放入缓冲中,另一个线程不断的从缓冲中取出结果,并将他们打印出来,请用记录型信号量实现这一生产者和消费者的同步问题; 5. 实现消息缓冲通信,并于3,4中的简单通信进行比较; 6. 思考:在线程间进行消息缓冲通信时,若对消息队列的访问没有满足互斥要求,情况会怎么样?