Operating System
JasonLeaster
Doing is better than saying.
展开
-
《modern operating system》 chapter 6 DEADLOCKS 笔记
DEADLOCKS原创 2014-07-22 11:19:53 · 2351 阅读 · 0 评论 -
Implement a Shell by yourself -- MIT xv6 shell
Implement a Shell by yourself -- MIT xv6 shell这个其实是作为6.828的一个小课堂作业 ...着重分析构建思想和过程,具体代码实现去github可以找到.https://github.com/jasonleaster/MIT_6_828_assignments_2012/blob/homework1/sh.c原创 2015-04-19 02:45:45 · 7353 阅读 · 11 评论 -
8086的储存器编址
8086的储存器编址和I/O编址 值得注意的是JOS是采用8086进行操作系统搭建的! 本来觉得一无是处的8086,现在觉得真要好好学学了,因为JOS,哈哈 在操作系统底层常常会遇到"逻辑地址"的概念,各种地址混淆在一起,极易头疼...http://blog.csdn.net/cinmyhea原创 2014-12-21 21:50:12 · 3497 阅读 · 0 评论 -
JOS 中的键盘编码
有时候会遇到键盘编码.无耻的单独开一贴,记录这个,键盘编码.方便其他blog做引用 : )#ifndef JOS_KBDREG_H#define JOS_KBDREG_H// Special keycodes#define KEY_HOME 0xE0#define KEY_END 0xE1#define KEY_UP 0xE2#define KEY_DN 0xE3原创 2015-04-15 20:26:40 · 1114 阅读 · 0 评论 -
MIT 操作系统实验 MIT JOS lab1
JOS lab1原创 2014-10-03 23:03:39 · 18326 阅读 · 5 评论 -
MIT 操作系统实验 MIT JOS lab2
MIT JOS lab1原创 2014-10-12 00:37:05 · 11028 阅读 · 0 评论 -
JOS lab3 部分用户程序分析
JOS lab4 部分用户程序分析在lab 4的分支里面,会有各种好玩的用户程序.如下:觉得还是有必要一一对其进行简要的分析.自顶向下的了解OS的机制分析的用户程序顺序随意,不按照难度排序badsegment.c:这里的唯一一行嵌入式汇编尝试把 0x28这个数赋值给数据段寄存器 DS看这里Global describe t原创 2015-04-21 19:35:14 · 2674 阅读 · 0 评论 -
MIT 操作系统实验 MIT JOS lab3
MIT JOS lab3原创 2015-02-15 02:54:02 · 11117 阅读 · 2 评论 -
基于JOS 80x86 的堆栈切换简要分析
基于JOS 80x86 的堆栈切换简要分析这个问题一直困扰很久,发现还是有点粗心,源头--堆栈初始化没怎么搞明白.这里首先强调,一定一定要搞清楚分段和分页保护的机制.现有分段,后有分页,分页可有可无,看寄存器cr0是否开启PE位(page enable. 在JOS系统的boot.S里就已经开启了)文章从三个方面对栈进行分析0. GDT 全局段寻址描述表原创 2015-04-25 16:20:04 · 1595 阅读 · 0 评论 -
JOS fork函数 实现机制分析
JOS fork函数 实现机制分析简直有点小鸡冻哇... 介个地方之前困惑了好一阵...现在叨叨关于fork那些事儿文章会着重分析fork的两种实现策略: 1. 不使用COW 策略实现dumbfork (很暴力的拷贝) 2. 使用COW技术的fork(写时复制, parent process , chi原创 2015-04-30 09:12:15 · 2253 阅读 · 0 评论 -
JOS lab4 用户程序分析
JOS lab4 用户程序分析faultread.c faultdie.c:这两个用户程序一起分析左右两个用户程序,都试图对非法地址写入数据,但是左边的就会导致 page fault ,触发的是内核trap而后边的就会进入打印trap frame,导致系统挂掉,而右边的不会,右边的由于有用户空间的处理机制,还是建议自己一步步跟踪去看.faul原创 2015-04-24 22:43:33 · 2075 阅读 · 0 评论 -
MIT 操作系统实验 MIT JOS lab5
MIT 操作系统实验 MIT JOS lab5Lab 5: File system, Spawn and ShellDisk Access The x86 processor uses the IOPL bits in the EFLAGS register to determine whether protectedmode code is原创 2015-04-28 20:48:46 · 6215 阅读 · 2 评论 -
资源向导之 "Operating System"
资源向导之"Operating System"------------------------------------------------- MIT --- JOS ------------------------------------------------MIT关于JOS实验的主站http://pdos.csail.mit.edu/6.828/2原创 2015-02-15 03:53:05 · 3706 阅读 · 0 评论 -
JOS中 "spinlock" 的实现
JOS中 "spinlock" 的实现In software engineering, a spinlock is a lock which causes a thread trying to acquire it to simply wait in a loop ("spin") while repeatedly checking if the lock is原创 2015-02-19 15:42:34 · 1871 阅读 · 0 评论 -
The File System in JOS
The File System in JOS单独开一贴扯一扯JOS里的文件系统也是方便以后更新或引用.集中火力看几个和文件系统有关系的头文件. inc/fs.h fs/fsformat.h fs/fs.hfs/serv.c先回答一下神马是文件系统...File system The xv6 file system原创 2015-04-18 16:28:12 · 1291 阅读 · 0 评论 -
MIT 操作系统实验 MIT JOS lab4
MIT JOS lab4写在前面的碎碎念~ : 经历了LAB 3的洗礼,死磕到了lab 4. 这里还是首先向各位为JOS 实验做过笔记,写过博客,把自己实验代码托管到JOS上面的先行者们致敬! 如果没有这么好的开源环境, 这么好的东西学不来. 珍惜, 不用嘴. Doing is better than saying!-----------原创 2015-04-17 16:01:45 · 10660 阅读 · 1 评论 -
《modern operating system》 chapter 5 Input and output 笔记
Input / OutputIt should also provide an interface between the devices and the rest of the system that is simple and easy to use. 于是乎这里就有了对于硬盘等IO设备的抽象。5.1 PRINCIPLES OF I/O HARDWARE原创 2014-07-21 22:49:52 · 2887 阅读 · 0 评论 -
《modern operating system》 chapter 3 MEMORY MANAGEMENT 笔记
Over the years, people discovered the concept of a memory hierarchy,原创 2014-05-03 21:45:38 · 6015 阅读 · 0 评论 -
如果写一段代码引导PC开机这段代码是 ? Here is a tiny "OS" :-D
Hello world -- OS 我找到了华科绍志远博士的相关代码,发现他根据MIT的JOS的boot.S 稍作修改,然后单独剥离出来,可以很好玩~ 资料下载地址:http://download.csdn.net/detail/u011368821/8006465原则上只需要两个文件(boot.S原创 2014-10-06 15:29:02 · 1502 阅读 · 0 评论 -
虚拟地址 线性地址 物理地址 傻傻分不清楚?
virtual address Linear address原创 2014-10-07 10:55:24 · 5641 阅读 · 1 评论 -
NVRAM 简介(Xv6-JOS /kern/kclock.c 简要分析)
NVRAM 简介原创 2014-10-08 13:19:41 · 2374 阅读 · 0 评论 -
invlpg 指令简介
invlpg 指令简介 voidtlb_invalidate(pde_t *pgdir, void *va){ // Flush the entry only if we're modifying the current address space. // For now, there is only one address space, so原创 2014-10-11 16:04:23 · 5016 阅读 · 0 评论 -
JOS 不能进入lab2 问题的解决
JOS 不能进入lab2 问题的解决 这个鸟问题折腾了我好久!lab2是需要 kern/pmap.c的!但是这里没有首先要git checkout -b lab2 origin/lab2(只要做好上面这一步,就可以确保能够调整好文件了,坑啊!到现在都6个小时不止了!)接着git fetch然后git merge原创 2014-10-14 01:24:15 · 2690 阅读 · 2 评论 -
x86CPU 实模式 保护模式 傻傻分不清楚? 基于Xv6-OS 分析CR0 寄存器
基于Xv6-OS 分析CR0 寄存器原创 2014-10-04 10:51:18 · 3456 阅读 · 0 评论 -
关于JOS 未对所有内存分页映射之前 物理地址映射问题的思考
在kern/pmap。 //////////////////////////////////////////////////////////////////////// create initial page directory.kern_pgdir = (pde_t *) boot_alloc(PGSIZE);memset(kern_pgdir, 0, PGSIZE原创 2014-10-15 10:59:29 · 1868 阅读 · 0 评论 -
stab 简介
stab 简介 这货原名是s y原创 2014-10-10 23:47:23 · 3410 阅读 · 0 评论 -
Analysis of segment descriptor —— JOS
Analysis of segment descriptor原创 2014-10-14 13:57:45 · 2210 阅读 · 0 评论 -
MIT JOS # RoundRobin Scheduling#
MIT JOS # RoundRobin Scheduling# 下面是MIT JOS里 round-robin调度策略的实现.在 kern/sched.c里面下面的截图来自> (以前搬过的砖也是有好处的哇~)结合代码就能够很形象的理解Round-robin.每当我们调用sched_yeild()的时候,我们就打算让当前进程让出CPU了.原创 2015-04-22 11:15:30 · 1869 阅读 · 0 评论 -
资源向导之 JOS 计划 MIT 6.828
JOS 计划 #持续更新中# 童鞋,上网要科学上网,做lab也要科学的做. 之前我一上来就做实验,很多资料都不知道.现在打算重新来过 方法: 0.xv6源码不要用MIT官网的那份,我的主机是Linux/Ubuntu 14.0各种编译error,我都改的想吐.后来直接用github上别人改好的,直接能跑起来没有编译错误的xv原创 2015-04-20 18:39:49 · 11507 阅读 · 3 评论