- 博客(10)
- 收藏
- 关注
原创 操作系统实验 Lab4 xv6系统优先级调度
一、实验目的 将xv6时间片轮转改变为优先级调度 二、实验内容 为每个进程添加一个优先级值(假设取一个介于 0 到 31 之间的范围)。从就绪列表进行调度时,始终首先调度优先级最高的进程。添加系统调用以更改进程的优先级。进程可以随时更改其优先级。如果优先级低于就绪列表上的任何进程,则必须切换到该进程。 ...
2022-01-17 00:53:05 2032 3
原创 操作系统实验 Lab3 xv6添加系统调用
一、实验目的 掌握在 xv6 系统中添加系统调用,并编写用户级应用程序来调用新增的系统调用。 二、实验内容 准备实验环境,创建 int sys_wolfie(void *buf, uint size) 系统调用,它将 ASCII 艺术图像复制到用户提供的缓冲区,前提是缓冲区足够大。如果缓冲区太小,或无效,返回负值。如果调用成功,返回复制的字节数。编写一个名为 wolfietest 的用户级应用程序,从内核获取 Wolfie 映像,并将其打印到控制台。 三、实验过程 1、修改 syscall.h,添加: #d
2022-01-16 16:58:49 2095 1
原创 操作系统实验 Lab2 进程同步-生产者消费者问题
一.实验目的 对于不同系统的平台学会使用调用系统函数,掌握进程创建的方法和步骤。理解不同进程之间的通信机制,掌握生产者消费者问题。 二.实验内容 生产者消费者问题(需要Windows版本和Linux版本) 一个大小为3的缓冲区,初始为空,2个生产者,随机等待一段时间,往缓冲区添加数据。若缓冲区已满,等待消费者取走数据后再添加,重复6次。3个消费者,随机等待一段时间,从缓冲区读取数据。若缓冲区为空,等待生产者添加数据后再读取,重复4次。 三.实验过程及步骤 1、Linux版本 demo.h #ifndef _
2022-01-05 03:19:04 849
原创 操作系统实验 Lab1 进程管理
一、实验目的 “mytime”命令通过命令行参数接受要运行的程序,创建一个独立的进程来运行该程序,并记录程序运行的时间。 二、实验内容 在Windows 下实现: 使用CreateProcess()来创建进程 使用WaitForSingleObject()在“mytime”命令和新创建的进程之间同步 调用GetSystemTime()来获取时间 在Linux下实现: 使用fork()/execv()来创建进程运行程序 使用wait()等待新创建的进程结束 调用gettimeofday()来获取时间
2022-01-05 02:37:27 407
原创 有向图顶点的度数计算
题目:求有向图所有顶点的出度与入度。 输入: 第一行为正整数N(0<N<=100),代表图中点的个数。 接下来N行,每行有N个数据,每个数据以空格分隔,代表邻接矩阵。 注意:输入的都是有向图 输出: 输出N行,每行2个数字,每行格式都是:A空格B 其中A为出度,B为入度 #include<iostream> using namespace std; const int Max = 100; class Graph { private: int N; int V[Max][Max
2022-01-04 16:55:41 1806
原创 有向图连通性的判定
题目:判断一个图是否为强连通图、单向连通图、弱连通图。输入为有向图的邻接矩阵。 输入: 第一行为正整数N(0<N<=100),代表图中点的个数。 接下来N行,每行有N个数据,每个数据以空格分隔,代表邻接矩阵。 注意:输入的都是连通图。 输出: 输出有一行,字母A,B,C A代表强连通图 B代表单向连通图 C代表弱连通图 #include<iostream> #include<memory> using namespace std; const int Max = 100
2022-01-04 16:51:36 2904
原创 网络楼楼通(最小生成树)
题目:用避圈法求无向图G的最小生成树 输入: 正整数N M,N代表无向图G的阶数;M代表边数。 随后的M行对应M条边,每行给出3个正整数,分别是该边关联的两个顶点以及该边的权值(假设所有顶点从1到N编号,所有边的权值都不同)。 输出: 用避圈法生成最小生成树过程中选择的边序列,并输出最小生成树的权值。 若G没有生成树,则输出-1. #include<iostream> #include<vector> #include<algorithm> using namespac
2022-01-04 16:44:47 875
原创 二部图的判定
题目:判断无向图G是否为二部图 输入: 正整数n,代表无向图G的阶数; 随后的n行代表G的邻接矩阵,每行有n个数据,每个数据以空格分隔。其中每个数据表示顶点vi邻接顶点vj边的条数。 输出: 若为树,输出yes; 否则,输出no。 #include<iostream> #include<queue> using namespace std; const int N = 100; class Graph { private: int n; int matrix[N][N]; pu
2022-01-04 16:13:09 2964
原创 求命题公式的主范式
求命题公式的主范式 实现功能:输入命题公式的合式公式,求出公式的真值表,并输出该公式的主合取范式和主析取范式。 输入:命题公式的合式公式 输出:公式的主析取范式和主析取范式,输出形式为:“ mi ∨ mj ; Mi ∧ Mj” ,极小项和 ∨ 符号之间有一个空格,极大项和 ∧ 符号之间有一个空格;主析取范式和主合取范式之间用“ ; ”隔开,“ ; ”前后各有一个空格。 永真式的主合取范式为 1 ,永假式的主析取范式为 0 。 输入公式的符号说明: ! 非,相当于书面符号中的 “ ¬ ” & 与,相当
2021-02-05 23:17:54 823
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人