![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
文章平均质量分 77
T_T-T_T
这个作者很懒,什么都没留下…
展开
-
Mininet+Ryu安装教程(Ubuntu16.04+python 3.6)
本文记录mininet+ryu环境搭建Ryu安装教程Ubuntu16.04内置python版本为2.7和3.5,安装过程遇到各种问题,于是自行安装了3.6版本,教程很多,此处不赘述。#使用python3.6 记得装依赖sudo apt install python3.6-dev然后依次执行如下命令#更新apt-git sudo apt-get update#安装gitsudo apt-get install git#安装pip sudo apt-get install python原创 2022-01-30 00:59:19 · 1103 阅读 · 2 评论 -
死锁产生的原因及解决方案
死锁产生的原因以及解决方法一.什么是死锁?死锁是由于两个或以上的线程互相持有对方需要的资源,导致这些线程处于等待状态,无法执行。二.产生死锁的四个必要条件1.互斥性:线程对资源的占有是排他性的,一个资源只能被一个线程占有,直到释放。2.请求和保持条件:一个线程对请求被占有资源发生阻塞时,对已经获得的资源不释放。3.不剥夺:一个线程在释放资源之前,其他的线程无法剥夺占用。4.循环等待:发生死锁时,线程进入死循环,永久阻塞。三.产生死锁的原因1.竞争不可抢占性资源 p1已经打开F1,想原创 2021-04-12 19:42:24 · 1267 阅读 · 0 评论 -
ucore_lab4_内核线程管理
lab4:内核线程管理文章目录lab4:内核线程管理练习零:填写已有实验练习一:分配并初始化一个进程控制块实现思路关键数据结构alloc_proc实现回答问题练习2:为新创建的内核线程分配资源函数定义do_fork实现回答问题练习三:阅读代码,理解 proc_run 函数和它调用的函数如何完成进程切换的。回答问题实验结果练习零:填写已有实验本实验依赖实验1/2/3。请把你做的实验1/2/3的代码填入本实验中代码中 有“LAB1”,“LAB2”,“LAB3”的注释相应部分。同样使用meld工具,比原创 2021-01-26 00:08:18 · 215 阅读 · 0 评论 -
ucore_lab3_虚拟内存管理
lab3:虚拟内存管理文章目录lab3:虚拟内存管理练习零:填写已有实验练习一:给未被映射的地址映射上物理页页面异常关键数据结构vma_structmm_structpage fault处理流程do_pgfault()函数回答问题练习二:补充完成基于FIFO的页面替换算法页错误异常页面换入部分页面换出部分回答问题实验结果练习零:填写已有实验本实验依赖实验1/2。请把你做的实验1/2的代码填入本实验中代码中有“LAB1”,“LAB2”的注释 相应部分lab3 依赖 lab1 和 lab2,我们需要原创 2021-01-26 00:06:12 · 306 阅读 · 1 评论 -
ucore_lab2_物理内存管理
文章目录练习0:填写已有实验练习1:实现 first-fit 连续物理内存分配算法**算法介绍**算法实现练习二:实现寻找虚拟地址对应的页表项实现细节回答问题练习三:释放某虚地址所在的页并取消对应二级页表项的映射实现细节回答问题练习0:填写已有实验本处采用meld工具进行比较,使用方法:①打开meld工具②选择需要比对的文件/文件夹③点击compare开始进行比较,不同的文件用星星标出练习1:实现 first-fit 连续物理内存分配算法算法介绍该算法从空闲分区链首开始查找,直至找到一个能满原创 2021-01-26 00:03:08 · 377 阅读 · 0 评论