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
【
xv6
学习之Lec2】 PC hardware and x86 programming slides
这一节我们主要了解PC的硬件与x86编程。首先是计算机架构,如下图:关于EIP:内存操作:基本栈操作:(*)Notrealinstructions能够很好理解一下:8086:x86: I/O:从C代码到可执行文件:PCEmulator:
woxiaohahaa
·
2015-11-27 14:00
深入学习
Xv6
系统(1)
Xv6
是mit开得OS课程,来源于UnixV6版本,代码1w行左右,覆盖了大部分操作系统概念,可以说是程序狗是出门旅行居家生活的必备。
魔都浮云
·
2015-11-14 17:00
qemu
XV6
【
xv6
学习之lab1】Booting a PC
进入lab1,使用git下载lab文件。然后略过Introduction,从Part1开始看。本文参考自JasonLeaster,在此感谢他!Part1:PCBootstrap按照介绍一步一步来,makeqemu后会出现 QEMUwindow。(记得先安装qemu)。若此处使用makeqemu-nox,则不会跳出QEMU窗口,只在你的终端里显示。1、这里牵扯到8086的一些基本知识。1)8086地
woxiaohahaa
·
2015-11-07 15:00
ubuntu编译运行
xv6
最近想找个简单的类Unix系统学习下,
xv6
不错的, 所有代码加起来不到一万行,首先把代码跑起来还是很重要的.
·
2015-10-30 15:25
ubuntu
【
xv6
学习之HW1】shell
第一次的作业就把我难倒了。在此十分感谢JasonLeaster,没有这一系列的博文,我可能就要放弃了。希望能坚持下去,虽然比较难,但是我肯定能学到很多东西。传送在此:http://blog.csdn.net/cinmyheart/article/details/45122619不会的东西比较多,记录的东西也就比较多,比较杂。记下来先,慢慢熟悉。看了JasonLeaster写的代码,差不多能理解个大
JasonLeaster
·
2015-10-23 20:00
xv6
+ Qemu 在Ubuntu下编译运行教程
xv6
源代码文件(以下三选一)1)http://download.csdn.net/detail/yinglang19941010/9201421 (我使用的是这个,怕出错的同学可以下这个)2)https
yinglang19941010
·
2015-10-21 21:00
【
xv6
学习之第0章】操作系统接口
1、fork()函数一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程的值不同。相当于克隆了一个自己。fork() 函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事(即复制了fork()函数后的代码),但如果初始参数或者传入的变量不同,两个进程也可以做不同的事
woxiaohahaa
·
2015-10-20 10:00
xv6
试验环境bochs及qemu搭建
最近打算学习操作系统,无意中看到
xv6
,learnbydoing。首先下载源码,开始使用官网提供的方法git,无奈失败,好在在github上搜到一份可以用的,都不知道是第几版的。见panks 。
woxiaohahaa
·
2015-10-18 08:00
xv6
的引导过程(操作系统引导分析)
引导的汇编代码如下:#include"asm.h" #include"memlayout.h" #include"mmu.h" #StartthefirstCPU:switchto32-bitprotectedmode,jumpintoC. #TheBIOSloadsthiscodefromthefirstsectoroftheharddiskinto #memoryatphysi
gaylord
·
2015-10-11 22:00
xv6
中存储cpu和进程信息的技巧
xv6
是一个支持多处理器的Unix-like操作系统, 近日阅读源码时发现
xv6
在记录当前CPU和进程状态时非常tricky 首先,上代码: 1 extern struct cpu
·
2015-06-26 14:00
cpu
Implement a Shell by yourself -- MIT
xv6
shell
ImplementaShellbyyourself--MITxv6shell这个其实是作为6.828的一个小课堂作业...着重分析构建思想和过程,具体代码实现去github可以找到.https://github.com/jasonleaster/MIT_6_828_assignments_2012/blob/homework1/sh.c-------------------------------
u011368821
·
2015-04-19 02:00
shell
System
operating
JOS
XV6
- bootman.c
//这个文件跟bootasm.S将一起连接成bootblock #include "types.h" #include "elf.h" #include "x86.h" #include "memlayout.h" #define SECTSIZE 512 void readseg(uchar*, uint, uint); void bootmain(void) { struct e
Pagination
·
2014-06-12 15:00
XV6
- bootsect.S
#include"asm.h"#include"memlayout.h"#include"mmu.h".code16.globlstartstart: cli #关中断,防止干扰开启A20, 和保证设置GDT的完整性 #初始化寄存器 xorw %ax,%ax #将ax清零,相似的方法如:movw $0,%ax,subw%ax,%ax movw %ax,%ds
Pagination
·
2014-06-12 07:00
printf_系统调用过程分析_write() putc() 函数实现
我们以教学用的类Linux操作系统
xv6
为例,以打印操作为主线来说明系统
edonlii
·
2014-02-28 14:00
系统调用
系统调用过程分析
我们以教学用的类Linux操作系统
xv6
为例,以打印操作为主线来说明系统调用的代
xzyfeixiang
·
2013-10-13 11:00
linux
操作系统
系统调用
write
linux调用过程
yale_OS(7)——
xv6
中的文件系统(File System)
xv6
文件系统提供类Unix的文件(files)、目录(directory)、路径(pathnames),持久保存数据在IDE磁盘上。
wuxiaoer717
·
2012-10-28 09:00
yale_OS(6)——
xv6
中boot loader的学习
xv6
的引导程序当x86的PC启动的时候,它首先执行的程序是BIOS,该段程序存储在主板的flash内存中,BIOS的任务有以下两种:1.为后面程序的运行初始化硬件2.把控制权转移到操作系统,尤其是转移到从
wuxiaoer717
·
2012-06-05 23:00
汇编
struct
OS
disk
alignment
translation
yale_OS(2)——OS-xv6的源代码的调试
xv6
源代码的调试(源代码的下载,编译,运行如:yale_OS(1)——OS-xv6的源代码的下载,编译和运行所示)在QEMU下远程调试xv6.
wuxiaoer717
·
2012-05-27 22:00
thread
ubuntu
OS
Path
远程连接
终端
系统调用过程分析
我们以教学用的类Linux操作系统
xv6
为例,以打印操作为主线来说明系统调用的代
dianhuiren
·
2012-04-18 10:00
linux
struct
汇编
File
任务
编译器
ucore
在看
xv6
的过程中,在硬盘上翻资料的时候,在
xv6
文档目录下发现去年九月份下载下来的ucore,这是清华大学的老师们(陈渝等)在参考
xv6
等的基础上循序渐进组织的一系列实验,从开始的启动、设备管理,到进程管理
spartan1
·
2011-11-18 00:00
core
电脑与操作系统
昨晚上拿起
xv6
的代码想好好看看,忽然发现一堆pagetable、gdt、gatedesc,感觉提不起兴趣,为什么会这样?
spartan1
·
2011-11-16 23:00
操作系统
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
·
2011-10-22 13:00
c
虚拟机
ubuntu
2010
xv6
自旋锁
在多核和多线性的系统中,需要注意访问安全,即需要考虑不同的CPU和多线程之间因竞争而存在的互斥关系。比如下面的例子:structlist{intdata;structlist*next;};structlist*list=0;voidinsert(intdata){structlist*l;l=malloc(sizeof*l);l->data=data;l->next=list;list=l
zhanglei8893
·
2011-07-09 21:00
多线程
list
struct
insert
X86
xv6
磁盘驱动及缓存
前面的博文中详细讲述了
xv6
的文件系统,其中使用位图块来进行磁盘block的管理,但是对于block内容进行读写则需要更底层的磁盘驱动程序,同时考虑到磁盘读写的速度非常慢(相对于内存读写),因此我们有必要对磁盘的数据块进行缓存
zhanglei8893
·
2011-01-03 23:00
数据结构
算法
struct
ide
buffer
磁盘
xv6
文件系统详解
xv6
文件系统由inode组成,每个inode是单个未命名的文件。
zhanglei8893
·
2011-01-03 16:00
struct
BI
存储
Path
reference
磁盘
XV6
进程调度分析
进程调度主要代码在proc.c 另外trap.c syscall.c sysproc.c vm.c spinlock.c等文件中有相关部分。 主要特性总结如下: 0、中断可以保证单CPU中代码段的原子性,自旋则实现多CPU之间的互斥。 1、系统先自构造一个init进程的数据保存起来待运行,构造init进程需要调用userinit()函数,构造其他进程则需当前进程调用sys_fork()(实际
talin2010
·
2010-12-31 19:00
C++
c
C#
XV6
进程调度分析
进程调度主要代码在proc.c另外trap.csyscall.csysproc.cvm.cspinlock.c等文件中有相关部分。主要特性总结如下: 0、中断可以保证单CPU中代码段的原子性,自旋则实现多CPU之间的互斥。 1、系统先自构造一个init进程的数据保存起来待运行,构造init进程需要调用userinit()函数,构造其他进程则需当前进程调用sys_fork()(实际为fork
davelv
·
2010-12-31 19:00
xv6
引导及初始化详解
了解
xv6
的引导及初始化部分格外重要,因为它奠定了整个
xv6
操作系统的基础和框架。
zhanglei8893
·
2010-12-27 17:00
工作
框架
timer
user
化工
xv6
内存布局详解
欲了解
xv6
操作系统源码,那么内存布局就是其中的不二法门 Makefile中涉及到代码链接地址的地方如下:------------------------------------------------
zhanglei8893
·
2010-12-27 15:00
c
application
makefile
XV6
内存布局
1、 规定系统最大物理内存为16MB。2、 应用程序使用0-640K虚拟内存,640K-1M是映射IO空间,1M以上的高位内存只有内核可以使用,4064-4096最高32M地址空间映射到不同的设备。3、 每个应用程序都有自己的页表,页表的前160项(0-640K)内存是自己映射的,从640K到最高物理内存,其物理地址和虚拟地址是一致的,不过应用程序没有访问高于640K内存
davelv
·
2010-12-06 19:00
XV6
内存布局
1、 规定系统最大物理内存为16MB。 2、 应用程序使用0-640K虚拟内存,640K-1M是映射IO空间,1M以上的高位内存只有内核可以使用,4064-4096最高32M地址空间映射到不同的设备。 3、 每个应用程序都有自己的页表,页表的前160项(0-640K)内存是自己映射的,从640K到最高物理内存,其物理地址和虚拟地址是一致的,不过应用程序没有访问高于640K内存的权限。这样可以>
talin2010
·
2010-12-06 19:00
内存
上一页
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
其他