- 博客(421)
- 资源 (11)
- 收藏
- 关注
原创 资源向导之 JOS 计划 MIT 6.828
JOS 计划 #持续更新中# 童鞋,上网要科学上网,做lab也要科学的做. 之前我一上来就做实验,很多资料都不知道.现在打算重新来过 方法: 0.xv6源码不要用MIT官网的那份,我的主机是Linux/Ubuntu 14.0各种编译error,我都改的想吐.后来直接用github上别人改好的,直接能跑起来没有编译错误的xv
2015-04-20 18:39:49 11507 3
原创 资源向导之 "Data structure and Algorithm"
几本神书:MIT Introduction to algorithmhttp://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/index.htmMIT Design and Anal
2015-02-28 14:47:50 2305
原创 资源向导之 "Operating System"
资源向导之"Operating System"------------------------------------------------- MIT --- JOS ------------------------------------------------MIT关于JOS实验的主站http://pdos.csail.mit.edu/6.828/2
2015-02-15 03:53:05 3706
原创 资源向导之 "APUE"
APUE --- Advanced programming in the unix environment这本书我看了好多遍....原因嘛, 第一次看到进程那里,看不懂了,前面基础没看好,从头再来第二次看到进程通信了,看不懂了,从头再来... ...估计看了四次,还是五次,忘记了,才看到第19章.感觉后面和网络编程就关系就没看了.老老实实一个个照着例
2014-12-22 16:59:06 2051
原创 资源向导之" CSAPP "
资源向导之 CSAPP 首先介绍一下大名鼎鼎的CSAPP,传闻,"这本书的重量等同于同等重量的黄金". 评价相当之高,不管是收藏大师的经典还是学习知识,都没有理由让我不买这本书(我看到好书只要能承受得起,必须买买买.我很享受那种学生时代因为买书而让生活变得拮据的感觉.感觉是一种很难得的体验和回味) CMU是全美以至全球公认的CS最猛的
2014-12-12 11:28:22 3734 1
原创 Introduction to neural network —— C语言实现BP神经网络识别数字
Introduction to nerual network 基本上玩过数模或者模式识别的研究生就会知道神经网络这个新兴的技术,当然多数人也就只会在matlab里面调用API而已,真正神经网络是什么,怎么实现的...就呵呵了.仅有基础数据类型元素,没有过多的抽象的C语言实现的时候,才是真正把逻辑思维转化为可用,同时也是对自身逻辑思
2014-10-24 21:08:50 6115 2
原创 一步步走向国际乱码大赛-- 恶搞C语言
大家都一直强调规范编码,但是这个世界上有个大师们娱乐的竞赛——国际乱码大赛。 能写出来的都是对语言深入了解的master。我从没想自己也能“恶搞”C,一直都是老老实实编码。就在前几天看了一篇帖子。感觉把很规范的代码变成乱码,很有意思。于是决定动手试一试。 我不得不说。。。我以为看起来还简单的东西,搞了我一天,我去。。。各种bug。。。不过也有很大的
2014-05-02 21:35:44 14055 6
原创 自己动手写printf -- 库函数printf的实现
大概去年夏天的时候,在《C和指针》里面一个练习题要求实现一个很简单的不包含打印浮点数功能的printf函数。但是很好奇,于是一直纠结下去,结果就是知道了printf的实现,自己也写了一个简单的。或许是夏天的原因吧,那时候暑假没回去,凌晨四点兴奋到不能睡觉。那时候刚开始写blog。没想整理一下,只是简单的把最重要的实现"工具"贴了一个blog在http://blog.csdn.net/cinmy
2014-04-27 17:25:43 16532 9
原创 Puzzle over “goto” goto背后发生了什么
int switch_eg_impl(int x, int n) { /* Table of code pointers */ static void *jt[7] = { &&loc_A, &&loc_def, &&loc_B, &&loc_C, &&loc_D, &&loc_def, &&loc_D };/* static void jt[7]
2014-04-24 22:46:13 2005
原创 《Programming In Lua》书上一个有问题的代码
措辞比较尖锐,呵呵。。但是我觉得就是恶习,没得商量。初一看上去没什么。但是我们看mian函数内部#include <vector>#include <iostream> // std::cout#include <memory> // std::auto_ptr#include <algorithm> // std::for_each#include <functional>
2015-06-30 12:23:16 1500
原创 关于wikibook上的singleton的疑问
这个是wikibook中关于Design Pattern的内容,我觉得还蛮好的https://en.wikibooks.org/wiki/C%2B%2B_Programming/Code/Design_Patterns#Behavioral_Patterns但是遇到个问题。关于Singleton下面给出的这个demo我觉得是错的(或者我没理解好,我错了 : )class StringSingleto
2015-06-20 17:45:06 1310
原创 关于C++多重继承的时候虚函数覆盖的问题
问题描述:下面的代码试图去通过运行时程序分析和验证C++的虚表实现机制。下面的代码在探究多重继承情况下,虚表的情况copy代码, g++编译,观察输出结果,会发现,在派生类@Derived 中重新定义了虚函数 virtual void f(void)这样以来,基类的函数实现就会被覆盖。通过虚表调用函数f,都会调用重新定义的这个,而不是旧的(实质是指针的覆盖)。但
2015-06-14 13:42:30 1954
原创 关于CSAPP lab3中压栈问题引发的思考
之前有个问题也没特别注意,今天回来看邮件发现有同学和我讨论关于函数调用压栈的问题。废话少说,直接上对比测试图:图一:CSAPP lab3的getbuf反汇编结果截图图二: 我测试,节选了部分的getbuf实现,然后很简单的去测试getbuf的反汇编结果,反汇编结果如下图我究竟是怎么测试的:unsigned long long ge
2015-05-29 22:05:10 5325 7
原创 <<C++ 沉思录>> 中文人民邮电出版 勘误
> 中文人民邮电出版 勘误这本中文版里面有各种坑爹的小错误. 比方说变量名的大小写, 同一个变量, 出现了大小写不一致, 等等问题都有.然后今天感觉遇到了个语法问题. 关于继承权限的问题.书中第八章的demo里面, 关于class Expr_node.使用了protected关键字. 但是这里Expr_node是基类, 继承就会出现问题.具体的代
2015-05-22 15:33:15 1442
原创 关于GDB调试go语言程序中出现 os.Args无法打印的问题
关于GDB调试go语言程序中出现 os.Args无法打印的问题其实这个问题到目前位置几乎是无解的.(到目前为止,都没有把gdb)http://comments.gmane.org/gmane.comp.lang.go.general/117243确实能够通过 'os.Args'的方式去打印而且同时gdb,对于C/C++ 和 Go而言,他们的print 方法实
2015-05-05 21:44:50 1779
原创 JOS fork函数 实现机制分析
JOS fork函数 实现机制分析简直有点小鸡冻哇... 介个地方之前困惑了好一阵...现在叨叨关于fork那些事儿文章会着重分析fork的两种实现策略: 1. 不使用COW 策略实现dumbfork (很暴力的拷贝) 2. 使用COW技术的fork(写时复制, parent process , chi
2015-04-30 09:12:15 2253
原创 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
原创 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 917
原创 JOS 用户态page fault保护处理机制分析
JOS 用户态page fault保护处理机制分析常常会在用户态触发page fault,如果直接让其因为page fault跌入内核触发panic目测是不是"太残忍了"你想想,一个刚学会写C程序的童鞋,就经常干 *(int *)0x00.当然,我只是比较赤果果的表现而已,这位同学可能经常用各种指针,然后指针为初始化亦或等于NULL的时候,对其进行赋值或解引用.总不至于让一个刚
2015-04-25 18:38:56 2105
原创 基于JOS 80x86 的堆栈切换简要分析
基于JOS 80x86 的堆栈切换简要分析这个问题一直困扰很久,发现还是有点粗心,源头--堆栈初始化没怎么搞明白.这里首先强调,一定一定要搞清楚分段和分页保护的机制.现有分段,后有分页,分页可有可无,看寄存器cr0是否开启PE位(page enable. 在JOS系统的boot.S里就已经开启了)文章从三个方面对栈进行分析0. GDT 全局段寻址描述表
2015-04-25 16:20:04 1595
原创 JOS lab4 用户程序分析
JOS lab4 用户程序分析faultread.c faultdie.c:这两个用户程序一起分析左右两个用户程序,都试图对非法地址写入数据,但是左边的就会导致 page fault ,触发的是内核trap而后边的就会进入打印trap frame,导致系统挂掉,而右边的不会,右边的由于有用户空间的处理机制,还是建议自己一步步跟踪去看.faul
2015-04-24 22:43:33 2075
原创 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
原创 关于CSAPP 6.18的习题分析
关于CSAPP 6.18的习题分析下面的站点能找到我搜集的所有和CSAPP有关的学习资料.https://github.com/jasonleaster/CSAPP问题背景: 强调一下,问题的针对性很强.在这个题目里面,cache究竟遵循什么策略就是这个题目定的.其他的策略如果题目没说明,不考虑!题目旨
2015-04-22 01:02:48 2488 3
原创 JOS lab3 部分用户程序分析
JOS lab4 部分用户程序分析在lab 4的分支里面,会有各种好玩的用户程序.如下:觉得还是有必要一一对其进行简要的分析.自顶向下的了解OS的机制分析的用户程序顺序随意,不按照难度排序badsegment.c:这里的唯一一行嵌入式汇编尝试把 0x28这个数赋值给数据段寄存器 DS看这里Global describe t
2015-04-21 19:35:14 2674
原创 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
原创 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
原创 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
原创 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
原创 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 1148
原创 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 1025
原创 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 1181
原创 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 994
原创 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 1013
原创 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 1295
原创 LeetCode #Integer to Roman#
有点意思~ 只要相应的处理好对于 4 和 9 这两种特殊情况就好了.其他都是简单的加法好吧, 老老实实贴出我的解答, 好丑... 不够简洁.. 可以看皓神的解答...Python:"""Programmer : EOFDate : 2015.04.10File : itr.pyE-mail : ja
2015-04-10 17:39:06 883
原创 STL 源码分析 # stl_pair #
STL 源码分析 # stl_pair #pair是一种很简单也很常用的关联容器(associative container)./***********************************************Programmer : EOFDate : 2015.04.10File : pair.cppE-mail : jaso
2015-04-10 15:12:31 1115
原创 <<什么是数学>> 余数那些事儿
> 笔记 余数那些事儿今天又踩坑了,感觉各种问题递归下去有没个尽头的样子╮(╯_╰)╭还是要回归到数学的本质上来...只要说数学,你就会被高斯帅哭的...一般性的概念.只要碰到用一个固定的整数d,去除整数的问题,"同余"的概念和记法(高斯创造)使得这个推理简单而清楚.(伟大的人都是把复杂的问题简单化)
2015-04-10 13:29:55 1810 2
原创 STL 源码分析 # stl_number #
STL 源码分析 # stl_number #/***********************************************************Programmer : EOFe-mail : jasonleaster@gmail.comDate : 2015.04.04File : 6number.cpp********************
2015-04-09 17:54:58 856
原创 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 1107
CSAPP lab 5 实验指导书
2014-09-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人