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.828
【MIT6.S081/
6.828
】手把手教你搭建开发环境
文章目录1.简介2.安装ubuntu20.043.更换源3.1更换/etc/apt/sources.list文件里的源3.2备份源列表3.3打开sources.list文件修改3.4刷新列表4.安装SSH4.1SecureCRT报错4.2解决方法4.3修改ssh_config4.4修改sshd_config4.5重新启动服务并测试5.配置静态IP6.安装RISC-V交叉编译工具7.安装QEMU8测
嵌入式与Linux那些事
·
2023-04-08 09:33
MIT6.S081/6.828
操作系统
MIT
嵌入式
程序员
计算机
【MIT6.S081/
6.828
】Lab util: Unix utilities
文章目录1.sleep1.1实验要求1.2代码实现1.3测试2.pingpong2.1实验要求2.2分析2.3代码实现2.4测试3.primes3.1实验要求3.2代码实现3.3测试4.find4.1实验要求4.2ls代码分析4.3代码实现4.4测试5.xargs5.1实验要求5.2代码实现5.3测试哈喽,大家好,我是仲一。本篇文章是从零实现操作系统的第一个实验,主要是让我们熟悉xv6及其系统调用
嵌入式与Linux那些事
·
2023-04-08 09:33
MIT6.S081/6.828
unix
物联网
linux
操作系统
mit
强烈推荐的两个神级教学项目: nand2tetris 与 MIT
6.828
nand2tetris难度:★★★★☆推荐:★★★★★nand2tetris项目有一本书叫《计算机系统要素》,也有英语的视频教程。如果英语不好的可以看书,内容是一样的。这本书主要讲解了计算机原理(1-6章)、编译原理(7-11章)、操作系统相关知识(12章)。不要看内容这么多,其实这本书的内容非常通俗易懂,翻译也很给力。每一章背后都有对应的练习,需要你手写代码去完成,堪称理论与实践结合的经典。这里
谭光志
·
2023-04-08 09:03
计算机基础知识
MIT
6.828
学习之Lab5:File system, Spawn and Shell
Lab5实验过程点此处Filesystempreliminaries(序言)您将使用的文件系统比大多数“实际”文件系统(包括xv6UNIX)要简单得多,但是它的功能足够强大,可以提供基本特性:创建、读取、写入和删除按层次(hierarchical)目录结构组织的文件。我们(至少目前)只开发一个单用户操作系统,它提供了足够的保护来捕获bug,但不能保护多个相互怀疑的用户。因此,我们的文件系统不支持U
请叫宝宝荡哥
·
2023-04-08 09:00
MIT6.828操作系统学习
MIT6.828
Lab
5
file
system
spawn
shell
MIT
6.828
学习之homework9:Barriers
在本作业中,我们将探讨如何使用pthread库提供的条件变量来实现barrier。barrier是应用程序中的一个点,在这个点上,所有线程都必须等待,直到所有其他线程也到达该点。条件变量是一种序列协调技术,类似于xv6的sleep和wakeup。下载barrier.c,然后在你的手提电脑或Athenamachine上编译:$gcc-g-O2-pthreadbarrier.c$./a.out2Ass
请叫宝宝荡哥
·
2023-04-08 09:59
MIT6.828操作系统学习
MIT6.828
homework9
barriers
pthread_mutex_t
pthread_cond_t
MIT
6.828
_HW9_barriers
MIT
6.828
_HW9_barriers在这个任务中,我们使用由pthread库提供的条件变量来实现barrier。barrier是一个应用程序点,必须所有线程到达这个点才能继续执行。
Small_Pond
·
2023-04-08 09:29
MIT6.828操作系统
MIT6.828
HW9
barriers
XV6
MIT
6.828
operating system:Threads and Locking
reportofThreadsandLocking文章目录reportofThreadsandLocking实验要求实验了解初步了解问题探究实验过程实验要求threadsandlocking实验了解初步了解在我们使用gcc-g-O2ph.c-pthread成功编译后,按照实验指导书我们体会一下单线程和双线程的区别harry@ubuntu:~/Desktop/os/ThreadsandLocking
Harry____
·
2023-04-08 09:27
os
MIT
Threads
and
Locking
os
xv6
1669_MIT
6.828
xv6代码的获取以及编译启动
(github.com)
6.828
的学习的资料从开始基本信息的讲解,逐步往unix的一个特殊版本xv6过度了。这样,先得熟悉一下这个OS的基本代码以及环境。
grey_csdn
·
2023-04-08 09:26
Linux
unix
linux
unix
服务器
JOS
MIT
MIT_
6.828
_Lab2 Part1
实验地址:Lab2Lab2的第一部分为物理地址的管理,其中包括物理内存的初始化,分配以及释放。首先,在inc/mmu.h中定义了几个宏:#defineNPDENTRIES1024//pagedirectoryentriesperpagedirectory#defineNPTENTRIES1024//pagetableentriesperpagetable#definePGSIZE4096//byt
Salvete
·
2023-04-06 12:46
操作系统
MIT_
6.828
_Lab2 Part2
实验地址:Lab2虚拟地址翻译为物理地址的流程如下:Selector+--------------++-----------+---------->|||||Segmentation||Paging|Software||-------->||---------->RAMOffset|Mechanism||Mechanism|---------->||||+--------------++-----
Salvete
·
2023-04-06 12:46
操作系统
MIT_
6.828
_Lab2 Part3
实验地址:Lab2Exercise5.Fillinthemissingcodeinmem_init()afterthecalltocheck_page().Yourcodeshouldnowpassthecheck_kern_pgdir()andcheck_page_installed_pgdir()checks.在mem_init()函数里面添加相关代码,使之能够通过check_kern_pgd
Salvete
·
2023-04-06 12:46
操作系统
操作系统
内核
MIT_
6.828
_Lab_3: User Environments Part A
项目地址:Lab3EnvironmentState在文件inc/env.h文件中,定义了环境(进程)结构体:structEnv{structTrapframeenv_tf;//SavedregistersstructEnv*env_link;//NextfreeEnvenvid_tenv_id;//Uniqueenvironmentidentifierenvid_tenv_parent_id;//
Salvete
·
2023-04-06 12:46
操作系统
内核
MIT_
6.828
_Lab4 Part A
项目地址:Lab4GettingStarted在merge的时候发生了冲突,需要手动消除。MultiprocessorSupport该内核支持多核,BSP用低物理地址来引导其他的CPU加载系统。利用LAPIC做的三件事情:得知当前代码运行在哪一个CPU上BSP利用IPI中断唤醒其他CPU利用LAPIC的定时器实现分时复用Exercise1.Implementmmio_map_regioninker
Salvete
·
2023-04-06 12:46
操作系统
操作系统
内核
MIT
6.828
JOS学习笔记17. Lab 3.1 Part A User Environments
Introduction在这个实验中,我们将实现操作系统的一些基本功能,来实现用户环境下的进程的正常运行。你将会加强JOS内核的功能,为它增添一些重要的数据结构,用来记录用户进程环境的一些信息;创建一个单一的用户环境,并且加载一个程序运行它。你也可以让JOS内核能够完成用户环境所作出的任何系统调用,以及处理用户环境产生的各种异常。PartA:UserEnvironmentsandException
weixin_30602505
·
2023-04-06 12:03
操作系统
数据结构与算法
测试
MIT
6.828
JOS学习笔记15. Lab 2.1
Lab2:MemoryManagementlab2中多出来的几个文件:inc/memlayout.hkern/pmap.ckern/pmap.hkern/kclock.hkern/kclock.cmemlayout.h描述了虚拟地址空间的结构,我们需要通过修改pmap.c文件来实现这个结构。memlayout.h和pmap.h文件定义了一个PageInfo结构,利用这个结构可以记录有哪些物理页是空
weixin_30312557
·
2023-04-06 12:02
操作系统
c/c++
网络
MIT
6.828
_Lab4_PartA_Multiprocessor Support and Cooperative Multitasking
Lab4:PreemptiveMultitasking简介本次实验我们将要实现在多并发进程的情况下实现抢占式多任务,在PartA中,将为JOS提供多处理器支持,实现循环调度,并添加基本的进程管理系统调用(创建和销毁环境以及分配/映射内存的调用)。在PartB中,将实现一个类Unix的fork(),它允许用户进程创建子进程。最后,在PartC中,将提供对进程间通信(IPC)的支持,从而允许不同的用户
userXKk
·
2023-04-06 12:01
操作系统
MIT_
6.828
_LAB2_Part1
LAB2:内存管理1.简介本实验中,我们将为操作系统编写内存管理代码,内存管理包括两个部分,第一个部分是内核的物理内存分配器,它能让内核得以分配和释放物理内存,编写的分配器应以4096字节(一页)为一个操作单位,我们的任务是维护一个数据结构,记录哪些物理页是空闲的,哪些是已分配的,以及共享每个已分配页面的进程数,我们还要编写分配和释放内存页面的例程。内存管理的第二个部分是虚拟内存,它将内核和用户软
userXKk
·
2023-04-06 12:00
操作系统
MIT
6.828
学习笔记4 Lab2实验报告
Lab2实验报告Execrise1staticvoid*boot_alloc(uint32_tn){staticchar*nextfree;char*result;if(!nextfree){externcharend[];nextfree=ROUNDUP((char*)end,PGSIZE);}result=nextfree;nextfree=nextfree+ROUNDUP(n,PGSIZE)
丶Hiroshi
·
2023-04-06 12:25
操作系统
MIT
操作系统
6-828
MIT
6.828
操作系统工程 lab4A:多处理器支持和协作多任务
MIT
6.828
操作系统工程lab4A:多处理器支持和协作多任务这篇是我自己探索实现MIT
6.828
lab的笔记记录,会包含一部分代码注释和要求的翻译记录,以及踩过的坑/个人的解决方案这里是我实现的完整代码仓库
云微123
·
2023-04-06 12:20
linux
程序设计语言
linux
MIT
6.828
操作系统工程 lab2 通关指南
这篇是我自己探索实现MIT
6.828
lab2的笔记记录,会包含一部分代码注释和要求的翻译记录,以及踩过的坑/个人的解决方案这里是我实现的完整代码仓库,也包含其他笔记等等:https://github.com
云微123
·
2023-04-06 12:49
笔记
操作系统
数据结构
内核
MIT
6.828
(三) Lab 3: User Environments
(最近有点事,做的比较慢。哦,不,抄的比较慢。。。)Lab3:UserEnvironmentsIntroduction在这个实验中,我们将实现操作系统的一些基本功能,来实现用户环境下的进程的正常运行。你将会加强JOS内核的功能,为它增添一些重要的数据结构,用来记录用户进程环境的一些信息;创建一个单一的用户环境,并且加载一个程序运行它。你也可以让JOS内核能够完成用户环境所作出的任何系统调用,以及处
EW_DUST
·
2023-04-06 12:19
MIT6.828
MIT6.828
操作系统
MIT
6.828
-OS lab2:Memory Management 记录
这一章主要讲内存分配。github:https://github.com/viktorika/mit-os-labintroduction在这个实验中,你将会为你的操作系统写内存管理代码。内存管理有两个部件。为了kernel能够分配并且释放内存,第一个部件是kernel的物理内存分配器allocator。你的allocator将以4096B为操作单位,称为页。您的任务将是维护数据结构,该数据结构记
victorika
·
2023-04-06 12:16
MIT6.828-OS
linux操作系统
MIT
6.828
-OS lab3:User Environments 记录
github:https://github.com/viktorika/mit-os-labIntroduction在本实验中,您将实现运行受保护的用户态环境environment(即“进程process”)所需的基本内核功能。您将增强JOS内核,以设置数据结构来跟踪用户环境,创建单个用户环境,将程序映像加载到其中并开始运行。您还将使JOS内核能够处理用户环境发出的任何系统调用,并处理它引起的任何
victorika
·
2023-04-06 12:16
MIT6.828-OS
linux操作系统
MIT
6.828
学习之Lab2_Part 1: Physical Page Management
任务:补全这五个函数在同学的帮助下,得到了这样一张图:有这张图之后再来做这部分的练习就会轻松一些。虚拟内存主要的好处是:让每个程序都以为自己独占计算机内存空间,概念清晰,方便程序的编译和装载。通过将部分内存暂存在磁盘上,可以让程序使用比物理内存大得多的虚拟内存,突破物理内存的限制。通过对不同进程设置不同页表,可以防止进程访问其他进程的地址空间。通过在不同进程之间映射相同的物理页,又可以提供进程间的
请叫宝宝荡哥
·
2023-04-06 11:56
MIT6.828操作系统学习
MIT6.828
c语言
MIT
6.828
学习之Lab3_Part A: User Environments and Exception Handling
自问自答1.如何知道写对还是写错?错在哪里?这里不想lab2一样有很多check这个我还是不太懂,但是你可以跟踪console的输出,找到每一行输出对应的函数,以及下一行应该输出什么,在哪个函数里。这样就可以找到是哪个函数错了,再设个断点b*fucntion_name,再单步跟踪si就行2如何把IDT中条目指向中断处理程序入口地址,如何把中断处理函数名与中断处理函数联系起来?.通过#defineS
请叫宝宝荡哥
·
2023-04-06 11:56
MIT6.828操作系统学习
mit6.828
用户程序
用户环境
中断
异常
MIT
6.828
学习之Lab4_Part A: Multiprocessor Support and Cooperative Multitasking
代码运行流程简述进入mp_init(),通过mpconfig()找到MPconfigurationtable与MP,根据MPconfigurationtable了解cpu的总数、它们的APICIDs和LAPIC单元的MMIO地址等配置信息进入lapic_init(),根据MP配置表找到的lapic的MMIO地址,完成lapic的初始化操作(感觉这里完成的是BSP的lapic的初始化)BSP申请大内
请叫宝宝荡哥
·
2023-04-06 11:56
MIT6.828操作系统学习
MIT6.828
多核处理器
SMP
fork
MIT_
6.828
_lab2_exercise5_讲解
exercise5要求补充mem_init()完全按照提示来就行了。//Setupatwo-levelpagetable://kern_pgdirisitslinear(virtual)addressoftheroot////Thisfunctiononlysetsupthekernelpartoftheaddressspace//(ie.addresses>=UTOP).Theuserparto
yiichan
·
2023-04-06 11:26
mit
2018
6.828
xv6
MIT
6.828
Operating System Engineering 2018 Lab2 for JOS
Lab2:MemoryManagement这个lab分为三个部分:PhysicalpagemanagementVirtualMemoryKernelAddressSpace操作系统必须知道自己还可以用哪部分的physicalRAM,这点很重要。虚拟内存的出现是为了解决计算机内存中的几大问题。原文:https://blog.csdn.net/do2jiang/article/details/4690
JasonLee315
·
2023-04-06 11:20
Operating
System
Engineering
1662_MIT
6.828
JOS check_page_free_list实现分析以及boot_alloc问题修复
全部学习汇总:GreyZhang/g_unix:somebasiclearningaboutunixoperatingsystem.(github.com)继续尝试完善分析JOS的代码中存储管理的部分。上次看到了这里,本来想先去看看这两个函数实现。但是缺失了调用场景,感觉理解也不一定准确。干脆,还是继续向下看一下check_page_free_list(1)所实现的功能。这里涉及到一个新的函数接口
grey_csdn
·
2023-04-06 11:41
Linux
unix
unix
linux
服务器
JOS
MIT
MIT
6.828
学习之Lab6_Part B: Receiving packets and the web server
ReceivingPackets就像您在transmittingpackets时所做的一样,您必须配置E1000来接收数据包,并提供receivedescriptorqueueandreceivedescriptors。第3.2节描述包接收的工作原理,包括接收队列结构和接收描述符,第14.4节详细介绍了初始化过程。Exercise9.阅读3.2节。您可以忽略关于interruptsandcheck
请叫宝宝荡哥
·
2023-04-03 02:54
MIT6.828操作系统学习
MIT6.828
lab
6
receive
packets
web
server
http
1664_MIT
6.828
JOS页管理的相关行为实现
全部学习汇总:GreyZhang/g_unix:somebasiclearningaboutunixoperatingsystem.(github.com)这一次,看几个存储管理的辅助接口的实现。这个接口给出来的提示信息还是很多的,至少从这里能够收集到这个接口实现要用到的一些辅助转换函数以及基本的要求。这是对本函数接口的一个实现尝试,也按照提示注释中的信息,直接把权限属性分配全了。这个函数接受三个
grey_csdn
·
2023-04-02 06:45
Linux
unix
unix
linux
JOS
MIT
kernel
xv6的作业翻译——作业1 - shell和系统调用
Xv6的lectureLEC1Operatingsystems L1:O/SoverviewL1:O/S概述 *
6.828
goals
6.828
的目标 UnderstandoperatingsystemsindetailbydesigningandimplementingasmallO
weixin_30652879
·
2023-04-01 02:20
shell
操作系统
python
1658_MIT
6.828
JOS memmap以及一些存储划分定义的解读-第二部分
全部学习汇总:GreyZhang/g_unix:somebasiclearningaboutunixoperatingsystem.(github.com)之前,花了一晚上时间一个头文件只看了一大半。虽然看出来了一点头绪,但是考虑身体为本的原则还是暂停了。这一次继续之前的工作,把memlayout.h这个文件中剩余的信息看完。之前,看到的UENVS的信息,这个地址是用户的只读区域的边界线了。继续往
grey_csdn
·
2023-03-29 22:46
Linux
unix
linux
unix
服务器
JOS
MIT
MIT
6.828
lab2 内存管理
PartA物理页管理Exercise1补全在kern/pmap.c下的几个函数。boot_alloc()mem_init()(onlyuptothecalltocheck_page_free_list(1))page_init()page_alloc()page_free()boot_alloc()在JOS中,一开始的物理内存布局如下图所示物理内存布局虚拟内存布局虚拟内存布局在代码中,所有的变量的
Kyrie_046a
·
2023-03-25 12:32
Ubuntu20.04编译安装qemu
Ubuntu20.04编译安装qemu事先提醒,要弄清自己学的是哪个架构,早期的mit操作系统课(MIT
6.828
)教的是x86版,现在的课(MIT6.S081)教的是riscv-64,本文装的也是riscv
Babe_Pig
·
2023-03-22 22:45
MIT6.S081
git
linux
qemu
Lab1
MIT
6.828
Lab1笔记PART1:PCBootstrapr这一部分主要是实验环境的配置,跟随教程操作即可实模式下的地址转换物理地址=段基址*16+偏移量PART2:BootLoader在
6.828
Gael
·
2023-03-22 15:49
MIT
6.828
/6.S081 - 2019:Lab2 Shell
Mit
6.828
/6.S081fall2019的Lab2是SimpleShell,内容是实现一个简易的shell程序,本文对该实验的思路进行详细介绍,并对xv6提供的shell实现进行深入解析。
Physicaloser
·
2022-12-20 08:14
操作系统
linux
xv6
mit6.828
操作系统
十八、Xv6代码导读(调试工具配置;调试系统调试执行)
Xv6是由麻省理工学院(MIT)为操作系统工程的课程(代号
6.828
),开发的一个教学目的的操作系统。
[T]
·
2022-12-17 15:29
操作系统设计与实现
系统架构
【分布式系统设计简卷(2)】KV Raft
前言本篇是关于2022-MIT
6.828
的关于Fault-tolerantKey/ValueService的实验记录;如果发现内容上的纰漏,请不要吝啬您的键盘。
·
2022-02-21 10:01
raft分布式系统学习笔记
2018下半年
6月,找工作1.操作系统,复习一边,不懂的查2.刷题,leetcode,codeforces7月mit-6.824:做lab3,看论文mit-
6.828
:开始学习8月mit-6.824:做lab4,看论文
祝方泽
·
2022-02-20 17:51
【分布式系统设计简卷(1)】Raft
前言本篇是关于2022-MIT
6.828
的关于Raft的实验记录;如果发现内容上的纰漏,请不要吝啬您的键盘。
·
2022-02-18 15:23
【分布式系统设计简卷(0)】MapReduce
前言本篇是关于2022-MIT
6.828
的关于MapReduce的课程笔记及其实验记录;课堂笔记部分基本摘自Lecture,完全可以跳过;如果发现内容上的纰漏,请不要吝啬您的键盘。
·
2022-02-02 09:00
计算机专业学了快一年, 只会一点C语言,你好意思说自己是IT专业的?
C/C++入门阶段学习视频推荐:C++入门基础【B站小甲鱼】二、C/C++开发进阶学习视频推荐:C++进阶【慕课网免费课】三、C++开发高级视频教程:程序设计【中国大学MOOC】四、操作系统教程链接:
6.828
五包辣条!
·
2021-08-06 14:23
学习资源整合
python
c#
c++
c语言
mit
6.828
-lab4 抢占式多任务调度
lab4是实现多处理器支持以及抢占式任务调度,exercize代码见这里。1多处理器启动流程1.1多处理器支持为了支持多处理器,首先需要知道多处理器的配置,这个配置通常是存储在BIOS里面。BIOS需要传递配置信息给多个处理器,同时需要能复原多处理器及其相关组件,多处理器的BIOS也要扩展功能,增加MP配置。SMP是指所有处理器都是平等的,包括内存对称和IO对称。内存对称指所有处理器都共享同样的内
__七把刀__
·
2021-05-17 11:45
1 搭建实验环境
系统版本:Ubuntu18.04.30介绍mit
6.828
是一门经典的操作系统课程,通过这门课程可以学习到操作系统的设计与实现。
Savior2016
·
2021-04-09 21:30
计算机教育中缺失的一课 - MIT - L11 - Q&A
/missing.csail.mit.edu/https://missing-semester-cn.g...https://www.bilibili.com/vide...笔记OS学习资料MIT’s
6.828
·
2021-02-09 01:46
开发工具公开课
MIT6828操作系统实践记录(一)
本系列的目的是通过QEMU模拟计算机硬件,然后在此基础上进行操作系统的实践学习,课程地址:https://pdos.csail.mit.edu/
6.828
/2017/schedule.html本文将逐步
灰灰h
·
2021-01-21 15:12
操作系统
操作系统
【归档】[OS] Shell
借助
6.828
Shell来进行扩展,可以将其运行在支持UnixAPI的操作系统上,比如:Linux、MacOS。可以阅读xv6book的Chapter0来了解一下操作系统的接口。
AIslandX
·
2020-09-17 08:23
归档
MIT
6.828
OS lab Makefile 分析
2019独角兽企业重金招聘Python工程师标准>>>lab1中的Makefile主要是根目录下的GNUMakefile,kern/Makefrag,boot/Makefrag,后两者通过include直接包含到GNUMakefile中。##Thismakefilesystemfollowsthestructuringconventions#recommendedbyPeterMillerinhi
weixin_33725126
·
2020-09-13 06:45
飞龙的计算机公开课推荐
UCBCS61a主页中文版教材数据结构·算法斯坦福CS106bUCBCS61b普林斯顿Algs4MIT6.006GateLectures算法和数据结构系统nand2tetrisCMU15-213视频笔记MIT
6.828
布客飞龙
·
2020-09-12 12:56
资料整理
上一页
1
2
3
4
5
6
下一页
按字母分类:
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
其他