资源简介
供初学者学习查看
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个文件信息
相关资源
- linux下获取CPU内存使用信息,网络流量
- Linux驱动,SPI驱动
- [野火]《RT-Thread 内核实现与应用开发
- linux驱动原子操作
- S32K14X芯片LIN驱动
- [野火®]《FreeRTOS 内核实现与应用开
- android和linux平台下的nanocom源码
- linux内核的裁剪和方法
- Linux网络编程.pdf(入门级教程)
- Linux TCP IP 协议栈分析.pdf
- opengl:基于linux下雷达ppi
- linux ymodem串口发送
- 基于x86 + linux 的堆栈回溯实验(xos_
- linux下用C编写的OCI连接Oracle数据库程
- linux c++实现https
- Linux操作系统下C语言编程入门.pdf
- gt9xx驱动代码linux
- SHT3X温湿度传感器驱动linux
- 传智播客2018c++全套讲义,c基础,c提
- linux上c++多线程
- linux内核源码
- Linux高性能服务器编程源码
- 课程设计:模拟Linux文件系统(源码
- Linux设备驱动开发详解:基于最新的
- 《鸟叔的私房菜(linux初学者必备)》
- 《鸟哥的Linux私房菜-基础篇》第四版
- 嵌入式linux 入门笔记.pdf
- Linux设备驱动程序(中文版第三版)
- ARM嵌入式Linux系统开发详解PPT
- 阿波罗STM32H7开发板 串口+收发测试解
评论
共有 条评论