- 博客(29)
- 资源 (11)
- 收藏
- 关注
原创 资源向导之 JOS 计划 MIT 6.828
JOS 计划 #持续更新中# 童鞋,上网要科学上网,做lab也要科学的做. 之前我一上来就做实验,很多资料都不知道.现在打算重新来过 方法: 0.xv6源码不要用MIT官网的那份,我的主机是Linux/Ubuntu 14.0各种编译error,我都改的想吐.后来直接用github上别人改好的,直接能跑起来没有编译错误的xv
2015-04-20 18:39:49 11478 3
原创 JOS fork函数 实现机制分析
JOS fork函数 实现机制分析简直有点小鸡冻哇... 介个地方之前困惑了好一阵...现在叨叨关于fork那些事儿文章会着重分析fork的两种实现策略: 1. 不使用COW 策略实现dumbfork (很暴力的拷贝) 2. 使用COW技术的fork(写时复制, parent process , chi
2015-04-30 09:12:15 2235
原创 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 6192 2
原创 LeetCode #Count Primes#
一般的我的第一感觉还是搓了...时间复杂度还是比较大会写成这样:"""Programmer : EOFDate : 2015.04.28File : cp_unac.pyE-mail : jasonleaster@gmail.com"""import mathclass Solution: def count
2015-04-28 11:49:36 903
原创 JOS 用户态page fault保护处理机制分析
JOS 用户态page fault保护处理机制分析常常会在用户态触发page fault,如果直接让其因为page fault跌入内核触发panic目测是不是"太残忍了"你想想,一个刚学会写C程序的童鞋,就经常干 *(int *)0x00.当然,我只是比较赤果果的表现而已,这位同学可能经常用各种指针,然后指针为初始化亦或等于NULL的时候,对其进行赋值或解引用.总不至于让一个刚
2015-04-25 18:38:56 2087
原创 基于JOS 80x86 的堆栈切换简要分析
基于JOS 80x86 的堆栈切换简要分析这个问题一直困扰很久,发现还是有点粗心,源头--堆栈初始化没怎么搞明白.这里首先强调,一定一定要搞清楚分段和分页保护的机制.现有分段,后有分页,分页可有可无,看寄存器cr0是否开启PE位(page enable. 在JOS系统的boot.S里就已经开启了)文章从三个方面对栈进行分析0. GDT 全局段寻址描述表
2015-04-25 16:20:04 1578
原创 JOS lab4 用户程序分析
JOS lab4 用户程序分析faultread.c faultdie.c:这两个用户程序一起分析左右两个用户程序,都试图对非法地址写入数据,但是左边的就会导致 page fault ,触发的是内核trap而后边的就会进入打印trap frame,导致系统挂掉,而右边的不会,右边的由于有用户空间的处理机制,还是建议自己一步步跟踪去看.faul
2015-04-24 22:43:33 2057
原创 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 1853
原创 关于CSAPP 6.18的习题分析
关于CSAPP 6.18的习题分析下面的站点能找到我搜集的所有和CSAPP有关的学习资料.https://github.com/jasonleaster/CSAPP问题背景: 强调一下,问题的针对性很强.在这个题目里面,cache究竟遵循什么策略就是这个题目定的.其他的策略如果题目没说明,不考虑!题目旨
2015-04-22 01:02:48 2460 3
原创 JOS lab3 部分用户程序分析
JOS lab4 部分用户程序分析在lab 4的分支里面,会有各种好玩的用户程序.如下:觉得还是有必要一一对其进行简要的分析.自顶向下的了解OS的机制分析的用户程序顺序随意,不按照难度排序badsegment.c:这里的唯一一行嵌入式汇编尝试把 0x28这个数赋值给数据段寄存器 DS看这里Global describe t
2015-04-21 19:35:14 2654
原创 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 7325 11
原创 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 1277
原创 MIT 操作系统实验 MIT JOS lab4
MIT JOS lab4写在前面的碎碎念~ : 经历了LAB 3的洗礼,死磕到了lab 4. 这里还是首先向各位为JOS 实验做过笔记,写过博客,把自己实验代码托管到JOS上面的先行者们致敬! 如果没有这么好的开源环境, 这么好的东西学不来. 珍惜, 不用嘴. Doing is better than saying!-----------
2015-04-17 16:01:45 10630 1
原创 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 1097
原创 LeetCode # Longest Common Prefix #
我的Python 解答:"""Programmer : EOFDate : 2015.04.15File : lcp.pyE-mail : jasonleaster@gmail.com""""""Varible Description: @ret_string : We store the string
2015-04-15 15:07:44 1135
原创 LeetCode # Add Two Numbers #
Python(我一直不能忍受我的解答不够简短QAQ):"""Programmer : EOFDate : 2015.04.14File : atn.pyE-mail : jasonleaster@gmail.com"""# Definition for singly-linked list.class ListN
2015-04-14 23:35:31 1011
原创 LeetCode # ZigZag Conversion #
我的Python解答:"""Programmer : EOFDate : 2015.04.14File : zigzag.pyE-mail : jasonleaster@gmail.com"""class Solution: def convert(self, s, nRows): leng
2015-04-14 17:32:45 1165
原创 STL 源码分析 # stl_iterator & stl_iterator_base #
STL 源码分析 # stl_iterator_base && stl_iterator #这里能很清楚的看到各个基础类型的继承关系template struct input_iterator { typedef input_iterator_tag iterator_category; typedef _Tp
2015-04-13 14:01:08 982
原创 LeetCode # 3Sum #
Python解答一 O(n^3) 时间复杂度不符合要求, 暴力美还是很直观:"""Programmer : EOFDate : 2015.04.11File : 3sum.pyE-mail : jasonleaster@gmail.comDescription : This is the first versi
2015-04-12 14:59:03 1001
原创 LeetCode #Roman To Integer#
只要做过之前的那个Integer To Roman, 这个就不会很难啦~ 掌握转换规律, 建个table就OK了"""Programmer : EOFDate : 2015.04.11File : rti.pyE-mail : jasonleaster@gmail.com"""class Solution: # @r
2015-04-11 19:04:54 1279
原创 LeetCode #Integer to Roman#
有点意思~ 只要相应的处理好对于 4 和 9 这两种特殊情况就好了.其他都是简单的加法好吧, 老老实实贴出我的解答, 好丑... 不够简洁.. 可以看皓神的解答...Python:"""Programmer : EOFDate : 2015.04.10File : itr.pyE-mail : ja
2015-04-10 17:39:06 870
原创 STL 源码分析 # stl_pair #
STL 源码分析 # stl_pair #pair是一种很简单也很常用的关联容器(associative container)./***********************************************Programmer : EOFDate : 2015.04.10File : pair.cppE-mail : jaso
2015-04-10 15:12:31 1104
原创 <<什么是数学>> 余数那些事儿
> 笔记 余数那些事儿今天又踩坑了,感觉各种问题递归下去有没个尽头的样子╮(╯_╰)╭还是要回归到数学的本质上来...只要说数学,你就会被高斯帅哭的...一般性的概念.只要碰到用一个固定的整数d,去除整数的问题,"同余"的概念和记法(高斯创造)使得这个推理简单而清楚.(伟大的人都是把复杂的问题简单化)
2015-04-10 13:29:55 1791 2
原创 STL 源码分析 # stl_number #
STL 源码分析 # stl_number #/***********************************************************Programmer : EOFe-mail : jasonleaster@gmail.comDate : 2015.04.04File : 6number.cpp********************
2015-04-09 17:54:58 846
原创 LeetCode #Valid Palindrome#
LeetCode #Valid Palindrome#我的Python解答:"""Programmer : EOFe-mail : jasonleaster@gmail.comDate : 2015.04.07File : vp.py"""import string
2015-04-07 15:42:20 1096
原创 LeetCode #Palindrome Number#
LeetCode #Palindrome Number#又是个软柿子啊...(主要是今天不知道在哪儿看到一个回文的题目了,然后就特地去LeetCode找了一下,还真有,一次性AC的感觉简直不能再爽)我的Python版本解答:"""Programmer : EOFE-mail : jasonleaster@gmail.com
2015-04-06 23:26:03 931
原创 LeetCode #Longest Substring Without Repeating Characters#
LeetCode #Longest Substring Without Repeating Characters#折腾了一回,第一感觉就是没有感觉...这种没技巧的话暴力是不现实的..而后发现其实没有很好理解题目的意思考过么?究竟什么是最长的子字符串这里有个很要命的概念, 子字符串,别小看这家伙.是搞定题目的关键."abcduiwe" 这
2015-04-03 00:02:48 1008
原创 STL 源码分析 之 rotate()函数分析
STL 源码分析 之 rotate()函数分析rotate()函数究竟能干嘛?http://www.cplusplus.com/reference/algorithm/rotate/?kw=rotate上面只是大致的截图, 源码在下面给出:// rotate and rotate_copy, and their auxiliary
2015-04-02 17:54:20 1663
原创 LeetCode #String to Integer (atoi)#
LeetCode #String to Integer (atoi)#自己写一个atoi. 其实之前都没怎么调用过这个库函数. 具体性能也不怎么知道.自己写的时候感觉有个版本比题目要求还好,但是不能被接受, 于是就改改改话说AC的感觉真爽...我尽量把代码写的紧凑..."""Programmer : EOFDate : 2
2015-04-01 14:27:33 1058
CSAPP lab 5 实验指导书
2014-09-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人