jj_chen_lian
码龄13年
求更新 关注
提问 私信
  • 博客:38,521
    社区:2,509
    41,030
    总访问量
  • 62
    原创
  • 10
    粉丝
  • 12
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
加入CSDN时间: 2012-04-08
博客简介:

jj_chen_lian的专栏

查看详细资料
个人成就
  • 获得3次点赞
  • 内容获得1次评论
  • 获得8次收藏
  • 博客总排名1,425,259名
创作历程
  • 20篇
    2013年
  • 42篇
    2012年
成就勋章
TA的专栏
  • java&IO
    4篇
  • java&Thread
    5篇
  • java&非阻塞通讯
    4篇
  • 读how tomcat work有感
    13篇
  • java数据结构与算法
  • java
    3篇
  • erlang
    9篇
  • emacs
    4篇
  • Linux
    5篇
  • 操作系统
    12篇
  • python
    3篇

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 6

TA参与的活动 0

创作活动更多

新星杯·14天创作挑战营·第13期

这是一个以写作博客为目的的创作活动,旨在鼓励大学生博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。我们诚挚邀请你们参加为期14天的创作挑战赛!注: 1、参赛者可以进入活动群进行交流、互相鼓励与支持(开卷),虚竹哥会分享创作心得和涨粉心得,答疑及活动群请见:https://bbs.csdn.net/topics/619781944 【进活动群,得奖概率会更大,因为有辅导】 2、文章质量分查询:https://www.csdn.net/qc

75人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

linux下安装Adobe Reader

之前安装Adobe Reader都是下载安装包来进行安装,因为apt-get下没有Adobe Reader的源。现在想直接apt-get的方式来安装,那么需要增加Adoebe Reader的源进来。编辑/etc/apt/sources.list,增加源deb http://archive.canonical.com/ubuntu lucid partner,接着ap...
原创
博文更新于 2012.08.07 ·
455 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

python模块热更新

下面代码摘自web.py框架 selfimport sysimport osclass Reloader: if sys.platform.startswith('java'): SUFFIX = '$py.class' else: SUFFIX = '.pyc' def __init__(self)...
原创
博文更新于 2013.12.11 ·
426 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

python获取当前模块的名称

摘自web.py框架代码#!/usr/bin/env pythonimport sysimport osdef get_module(): def main_module_name(): mod = sys.modules['__main__'] file = getattr(mod, '__file__', None)...
原创
博文更新于 2013.12.11 ·
2023 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

python之yield用法

