• 大小: 0.13M
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-02-23
  • 标签: linux  LIN  内核  

资源简介

供初学者学习查看

Linux系统目前发展的如火如荼不管是在嵌入式领域,还是服务器,甚至个人PC都有广泛使用,由此引无数英雄好汉相继加入学习Linux的行列,而这其中定有人想一探Linux内核的究竟。

但是现在Linux内核版本已经5.3.5的版本了,内核相当庞大,几百万行的代码,并不能轻松的阅读。而早期的Linux内核源码比如0.11版本的,代码数量较少不到两万行,而且几乎就是现在内核的精简版本,基本功能原理与内容也都包含,因此非常适合学习。(0.11之前的源码都已丢失,现存的0.10是Ted Ts'o保存下来的,0.11更完善一些)

而且源码面前,了无秘密。相信在读懂源码之后可以对自己的知识能力和解决问题的能力可以更上一层楼,更了解操作系统的原理与设计,深入理解底层的机制,这绝对是内功。

资源截图

代码片段和文件信息

/*
 *  linux/fs/bitmap.c
 *
 *  (C) 1991  Linus Torvalds
 */

/* bitmap.c contains the code that handles the inode and block bitmaps */
#include 

#include 
#include 

#define clear_block(addr) \
__asm__(“cld\n\t“ \
“rep\n\t“ \
“stosl“ \
::“a“ (0)“c“ (BLOCK_SIZE/4)“D“ ((long) (addr)):“cx““di“)

#define set_bit(nraddr) ({\
register int res __asm__(“ax“); \
__asm__ __volatile__(“btsl %2%3\n\tsetb %%al“: \
“=a“ (res):“0“ (0)“r“ (nr)“m“ (*(addr))); \
res;})

#define clear_bit(nraddr) ({\
register int res __asm__(“ax“); \
__asm__ __volatile__(“btrl %2%3\n\tsetnb %%al“: \
“=a“ (res):“0“ (0)“r“ (nr)“m“ (*(addr))); \
res;})

#define find_first_zero(addr) ({ \
int __res; \
__asm__(“cld\n“ \
“1:\tlodsl\n\t“ \
“notl %%eax\n\t“ \
“bsfl %%eax%%edx\n\t“ \
“je 2f\n\t“ \
“addl %%edx%%ecx\n\t“ \
“jmp 3f\n“ \
“2:\taddl $32%%ecx\n\t“ \
“cmpl $8192%%ecx\n\t“ \
“jl 1b\n“ \
“3:“ \
:“=c“ (__res):“c“ (0)“S“ (addr):“ax““dx““si“); \
__res;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-10-15 14:54  Linux-0.11code-master\
     文件        2887  2019-10-15 14:54  Linux-0.11code-master\Makefile
     文件        3963  2019-10-15 14:54  Linux-0.11code-master\README.md
     目录           0  2019-10-15 14:54  Linux-0.11code-master\boot\
     文件        5052  2019-10-15 14:54  Linux-0.11code-master\boot\bootsect.s
     文件        5938  2019-10-15 14:54  Linux-0.11code-master\boot\head.s
     文件        5364  2019-10-15 14:54  Linux-0.11code-master\boot\setup.s
     目录           0  2019-10-15 14:54  Linux-0.11code-master\fs\
     文件        5053  2019-10-15 14:54  Linux-0.11code-master\fs\Makefile
     文件        4042  2019-10-15 14:54  Linux-0.11code-master\fs\bitmap.c
     文件        1422  2019-10-15 14:54  Linux-0.11code-master\fs\block_dev.c
     文件        9072  2019-10-15 14:54  Linux-0.11code-master\fs\buffer.c
     文件        2103  2019-10-15 14:54  Linux-0.11code-master\fs\char_dev.c
     文件        9134  2019-10-15 14:54  Linux-0.11code-master\fs\exec.c
     文件        1455  2019-10-15 14:54  Linux-0.11code-master\fs\fcntl.c
     文件        1852  2019-10-15 14:54  Linux-0.11code-master\fs\file_dev.c
     文件         122  2019-10-15 14:54  Linux-0.11code-master\fs\file_table.c
     文件        6933  2019-10-15 14:54  Linux-0.11code-master\fs\inode.c
     文件         977  2019-10-15 14:54  Linux-0.11code-master\fs\ioctl.c
     文件       16562  2019-10-15 14:54  Linux-0.11code-master\fs\namei.c
     文件        4340  2019-10-15 14:54  Linux-0.11code-master\fs\open.c
     文件        2385  2019-10-15 14:54  Linux-0.11code-master\fs\pipe.c
     文件        2802  2019-10-15 14:54  Linux-0.11code-master\fs\read_write.c
     文件        1175  2019-10-15 14:54  Linux-0.11code-master\fs\stat.c
     文件        5628  2019-10-15 14:54  Linux-0.11code-master\fs\super.c
     文件        1148  2019-10-15 14:54  Linux-0.11code-master\fs\truncate.c
     目录           0  2019-10-15 14:54  Linux-0.11code-master\include\
     文件        6047  2019-10-15 14:54  Linux-0.11code-master\include\a.out.h
     目录           0  2019-10-15 14:54  Linux-0.11code-master\include\asm\
     文件         477  2019-10-15 14:54  Linux-0.11code-master\include\asm\io.h
     文件         507  2019-10-15 14:54  Linux-0.11code-master\include\asm\memory.h
............此处省略85个文件信息

评论

共有 条评论