E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
6.1810
MIT
6.1810
/Fall 2022(which was called 6.S081 then) Lab5-7
Lab:Copy-on-WriteForkforxv68.4CopyOnWriteFork-MIT6.S081先理解COW机制Implementcopy-on-writefork您的任务是在xv6内核中实现写时复制分叉。如果修改后的内核成功地执行了cowtest和'usertests-q'程序,那么就完成了。为了帮助您测试实现,我们提供了一个名为cowtest的xv6程序(源代码在user/cow
idMiFeng
·
2024-02-07 19:48
操作系统
risc-v
操作系统
数据结构
c语言
xv6
MIT
6.1810
(which was called 6.S081 then) Lab1-4
关于用VScode调试XV6的方法我在上一篇博客有过介绍NJU操作系统课(蒋炎岩)笔记-CSDN博客这篇主要记录做XV6Lab的过程。关于Lec的学习我英语差而且机翻会有误差(会努力学英语的!),所以我使用肖宏辉大佬自己翻译的书面版本,非常感谢这位大佬!简介-MIT6.S081Lab:Xv6andUnixutilitiessleep任务要求实现UNIX程序sleep,使其能够暂停执行一段用户指定数
idMiFeng
·
2024-02-07 19:17
操作系统
risc-v
笔记
MIT
6.1810
/Fall 2022(which was called 6.S081 then) Lab8-10
Lab:locksMemoryallocator程序user/kalloctest强调xv6的内存分配器:三个进程增加和缩小它们的地址空间,导致对kalloc和kfree的多次调用。Kalloc和kfree获取kmem.lock。对于kmem锁和其他一些锁,Kalloctest打印(作为“#test-and-set”)由于试图获取另一个核心已经持有的锁而导致的acquire中的循环迭代次数。acq
idMiFeng
·
2024-02-07 19:42
操作系统
数据结构
risc-v
算法
操作系统
xv6
6.1810
: Operating System Engineering 2023 <Lab8 fs: File system>
一、本节任务二、Lab8:filesystem在这一节,我们将为xv6的文件系统加入大文件和符号链接。2.1Largefiles(moderate)这个部分需要我们增加xv6文件的大小上限,由于inode结构体中有12个直接映射项,1个一级间接映射项,所以xv6文件系统中的最大文件大小为(12+(1024B/4B))个块,即268个块,在xv6中,每个块大小为1024B。而通过再增加一个二级间接映
Patarw_Li
·
2024-01-26 09:09
MIT
6.1810
Operating
System
linux
学习
6.1810
: Operating System Engineering 2023 <Lab7 lock: Parallelism/locking>
一、本节任务二、要点2.1文件系统(filesystem)xv6文件系统软件层次如下:通过路径树我们可以找到相应的文件:fd(文件描述符)是进程用来标识其打开的文件的手段,每个进程有自己的文件打开表,并且系统会维护一个全局文件打开表(系统中所有打开的文件都保存在这个全局文件打开表中)。进程通过fd将文件作为一系列字节来访问,每一个fd都有一个光标(cursor)来指向文件的当前访问位置:read(
Patarw_Li
·
2024-01-16 21:16
MIT
6.1810
Operating
System
linux
risc-v
c语言
6.1810
: Operating System Engineering 2023 <Lab6: Multithreading>
一、本节任务二、要点2.1锁(Locking)在多CPU或者单CPU多线程并发的场景中,对临界资源(或者说共享资源)的访问如果不加以限制,可能会引发一些严重的问题,比如当两个线程同时对一个共享数据写的时候,这个共享数据的值就会变为最后一个写的内容,并且会覆盖前一个写的内容。这时候,就有人引入了一些并发控制(concurrencycontrol)技术来避免并发场景中的这些问题。其中最常用的就是锁,锁
Patarw_Li
·
2024-01-05 02:34
MIT
6.1810
Operating
System
学习
linux
risc-v
c语言
6.1810
: Operating System Engineering 2023 <Lab5: cow: Copy-on-write fork>
一、本节任务二、要点2.1设备驱动(devicedriver)memory-mappedI/O:设备拥有一个地址范围,软件可以使用ld/st指令来访存从而读写设备的寄存器。平台设计者决定设备在物理内存空间中的位置。内核如何识别设备中断?device->PLIC->trap->usertrap()/kerneltrap()->devintr()典型的设备驱动结构:上半部/下半部上半部:执行进程的系统
Patarw_Li
·
2024-01-03 11:33
MIT
6.1810
Operating
System
risc-v
学习
linux
c语言
6.1810
: Operating System Engineering 2023 <Lab3: page tables>
一、本节任务实验环境:二、要点如何防止程序破坏内核或其他进程空间?隔离地址空间,进程只能读写自己的内存空间。在保证隔离的同时,如何将多个地址空间复用到一个物理内存上?虚拟内存/页表。操作系统通过页表来为每个进程提供自己的私有地址空间和内存。2.1分页硬件页表为寻址提供了一个间接的层次,CPU通过虚拟地址(VA)访存,MMU将虚拟地址映射成实际的物理地址(PA),再通过实际的物理地址去访问RAM,这
Patarw_Li
·
2024-01-03 11:32
MIT
6.1810
Operating
System
linux
c++
学习
c语言
risc-v
6.1810
: Operating System Engineering <Lab2 syscall: System calls>
课程链接:
6.1810
/Fall2023一、本节任务二、要点操作系统要满足三要素:并发、隔离、交互(multiplexing,isolation,andinteraction)。
Patarw_Li
·
2023-12-02 07:15
MIT
6.1810
Operating
System
linux
学习
c++
c语言
risc-v
MIB
6.1810
实验Xv6 and Unix utilities(3)pingpong
Mit6.S081-实验1-Xv6andUnixutilities-pingpong问题_Isana_Yashiro的博客-CSDN博客Writeauser-levelprogramthatusesxv6systemcallsto''ping-pong''abytebetweentwoprocessesoverapairofpipes,oneforeachdirection.Theparentsh
暮色_年华
·
2023-11-21 20:20
unix
服务器
MIB
6.1810
实验Xv6 and Unix utilities(4)primes
难度:hard/moderateWriteaconcurrentprimesieveprogramforxv6usingpipesandthedesignillustratedinthepicturehalfwaydownthispageandthesurroundingtext.ThisideaisduetoDougMcIlroy,inventorofUnixpipes.Yoursolution
暮色_年华
·
2023-11-20 00:51
unix
java
服务器
MIB
6.1810
实验Xv6 and Unix utilities(5)find
难度:moderateWriteasimpleversionoftheUNIXfindprogramforxv6:findallthefilesinadirectorytreewithaspecificname.Yoursolutionshouldbeinthefileuser/find.c.题目要求:实现find,即在某个路径中,找出某个文件#include"kernel/types.h"#in
暮色_年华
·
2023-11-20 00:51
unix
服务器
MIB
6.1810
实验Xv6 and Unix utilities(2)sleep
难度:easyImplementauser-levelsleepprogramforxv6,alongthelinesoftheUNIXsleepcommand.Yoursleepshouldpauseforauser-specifiednumberofticks.Atickisanotionoftimedefinedbythexv6kernel,namelythetimebetweentwoin
暮色_年华
·
2023-11-16 23:30
linux
运维
服务器
MIB
6.1810
操作系统实验:准备工作(Tools Used in
6.1810
)
6.1810
/Fall2023实验环境:Ubuntuxv6实验必要的依赖环境能通过makeqemu进入系统$sudoapt-getupdate&&sudoapt-getupgrade$sudoapt-getinstallgitbuild-essentialgdb-multiarchqemu-system-miscgcc-riscv64
暮色_年华
·
2023-11-16 22:21
linux
运维
服务器
6.1810
: Operating System Engineering <LEC 1>
课程链接:
6.1810
/Fall2023一、本节任务实验环境:二、introductionandexamples2.1open(),read(),write(),close(),dup()使用open打开或创建文件
Patarw_Li
·
2023-11-16 01:21
学习
linux
c语言
2022 xv6 lab: COW实验(copy-on-write)代码实现
lab链接:https://pdos.csail.mit.edu/
6.1810
/2022/labs/cow.html之所以写这篇总结,是因为这次的实验的难度确实困扰了笔者很久,所以我也想将做此实验的一些收获分享出来给大家加上现在网上大多是
GGuy
·
2023-11-07 15:10
xv6
操作系统
嵌入式软件
linux
risc-v
【MIT-
6.1810
】Lab: Xv6 and Unix utilities
Xv6andUnixutilitiessleep(easy)pingpong(easy)primes(moderate)/(hard)find(moderate)xargs(moderate)问题与注意点github链接:mit
6.1810
SrcMiLe
·
2023-10-20 18:40
unix
6.1810
: Operating System Engineering Lab: Xv6 and Unix utilities By:Haostart
前言开学后要为一年后找实习做准备了,准备打一下基础,就做一下MIT-6.S081,是2022版的,地址如下
6.1810
:OperatingSystemEngineeringLabLab做实验前一定要清楚
haostart_
·
2023-09-28 05:48
操作系统
unix
linux
risc-v
6.s081/
6.1810
(Fall 2022)Lab3: page tables
文章目录前言其他篇章参考链接0.前置环境1.Speedupsystemcalls(easy)1.1简单分析1.2映射1.3页分配1.4页释放1.5测试2.Printapagetable(easy)2.1简单分析2.2实现2.3测试3.Detectwhichpageshavebeenaccessed(hard)3.1简单分析3.2实现3.2.1获取参数3.2.2传出参数3.2.3定义PTE_A3.2
J__M__C
·
2023-08-08 10:33
6.s081
c语言
操作系统
6.s081/
6.1810
(Fall 2022)Lab4: Traps
文章目录前言其他篇章参考链接0.环境搭建1.RISC-Vassembly(easy)1.0简介1.1Q11.2Q21.3Q31.4Q41.5Q51.6Q62.Backtrace(moderate)2.1简单分析2.2实现2.3测试3.Alarm(hard)3.1简单分析3.2test0:invokehandler3.2.1添加调用3.2.2获取参数3.2.3处理中断3.2.4测试3.3test1/
J__M__C
·
2023-08-08 10:33
6.s081
c语言
操作系统
6.s081/
6.1810
(Fall 2022)Lab5: Copy-on-Write Fork for xv6
前言本来往年这里还有个LazyAllocation的,今年不知道为啥直接给跳过去了。.其他篇章环境搭建Lab1:UtilitiesLab2:SystemcallsLab3:PagetablesLab4:TrapsLab5:Copy-on-WriteForkforxv6参考链接官网链接xv6手册链接,这个挺重要的,建议做lab之前最好读一读。xv6手册中文版,这是几位先辈们的辛勤奉献来的呀!再习惯英
J__M__C
·
2023-08-08 10:02
6.s081
c语言
操作系统
6.s081/
6.1810
(Fall 2022)Lab1:Utilities
文章目录前言其他篇章参考链接1.Bootxv6(easy)2.sleep(easy)3.pingpong(easy)4.primes(moderate)/(hard)5.find(moderate)6.xargs(moderate)最终测试前言这个Lab就是个热身Lab,跟着走吧~其他篇章环境搭建Lab1:UtilitiesLab2:Systemcalls参考链接官网链接xv6手册链接,这个挺重要
J__M__C
·
2023-08-03 13:26
6.s081
c语言
操作系统
6.s081/
6.1810
(Fall 2022)环境搭建(WSL)
6.s081(现在貌似叫
6.1810
?)是MIT经典OS神课6.828拆出来的本科生课程,相对于之前的还是简单一些。。。个人环境为WSL(Ubuntu22)。
J__M__C
·
2023-08-03 13:25
6.s081
c语言
操作系统
6.s081/
6.1810
(Fall 2022)Lab2: System calls
文章目录前言其他篇章参考链接0.前置准备1.Systemcalltracing(moderate)简单分析Hint1Hint2Hint3Hint4Hint5测试2.Sysinfo(moderate)声明实现框架用户态与内核态交互计算空闲内存的大小计算非UNUSED进程的数量测试3.总测试前言这个lab主要介绍了用户态到内核态的系统调用做了什么,并让我们照猫画虎完成了两个系统调用的实现。其他篇章环境
J__M__C
·
2023-08-03 13:54
6.s081
c语言
操作系统
MIT
6.1810
(6.828/6.S081) 操作系统工程 Lab10 mmap
Lab:mmap(hard)mmap和munmap系统调用允许UNIX程序对其地址空间进行详细控制。它们可用于在进程之间共享内存,将文件映射到进程地址空间,以及作为用户级页面错误方案(如课程中讨论的垃圾回收算法)的一部分。在本实验中,你将向xv6添加mmap和munmap,重点关注内存映射文件。运行man2mmap可得到手册中mmap的声明:void*mmap(void*addr,size_tle
·
2023-06-10 19:16
c操作系统
MIT
6.1810
(6.828/6.S081) 操作系统工程 Labs
每个实验我都将实验要求和提示、实现思路和步骤、遇到问题和测试结果记录下来,一方面为了将实验要求和提示翻译后记录下来以便后续研读,另一方面也是为了加深实验中学习到的知识点:MIT
6.1810
(6.828/
·
2023-04-18 22:33
c操作系统
Centos 内核版本和发行版本降级操作
grep-icentos-release下载centos7.6rpm包wgethttp://vault.centos.org/7.6.1810/os/x86_64/Packages/centos-release-7-
6.1810
Jianyao_Yu
·
2020-06-21 23:55
Linux
debug
4月21日早间点评:比特币市场最重要的信息传递给你
0.54%;ETH报价171.24美元,涨幅-0.51%;XRP报价0.3245美元,涨幅-1.15%;LTC报价80.21美元,涨幅-0.81%;BCH报价297.05美元,涨幅-1.58%;ETC报价
6.1810
陈楚初
·
2019-04-21 06:08
上一页
1
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他