简单记录一下yield的用法,不说一堆的文字废话,直接从代码入手,下面的代码是摘自web.py框架中的代码  def group(seq, size): """ Returns an iterator over a series of lists of length size from iterable. >...
原创
博文更新于 2013.12.10 ·
491 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

于渊-动手写操作系统5

下面进行分页机制的实现,这里我们先来说说为什么要进行分页?我们看到分段机制已经提供了很好的保护机制,那为什么还要加上分页管理机制呢?其实它的主要目的在于实现虚拟存储器,线性地址中任意一个页都能映射到物理地址中的任何一个页,这无疑使得内存管理变得相当的灵活。逻辑地址------采用分段机制-------线性地址-------采用分页机制---------物理地址从上面看出如果有开启分页机...
原创
博文更新于 2013.08.14 ·
204 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

于渊-动手写操作系统4

操作系统版本五学习内容:现在我们开始从实模式到保护模式的跳跃了。下面我们先来说说什么是保护模式。之前我们的实模式的寄存器只有16位,那么它的寻址范围就是 段地址(16位)*16+偏移地址(16位),所以它的寻址能力是非常有限的,那么假如切换到保护模式去的话CPU就有巨大的寻址能力,那么有人就会问Intel为什么不设计32位的段寄存器呢,那是Intel想向下兼容以前那些采用16位寄存器设...
原创
博文更新于 2013.08.14 ·
228 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

于渊-动手写操作系统3

我们之前已经通过boot.asm成功的把loader.bin加载内存0900h:0100处了,那么我们现在就要来写真正的loader.asm了。loader.asm完成一下三件事:第一件事与boot.asm一样,通过遍历根目录区条目找到我们后面自己写的操作系统内核,即我们的kernel第二件事就是从实模式切换到保护模式第三件事就是启动分页机制第四件事就是把我们的kernel...
原创
博文更新于 2013.08.14 ·
203 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

于渊-动手写操作系统2

既然我们能够通过根目录条目找到DIR_FstClus了,这个字段告诉了我们文件开始的簇号,它告诉我们文件存放在磁盘的什么位置,从而让我们可以找到它。其实准确来说,这里应该是它告诉了我们文件存放在磁盘数据区的什么位置。需要注意的是,数据区的第一个簇的簇号是2,而不是0或者1.也就是说,如果我们在根目录条目中发现了一个文件,该文件的开始簇号是2,那么就是说,该文件的数据开始于数据区的第一个簇。...
原创
博文更新于 2013.08.14 ·
182 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

于渊-动手写操作系统1

总感觉小日本的书有点敷衍的感觉,很多重要的知识点的没有讲,后面发现国内也有一本不错的操作系统书,于渊写的,还不错,理论知识讲解的也很周到。所以下面打算先看于渊的书先。好了,先贴代码,加注释分析;%define _BOOT_DEBUG_ ; 做 Boot Sector 时一定将此行注释掉!将此行打开后用 nasm Boot.asm -o Boot.com 做成一个.COM文件易于调试...
原创
博文更新于 2013.08.13 ·
286 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

从你的u盘启动:30天自制操作系统第四天u盘启动学习笔记

文章转载自 http://blog.csdn.net/h397916230/article/details/9732425暑假学习小日本的那本书:30天自制操作系统更多学习中的问题、资料,群里分享developing environment:ubuntu 关于u盘启动自己做的操作系统的原因:       我想大部分分的学习者和写Os的人都有这样的想法,为什么现在大部分的...
原创
博文更新于 2013.08.04 ·
225 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

从你的u盘启动:30天自制操作系统第四天u盘启动学习笔记

文章转载自 http://blog.csdn.net/h397916230/article/details/9732425暑假学习小日本的那本书:30天自制操作系统更多学习中的问题、资料,群里分享developing environment:ubuntu 关于u盘启动自己做的操作系统的原因:       我想大部分分的学习者和写Os的人都有这样的想法,为什么现在大部分的...
原创
博文更新于 2013.08.04 ·
225 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

gas汇编改写

现在,我们来看看在linux平台上面怎么对之前实现的功能进行改写了。当然这里先说启动区加载程序跟在win下面是一样的代码的,不同的就是C调用汇编程序代码和汇编调用C代码这里不同。以及剩下的就是一些makefile文件的不同。我们重点放在C于汇编之间的调用,当然我们这里先不讲汇编是怎么调用C的,因为这一部分我也暂时还没看,我就先用米油给的一个entry.S来直接使用了,后面才对这一部分进行分析...
原创
博文更新于 2013.08.01 ·
284 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

画面显示

今天尝试将操作系统的开发移到linux平台过来,因为感觉在win下面做的很不爽。参与了米油的一些代码,总算成功了。那么下面开始今天的内容。1,用C语言实现内存写入往naskfunc.nas里添加的一个新的函数 _write_mem8: ;void write_mem8(int addr,int data); MOV ECX, [ESP+4] ;[ESP + 4]中存放的是地...
原创
博文更新于 2013.08.01 ·
178 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

启动程序装载器

下面开始我们新的一章的学习了。在这章开头,我先要吐槽一下这本书,我觉得这本在第三章,也就是第三天这里,感觉有些地方作者讲的很含糊,有的地方需要深入的讲解却没有,但是有很多所谓的“风趣”的话,但是我倒不觉得有多风趣,纯属吐槽。好了下面开始进入正文,在进入正文之前先讲解几个重要的概念启动区:(boot sector)软盘第一个的扇区成为启动区,就是0面0道1扇区。那么什么是扇区呢?计算...
原创
博文更新于 2013.07.31 ·
302 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

第一个hello world例子

上代码先:; hello-os; TAB=4 ORG 0x7c00 JMP entry DB 0x90 DB "HELLOIPL" DW 512 DB 1 DW 1 DB 2 DW 224 DW 2880 DB 0xf0 ...
原创
博文更新于 2013.07.28 ·
383 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

X86分段机制

内存分段机制有很多好处,不仅方便程序的重定位以及方便内存管理等等的好处,我们就从内存的重定位来分析分段机制的作用。指令和指令集:简单地说,处理器的设计者用某些数来指示处理器所进行的操作,这成为指令,或者叫机器指令,因为只有处理器才认得他们。比如,指令F4H表示让处理器停机,当处理器取到并执行这条指令后,就停止工作。指令是集中存放在内存里的,一条接着一条,处理器的工作是自动按顺序取出并加...
原创
博文更新于 2013.07.28 ·
259 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

用虚拟机软盘启动自己的磁盘镜像文件

经过一个月的挣扎,我决定还是静下心的来学习汇编和操作系统,然后进一步的巩固自己的底层知识。虽然这一块的工作确实不太好找,所以近期的任务就是读<<自制操作系统一书>>,另外就是继续完善自己的C服务器。所以以后的内容会围绕<<30天自制操作系统>>一书和<<x86汇编-从实模式到保护模式>>一书来记录。当然这里只是记录自己...
原创
博文更新于 2013.07.28 ·
991 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

erlang异步接收不到数据的问题

主要是利用rabbitmq的东西,贴出服务端代码listen代码gen_tcp:listen(Port, SocketOpts)SocketOpts = [ binary, {packet, 0}, %%{packet, 0}表示erlang系统会吧TCP数据原封不动地直接传送给应用程序 ...
原创
博文更新于 2013.06.09 ·
550 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

erlang digraph模块

digraph模块是对图结构的一种封装,主要的description请参考http://www.erlang.org/doc/man/digraph.html下面来看看digraph的一些方法:图结构无非就是由一些节点和边组成的,在digraph中有个Label的东西,这个其实就是图节点的附加信息,类似在C语言中在一个节点中放个指针,指向一些附加的信息。那么要创建图,就必须要先创建...
原创
博文更新于 2013.05.08 ·
469 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

The Erlang Parser之erl_parse

这篇续前一篇,来介绍erl_parse这个重头模块。先看看这个模块的三个重头方法:parse_form(Tokens) -> {ok, AbsForm} | {error, ErrorInfo}Types:Tokens = [token()]AbsForm = abstract_form()ErrorInfo = error_info()This fu...
原创
博文更新于 2013.05.05 ·
470 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多