一、 目的要求 用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解。 二、 实习题 编写并调试一个模拟的进程调度程序。采用“轮转法”调度算法对五个进程进行调度。 轮转法可以是简单轮转法,可变时间片轮转法,或多队列轮转法。 简单轮转法的基本思想是:所有就绪进程按FCFS排成一个队列,总是把处理机分配给队首的进程,各进程占用的时间片相同,如果运行进程用完它的时间片后还未完成,就把它送回到就绪队列的末尾,把处理机重新分配给队首的进程。直到所有的进程运行完毕。 三、 编程思想 用结构体代表进程,将所有进程构造一个循环链表,逐个进行进程,如果进程的所需运行时间等于该进程已占用的CPU时间,刚该进程运行完毕,从循环链表中删除该节点,继续运行下一个进程,如此循环至所有进程运行完毕为止。 四、 程序数据结构 struct pcb{ char name[10]; /* 进程名 */ char state; /* 进程状态 */ int ntime; /* 完成进程所需时间 */ int rtime; /* 已占用CPU时间 */ struct pcb *link; /* 结构体指针 */ } *ready=NULL,*p; typedef struct pcb PCB;
2021-12-03 21:42:31 255KB 操作系统 进程调度
1
根据数据结构,用 C 语言设计实现了相应函数,如创建进程、删除进程、 挂起进程、唤醒进程等功能。设计函数实现了调度程序,在每个进程操作执 行完毕后,自动调用执行。所展示的程序运行结果图,为模拟单核单 CPU 中, 对进程的调度情况,即每一时刻只有一个进程能够有资格处于运行状态。当 进程缺乏某些资源,如内存、I/O 等,会处于阻塞状态,一切准备就绪的进程 则在就绪队列等待 CPU 的执行。执行调度时,根据先来先服务和优先级确定 应该执行的进程,每次调度执行后将相应进程的优先级减一。
2021-12-02 21:01:15 28KB 操作系统 进程 进程管理 优先级
1
实验内容 任务一、 (1) 阅读以上父子进程利用管道进行通信的例子(例1),写出程序的运行结果并分析。 (2) 编写程序:父进程利用管道将一字符串交给子进程处理。子进程读字符串,将里面的字符反向后再交给父进程,父进程最后读取并打印反向的字符串。 任务二、 (1) 阅读例2的程序,运行一次该程序,然后用ipcs命令查看系统中共享存储区的情况,再次执行该程序,再用ipcs命令查看系统中共享内存的情况,对两次的结果进行比较,并分析原因。最后用ipcrm命令删除自己建立的共享存储区。 (有关ipcs和ipcrm介绍见后面一页) (2) 每个同学登陆两个窗口,先在一个窗口中运行例3程序1(或者只登陆一个窗口,先在该窗口中以后台方式运行程序1),然后在另一个窗口中运行例3程序2,观察程序的运行结果并分析。运行结束后可以用ctrl+c结束程序1的运行。 (3) 编写程序:使用系统调用shmget(),shmat(),shmdt(),shmctl(),编制程序。要求在父进程中生成一个30字节长的私有共享内存段。接下来,设置一个指向共享内存段的字符指针,将一串大写字母写入到该指针指向的存贮区。调用fork()生成子进程,让子进程显示共享内存段中的内容。接着,将大写字母改成小写,子进程修改共享内存中的内容。之后,子进程将脱接共享内存段并退出。父进程在睡眠5秒后,在此显示共享内存段中的内容(此时已经是小写字母)。
2021-12-01 13:03:08 890KB 操作系统 进程通信 实验报告
1
接基于Linux的C语言编程(四),讲解进程等待,结束进程以及对信号的操作等。
2021-11-29 22:31:06 130KB linux C语言编程 系统进程
1
用c语言编写的代码。模拟的操作系统进程调度的小实验。学习操作系统课程时,为了加强对进程调度算法的理解而做的小实验。
2021-11-29 14:24:51 6KB 进程调度 c语言 实验
1
关于操作系统模拟进程管理的实验,包括创建、阻塞、唤醒原语等,以及内存的分配与回收。
2021-11-28 14:35:03 244KB 操作系统 进程管理 伙伴系统
1
操作系统用时间片轮转调度算法实现进程块的调度,按进程调度顺序打印进程执行信息
2021-11-27 13:59:22 7KB 操作系统 进程管理
1
选择一个进程同步的经典问题,包括生产者消费者问题,写者问题,哲学家就餐问题和理发师睡眠问题,写一个程序来模拟。
2021-11-25 21:21:50 3KB 操作系统 实验代码
1
操作系统课程详细的试验 实验指导书 处理及调度 可变分区存储管理,设备管理,文件管理,存储管理,进城创建与撤销,进程同步,及综合实验的源码和相关的实验报告和参考资料。对于操作系统试验有非常重要的参考价值!
2021-11-22 11:17:12 3.17MB 操作系统 文件管理系统 进程 创建
1
该实验报告详细描述了进程间通信的实现原理,使用管道以及信号实现进出那个间通信,附有源代码实现。
1