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
XV6
【归档】[OS]
Xv6
System Calls
PartOne:SystemcalltracingYourfirsttaskistomodifythexv6kerneltoprintoutalineforeachsystemcallinvocation.Itisenoughtoprintthenameofthesystemcallandthereturnvalue;youdon’tneedtoprintthesystemcallargument
秋秋的鱼板面
·
2022-12-17 15:01
归档
xv6
操作系统
MIT
系统调用
2021
XV6
2:系统调用
1.trace首先需要在usys.pl中加个入口,Makefile中得改一下,然后就是user.h中添加定义。proc.h的PCB里边得加个mask,然后fork里边要加一个mask继承。在分发系统调用号的时候判断。在syscall.c里边改成这样:voidsyscall(void){intnum;structproc*p=myproc();num=p->trapframe->a7;if(num>
lsgoose
·
2022-12-17 15:31
MIT
XV6实验
java
servlet
c++
xv6
System Call
xv6
系统实现Systemcall,本文所实现的功能基于Vmwareubuntu14.04虚拟机1、配置环境:[1]安装虚拟机[2]sudoapt-getinstallgit[3]gitclonegit
Xiaoli_Coding
·
2022-12-17 15:30
xv6
xv6
【
xv6
RISC-V】
xv6
操作系统原理解析与源代码阅读报告
目录导言1.系统调用(syscall)(1)基本原理(2)源代码分析i)用户代码ii)内核代码2.陷阱(trap)(1)基本原理(2)源代码分析3.内存管理(memorymanagement)(1)基本原理i)页表与地址转换ii)地址空间(2)源代码分析4.多线程(multithreading)(1)基本原理(2)源代码分析5.锁(lock)(1)基本原理(2)源代码分析6.文件系统(filesy
Elecshe_ep
·
2022-12-17 15:00
阅读报告
risc-v
unix
c语言
OS内核(
xv6
)探究-系统调用
内核态和用户态计算机在加载操作系统之后,再继续执行任何指令的时候,都会处在某种特权级下(privilege)。例如在Linux下,可能会有ring0,ring1,ring2,ring3等几种状态,这些状态可以简单的分成用户态和内核态两种。我们写的上层应用的代码大多数情况运行在用户态,当我们的程序需要执行一些特殊的任务的时候,例如:访问文件,发起网络请求,向屏幕输出文字,fork一个子进程等等,我们
XA403
·
2022-12-17 15:00
计算机基础
ios
xv6
实验课程--系统调用
在本实验中,你将向
xv6
添加一些新的系统调用,这将帮助你了解它们是如何工作的,同时,让你了解
xv6
内核的一些内部结构。在以后的实验中你可能会添加更多的系统调用。
lhw---9999
·
2022-12-17 15:59
操作系统
操作系统
Mit6.S081
XV6
实验-Lab1 Syscalls
EXERCISE0EXERCISE1SystemCallTracing目的提示EXERCISE2Sysinfo目的提示EXERCISE0阅读xv6book第二章和第四章4.3和4.4节以及相关代码,理解
xv6
frostian
·
2022-12-17 15:29
XV6
操作系统
十八、
Xv6
代码导读(调试工具配置;调试系统调试执行)
Xv6
是由麻省理工学院(MIT)为操作系统工程的课程(代号6.828),开发的一个教学目的的操作系统。
[T]
·
2022-12-17 15:29
操作系统设计与实现
系统架构
系统调用跟踪-
xv6
lab syscall
1.概述本文记录
xv6
操作系统的系统调用跟踪实验,
xv6
是一个类Unix的简单操作系统。
风雨夕
·
2022-12-17 15:28
c语言
risc-v
xv6
syscall实验
Syscall文章目录Syscall一、实验要求PartOne:SystemcalltracingPartTwo:Datesystemcall二、实验操作PartonePartTworequest一、实验要求PartOne:SystemcalltracingYourfirsttaskistomodifythexv6kerneltoprintoutalineforeachsystemcallinvo
Harry____
·
2022-12-17 15:58
xv6
syscall
MIT
linux
XV6
系统调用实现
X86的保护机制x86有四个特权级,从0(特权最高)编号到3(特权最低)。在实际使用中,大多数的操作系统都使用两个特权级,0和3,他们被称为内核模式和用户模式。当前执行指令的特权级存在于%cs寄存器中的CPL域中。在x86中,中断处理程序的入口在中断描述符表(IDT)中被定义。这个表有256个表项,每一个都提供了相应的%cs和%eip。int指令的硬件动作一个程序要在x86上进行一个系统调用,它需
denglin12315
·
2022-12-17 15:58
开发OS
XV6
系统调用
【翻译】
Xv6
book Chapter 8:File system
xv6
的文件系统提供了类Unix的文件、文件目录和路径名称,并且把这些数据持久地存在virtio磁盘上。
MGWxn
·
2022-11-12 05:31
翻译
操作系统MIT6.S081:[
xv6
参考手册第4章]->Trap与系统调用
本系列文章为MIT6.S081的学习笔记,包含了参考手册、课程、实验三部分的内容,前面的系列文章链接如下操作系统MIT6.S081:[
xv6
参考手册第1章]->操作系统接口操作系统MIT6.S081:P1
爱你哦小猪猪
·
2022-08-02 17:37
操作系统MIT6.S081
unix
服务器
risc-v
linux
架构
操作系统原理:断点切换原理及实现
本文参考书:操作系统真像还原、操作系统原型
xv6
分析与实验、其中图主要来自linux内核完全注释本文针对断点切换迷茫的问题。
thotf
·
2022-05-10 11:00
【
xv6
源码窥探(8)】网卡驱动
准备工作怎么说呢,这最后一个实验……非常得……有趣……(汗颜)这个实验的测试分为两个部分:一是主机和qemu运行的
xv6
之间进行APR通信;二是qemu运行的
xv6
会向谷歌的DNSserver发送一个查询
·
2022-01-23 23:08
操作系统学习笔记
【
xv6
源码窥探(7)】mmap
前言本篇是关于MIT6.S081-2020-Lab10(mmap)的实现;如果内容上发现有什么问题请不要吝啬您的键盘。准备工作mmap()和munmap()这两个系统调用本身是类UNIX系统中才有的,这个实验只是仿照着实现它的一部分文件内存映射的功能(玩具)。具体mmap()的作用可以看看[Linux中的mmap映射[一]](https://zhuanlan.zhihu.com/p/...),了解
·
2022-01-22 15:09
操作系统实验记录学习笔记
【
xv6
源码窥探(6)】文件系统
前言本篇是关于MIT6.S081-2020-Lab9(FileSystem)的实现;如果内容上发现有什么问题请不要吝啬您的键盘。准备工作LoggingLayer在文件系统中的Crash可能是由文件系统操作过程中发生了电力故障(突然断电)或内核Panic引起的。因为文件系统存储在持久层,Crash之后不希望重启后我们的持久性数据处于不一致或不正确的状态(例如inode指向的datablocks是空的
·
2022-01-19 13:53
操作系统unix学习笔记
【
xv6
源码窥探(5)】锁
前言本篇是关于MIT6.S081-2020-Lab8(Lock)的实现;我并没有在找到“全局最优解”的情况下通过Buffercache的测试;因此在Exercise2我只提供了在找到“全局最优解”的前提下,我的各种代码尝试以及思路;如果内容上发现有什么问题请不要吝啬您的键盘。准备工作要新看的内容不多,只有第八章(Filesystem)的前三个小节。文件系统的层次模型这张图特别地像计算机网络层次服务
·
2022-01-09 22:53
操作系统学习笔记
【
xv6
源码窥探(3)】CoW Fork
前言本篇是关于MIT6.S081-2020-Lab6(Copy-on-WriteForkforxv6)的实现;如果内容上发现有什么问题请不要吝啬您的键盘。准备工作先大概罗列一下实现cow-fork所要做的工作清单:修改uvmcopy()函数;【√】修改copyout()函数,因为它是直接对pa进行读写的;【√】为usertrap函数添加处理cowpagewrite的异常;【√】可以将2和3两个处理
·
2021-12-09 21:21
操作系统学习心路
【
xv6
源码窥探(2)】懒分配策略
前言本篇是关于MIT6.S081-2020-Lab5的实现;如果内容上发现有什么问题请不要吝啬您的键盘。Lazyallocation&&LazytestsandUsertests这两个练习的内容是紧耦合的,所以就写一块了。Lazyallocation的想法在之前在做页表实验的最后提到了,所以这次实验同样可以吃老本快速过关。跟着提示做基本不会遇到问题,只有在最后有一个容易踩坑的地方。先是修改sys_
·
2021-12-03 23:14
操作系统学习笔记
【
xv6
源码窥探(1)】中断
前言本篇是关于MIT6.S081-2020-Lab4的实现;如果内容上发现有什么问题请不要吝啬您的键盘。Backtrace实验指导书上给出了RISC-V栈帧布局:基本上只要看懂这幅图就可以过关了:/*kernel/printf.c*/voidbacktrace(){uint64*fp=(uint64*)r_fp(),*ra;while((uint64)fp!=PGROUNDUP((uint64)f
·
2021-11-25 22:59
操作系统
【
xv6
源码窥探(0)】页表
前言默认读者已经对三级页表的结构有基本的了解;以下所有的内容都可以在xv6book、实验指导书和
xv6
源码中找到原始出处;发现有错误或改进的地方时,请不要吝啬您的键盘。
·
2021-11-23 21:26
操作系统
云原生爱好者周刊:GitHub 官方文档终于开源了!
课程主要围绕类Unix操作系统
XV6
进行讲解,目的是为了让学生更好的理解类Unix的工作原理与基础
·
2021-07-27 20:55
云计算
云原生爱好者周刊:GitHub 官方文档终于开源了!
课程主要围绕类Unix操作系统
XV6
进行讲解,目的是为了让学生更好的理解类Unix的工作原理与基础
KubeSphere 云原生
·
2021-07-22 17:40
mit6.S081小结
这个课程的好处就是基于一个开发出来的简易操作系统
xv6
来进行讲课还有实验,让自己对于OS的理解不再基于书本视频的一些很理论的东西,而是实际看了一些代码还有添加了一些代码的。课程很棒!
狗哥的迷妹~
·
2021-04-24 00:55
xv6
操作系统
xv6
里的第一个用户进程
kernel/entry.S->kernel/start.c->kernel/main.c->kernel/proc.c->user/initcode.S->user/init进程
xv6
橡树人
·
2020-12-27 10:13
xv6
book Chapter 2 Operating system organization
Akeyrequirementforanoperatingsystemistosupportseveralactivitiesatonce.Thusanoperatingsystemmustfulfillthreerequirements:multiplexingisolationinteractionAbstractingphysicalresourcesIt’smoretypicalforap
lincanshu
·
2020-11-17 23:11
xv6
book Chapter 1 Operating system interfaces
Thejobofanoperatingsystemistoshareacomputeramongmultipleprogramsandtoprovideamoreusefulsetofservicesthanthehardwarealonesupports.Anoperatingsystemprovidesservicestouserprogramsthroughaninterface.fork(
lincanshu
·
2020-11-16 16:04
MIT 6.S081 Lab:
Xv6
and Unix utilities
sleep.cImplementtheUNIXprogramsleepforxv6;yoursleepshouldpauseforauser-specifiednumberofticks.Atickisanotionoftimedefinedbythexv6kernel,namelythetimebetweentwointerruptsfromthetimerchip.Yoursolutionsh
lincanshu
·
2020-11-04 22:55
Homework-1: boot
xv6
Homework-1:bootxv6FindingandbreakingatanaddressFindtheaddressof_start,theentrypointofthekernel:$nmkernel|grep_start8010a48cD_binary_entryother_start8010a460D_binary_initcode_start0010000cT_start$makeq
荷茗
·
2020-10-09 16:38
MIT 6.S081
xv6
调试不完全指北
遂早退实验室滚回宿舍,捡起自己已经两年没写的blog,码点自己用vscode调试
xv6
的心得和小tips,如果对同样在码
xv6
但无法忍受gdb调试界面的小伙伴们有帮助那就太好了,积点功德,但愿明
KatyuMarisa
·
2020-09-25 14:00
【
xv6
学习之HW1】shell
第一次的作业就把我难倒了。在此十分感谢JasonLeaster,没有这一系列的博文,我可能就要放弃了。希望能坚持下去,虽然比较难,但是我肯定能学到很多东西。传送在此:http://blog.csdn.net/cinmyheart/article/details/45122619不会的东西比较多,记录的东西也就比较多,比较杂。记下来先,慢慢熟悉。看了JasonLeaster写的代码,差不多能理解个大
mick_seu
·
2020-09-17 07:27
操作系统
Xv6操作系统
xv6
的引导过程(操作系统引导分析)
引导的汇编代码如下:#include"asm.h"#include"memlayout.h"#include"mmu.h"#StartthefirstCPU:switchto32-bitprotectedmode,jumpintoC.#TheBIOSloadsthiscodefromthefirstsectoroftheharddiskinto#memoryatphysicaladdress0x7
iteye_9166
·
2020-09-11 08:28
x86
grub
xv6
+ Qemu 在Ubuntu下编译运行教程
download.csdn.net/detail/yinglang19941010/9201421(我使用的是这个,怕出错的同学可以下这个)2)https://github.com/yinglang/
Xv6
吃熊的鱼
·
2020-08-26 16:17
XV6
操作系统的安装与使用
麻省理工大学的网站上http://pdos.csail.mit.edu/6.828/2011/xv6.html,已经对
XV6
的来龙去脉及如何下载做了较详细的介绍。
SheIsC
·
2020-08-17 05:36
XV6操作系统剖析
xv6
运行qemu时 : no bootable device
在做
xv6
的实验时,我不想直接fork官方源,我先把某个版本(比如
xv6
的版本9)下载下来,然后自己在github上建立一个仓库,把下载下来的文件传到我的仓库中,就这样形成了一个新的
xv6
项目(当然我还没有添加自己的东西
szuhuanggang
·
2020-08-13 19:38
linux
MIT 6.828操作系统学习笔记01——Lab1
Lab1:BootingaPCPart1:PCBootstrap第一个练习的目的是让你能够更加熟悉x86汇编语言,以及PC启动的整个过程,而且也会首次学习使用QEMU软件来仿真
xv6
操作系统,并且配合GDB
chunhuang2917
·
2020-08-09 20:47
Xv6
chapter 0 学习笔记
这里操作系统
xv6
提供基础的接口,由KenThompson和DennisRitchie的操作系统介绍,同时还有模仿Unix的内部设计。每一个运行的程序叫做进程,他们都有自己的空间,
helloworld19970916
·
2020-08-04 14:41
计算机系统
数据结构
C
Ubuntu下Bochs运行
Xv6
操作系统:Ubuntu10.04.2所需软件包:源代码包bochs-2.4.6.tar.gz可以从http://sourceforge.net/projects/bochs/下载源代码包xv6-rev5.tar.gz可以从http://download.csdn.net/detail/zysyyz/3707568下载其他需要的软件会在文中提到1.安装虚拟机Bochs虽说直接使用Ubuntu的sud
zysyyz
·
2020-08-04 10:56
Xv6
多核操作系统中的自旋锁-『以
XV6
& Linux 为例』
厚脸皮引流自旋锁是一个很神奇的东西,一个介于高效和低效之间的一个『薛定谔』?的互斥机制。自旋锁的效率和它的应用场景有很大关系,在实际生产过程中,我们能在很多地方看见它的身影。比如Linuxkernal有挺多地方用到spinlock、Nginx也有用到spinlock,但很多时候自旋锁在很多场景下并不能很好的发挥出它的高效优势。究竟什么时候我们应该使用SpinLock?首先,要注意的是自旋锁只适用于
iofu728
·
2020-08-02 18:03
Linux
[OS]操作系统
XV6
的源码学习笔记[1]
于是开始学习
xv6
这个MIT出品的小型操作系统。2.声明这个不是原创文章,只是在学习
XV6
的过程中的一些笔记或者文档整理。文章大部队内容都是
xv6
的官方文档或者翻译文档。
pingpong_龘
·
2020-07-13 19:55
xv6
引导及初始化详解
了解
xv6
的引导及初始化部分格外重要,因为它奠定了整个
xv6
操作系统的基础和框架。
zhanglei8893
·
2020-07-12 19:58
操作系统
化工
框架
timer
user
工作
XV6
源码阅读报告
阅读
XV6
源码中,进程线程相关代码,并集体讨论解答下列议题:1.什么是进程,什么是线程?操作系统的资源分配单位和调度单位分别是什么?
XV6
中的进程和线程分别是什么,都实现了吗?
weixin_41593418
·
2020-07-12 11:09
XV6
操作系统代码阅读心得(二):进程
从实现的角度上讲,
XV6
系统中只实现了进程,并没有提供对线程的额外支持,一个用户进程永远只会有一个用户可见的执行流。
weixin_30954265
·
2020-07-12 07:54
XV6
源代码阅读-中断与系统调用
XV6
源代码阅读-中断与系统调用Exercise1源代码阅读1.启动部分:bootasm.Sbootmain.c和
xv6
初始化模块:main.cbootasm.S由16位和32位汇编混合编写成的
XV6
引导加载器
weixin_30889885
·
2020-07-12 07:15
XV6
源代码阅读-虚拟内存管理
XV6
源代码阅读-虚拟内存管理Exercise1源代码阅读1.内存管理部分:kalloc.cvm.c以及相关其他文件代码kalloc.c:char*kalloc(void)负责在需要的时候为用户空间、内核栈
weixin_30546189
·
2020-07-12 06:46
XV6
源代码阅读-同步机制
XV6
源代码阅读-同步机制Exercise1源代码阅读锁部分:spinlock.h/spinlock.c以及相关其他文件代码//Mutualexclusionlock.structspinlock{uintlocked
weixin_30263277
·
2020-07-12 05:28
XV6
源代码阅读-进程线程
XV6
源代码阅读-进程线程Exercise1源代码阅读1.基本头文件:types.hparam.hmemlayout.hdefs.hx86.hasm.hmmu.helf.htypes.h:仅仅是定义uint
weixin_30254435
·
2020-07-12 05:55
xv6
学习笔记 分页机制 和内存管理
XV6
分页机制、内存管理报告内容0.mmu.h的阅读mmu.h源码中给出了
XV6
虚拟地址的构成,及所代表的含义mmu.h中还有页表的相关信息,每个页目录都与1024条记录,每一个页表中也有1024条记录
素手绾青丝
·
2020-07-11 18:41
操作系统
xv6
源码分析—第一个用户进程
xv6
使用页表(硬件)来为每个进程提供其独有的地址空间,页表将虚拟地址映射为物理地址。
xv6
为每个进程虚拟出一个0xFFFFFFFF的内存地址,包含了从虚拟地址0开始的用户内存。
写代码的秃头少女
·
2020-07-11 17:26
Xv6
上一页
1
2
3
4
5
6
7
下一页
按字母分类:
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
其他