E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
0.11
Linux 2.6 源码学习-概述
linux
0.11
版本就要复杂的多,虽然代码行也不超过15K,并且单个文件也没有超过1K(映像是大的也就7,800),但由于保护模式、设备驱动、文件系统、段页式内存
·
2015-10-31 11:26
linux
linux
0.11
源码学习(一)
本系列文章记录对linux
0.11
版本源码的学习,主要参考资料是赵炯的《Linux内核完全注释》。
·
2015-10-31 11:25
linux
Jabber 用户头像 vCard-base avatar JEP-0153
Jabber 用户头像保存另外一种方法 vCard-base avatar JEP-0153 psi使用的这种方法,不过要
0.11
以后的版本。
·
2015-10-31 10:47
tar
x01.os.20: compile linux-
0.11
on the ubuntu
为什么是 linux-
0.11
现在的 linux-3.18,近千万行代码,即使是 linus,也没有全部看完,更不用说拿来学习
·
2015-10-31 10:46
compile
x01.os.19: linux 0.0
linux 0.0 是一个丢失的版本,但赵炯老师又在 linux
0.11
的基础上,使它起死回生。www.oldlinux.org 有大量资源可供下载,值得一看。
·
2015-10-31 10:46
linux
发布 EasyTrac 0.1.0.11b3
因此现在发布 beta-3 版本,之后的下一个版本将会是 release,这会等到 Trac 发布
0.11
-release 之后进行,目前 trac-
0.11
的进度已经到达 97%,还有
·
2015-10-31 10:30
Trac
Android Studio升级后projectBuild failed.
gradle
0.11
.+ 错误信息: Error Info Error:(11
·
2015-10-31 10:14
android studio
终于配好了LXR
0.11
.今天做了个LXR。读代码方便一点。 #yum -y install perl-File-MMagic.noarch 下载glimpse-l
·
2015-10-31 10:28
r
[文摘20081021]明年粮食最低收购价将大幅提高 最高幅度达15.3%
从明年新粮上市起,白小麦、红小麦、混合麦最低收购价分别提高到0.87元、0.83元、0.83元,比今年分别提高0.10元、
0.11
元、
0.11
元,提高幅度分别为13%、15.3%、15.3%。
·
2015-10-31 09:58
2008
火爆天王追更器
起源: 《火爆天王》是我在看的一本小说,为了方便阅读器,自己做了一个Android版的阅读器,完成
0.11
版后提交到了安卓市场(下载);之后完成0.14版,再提交安卓市场,审核没有通过,原因是尺度太大
·
2015-10-31 09:58
Hive
0.11
安装配置学习笔记
转:http://springsfeng.iteye.com/blog/1734517 1 . 首先请安装好MySQL并修改root账户密码,使用root账户执行下面命令: su - root mysql &n
·
2015-10-28 07:07
hive
CSAPP:第二章 - 2.4 练习题答案
45 小数值 二进制表示 十进制表示 1/8 0.001 0.125 3/4 1/2+1/4 =
0.11
·
2015-10-27 15:21
APP
linux
0.11
源码学习(十三)
字符设备驱动 在linux
0.11
版本中,字符设备驱动源码分为三块:向上暴露的字符设备驱动接口tty_io.c与tty_ioctl.c,与块设备驱动一样,在字符驱动文件(read_write.c)操作中被调用
·
2015-10-27 14:24
linux
linux
0.11
源码学习(十一)
memory.c 在X86的保护模式中,线性地址由页目录表(10位)+页表(10位)+ 偏移(12位)组成,因此对线性地址而言可以寻址4G的地址空间。而实际中linux支持16M的内存,因此在memory.c或者说linux的内存管理模块中,维护了线性地址和实际物理地址的映射。本篇博客主要记录内存管理的几个主要函数学习。 下面几个宏定义可以看出物理页面的分配数: #define USED
·
2015-10-27 14:23
linux
linux
0.11
源码学习(十二)
对于块设备类这个分类主要针对如硬盘、软盘等以数据块为单位进行读写的设备,linux
0.11
这部分的代码主要有4个.c文件,ll_rw_blk.c(块设备读写封装)、h
·
2015-10-27 14:23
linux
linux
0.11
源码学习(十四)
文件系统综述 linux 文件系统是基于MINIX 1.0文件系统,这部分的代码量是整个内核里最大的,但代码结构对应着MINIX文件系统的构成,还是比较清晰易读的。 MINIX文件系统 MINIX的文件系统由以下几部分组成: 引导块:由BIOS自动读入的执行代码,这部分不在文件系统里描述; 超级块:存放盘设备上文件系统的信息,如逻辑块数、i节点数、最大文件长度等;对应结构体sup
·
2015-10-27 14:23
linux
linux
0.11
源码学习(十)
signal 信号是进程间通信的一种形式,signal文件实现信号处理的注册,以及信号处理函数的回调。 信号在任务中的结构定义: struct task_struct { //省略 struct sigaction sigaction[32]} //定义在signal.h中 struct sigaction { void (*sa_handl
·
2015-10-27 14:22
linux
linux
0.11
源码学习(九)
因此源码学习从sys_fork开始,代码如下: sys_fork: call find_empty_process //是否还能够创建进程,
0.11
默认最大进程数为64 testl
·
2015-10-27 14:22
linux
linux
0.11
源码学习(八)
shed.c sched实现内核的调度工作,最主要的是以下几个函数的实现: 初始化 void sched_init(void),完成工作如下: 设置TSS和LDT的描述符: set_tss_desc(gdt+FIRST_TSS_ENTRY,&(init_task.task.tss)); //初始化一个TSS se
·
2015-10-27 14:22
linux
linux
0.11
源码学习(六)
main.c main函数其实是内核的初始化,如果把内核功能比作业务软件的话,就相当于是业务的初始化,从该文件的文件夹归属(init文件夹)也可以看出这一点。 main主函数很短,从代码中可以基本看出整个内核的功能模块,如下: void main(void) { //略去一部分初值设置 mem_init(main_memory_start,m
·
2015-10-27 14:21
linux
linux
0.11
源码学习(七)
trap.c & Asm.s trap.c和Asm.s主要完成的是系统中断和陷阱的初始化定义。 注:在80386体系的CPU中中断描述符表替代了中断向量表,IDT的描述符可以是中断门、陷阱门或者任务门。IDT中的中断门和陷阱门的定义如下:BYTE0/1(偏移底字节),BYTE2/3(选择子)、BYTE4/5(属性)、BYTE6/7 (偏移高字节)。通过两个字节的段描述符合四个字节的偏移
·
2015-10-27 14:21
linux
linux
0.11
源码学习(五)
head.s head.s 是系统模块的入口,其编译器已经是GNU汇编,但从功能上将仍然属于内核启动阶段,主要的功能是对386 CPU的初始化,如用户堆栈、IDT、GDT和页表。因此从文件夹的归属看,它仍然放在boot文件夹中,与bootsect和setup一块。head.s的核心功能(简单的寄存器初始化不做赘述)如下: 初始化堆栈寄存器:lss stack_start, %esp,其中
·
2015-10-27 14:21
linux
linux
0.11
源码学习(四)
setup.s 在setup中最主要的工作是使系统进入保护模式,并转入system模块具体如下: 通过BIOS中断读取系统数据,如光标、显卡、硬盘等信息,这些信息存放至内存0x9000至0x901FC处,典型代码如下: ! ok, the read went well so we get current cursor position and save it for ! pos
·
2015-10-27 14:20
linux
linux
0.11
源码学习(三)
bootsect.s bootsect完成的是整个内核的引导工作,简单的说就是将内核镜像中的bootsect、setup、system三部分从引导盘拷贝到内存的指定位置(当然对bootsect自己其实是已经被BIOS自动拷贝到内存0x7C00处,所以应该只能算是位置的搬迁)。bootsect依次做了如下工作: 启动后首先将bootsect自身的512字节目标程序拷贝至0x9000;
·
2015-10-27 14:20
linux
linux
0.11
源码学习(二)
linux
0.11
的运行 linux
0.11
版本的编译和运行可以基于bochs,个人参考的是赵博的文章,主要是三块工作: 制作linux镜像,按要求修改makefile后,可以直接在redhat
·
2015-10-27 14:19
linux
X86系列CPU 注记(二)
PS:记得当时啃linux
0.11
版本操作系统源码,最难过的入门坎有三个:AT&T的内联汇编,i386的保
·
2015-10-27 14:14
cpu
金山词霸字典转换工具
有个牛人制作的 KSDcrack.exe --金山词霸的DIC词典导出程序v
0.11
(命令行版)大家可以试试其他版本。下载地址:http://free5.ys168.com/?
·
2015-10-27 14:53
金山
hive insert directory指定分隔符
hiveinsertdirectory指定分隔符1.hive
0.11
以前的版本 hive
0.11
以前的版本不支持insertdirectory后面指定分隔符,但可以通过concat方式来完成 如: insertoverwritedirectory'hdfs
wangjin161
·
2015-10-27 11:00
js 字符串转 数字
<html> <body> <script language="javascript"> var a = "
0.11
";
·
2015-10-23 09:56
字符串
linux
0.11
文件分析
在kernel包中有几个重要的文件夹和文件,他们各司其职,处理着有关内核的一些功能操作。其中文件夹有三个:blk_drv(块设备驱动),chr_drv(字符设备驱动),math(数学协处理器) 文件中asm.s fork.c mktime.c panic.c printk.c sched.c signa
·
2015-10-23 08:17
linux
利用bochs调试内核
有关Bochs调试功能的说明参见前面14.2节,这里基于Linux
0.11
内核来说明Windows环境下Bochs系统调试操作的基本方法。
·
2015-10-21 12:31
调试
彩色图转化成灰度图
加权法就是 GRAY==0.3*R+0.59*G+
0.11
*B 均值法就是 GRAY==(R+G+B)/3 最大值发就是 max(R,G,B) A=imread
·
2015-10-21 12:34
转化
继承自java.util.Calendar的200年农历
Update:
0.11
2009-12-27 - 修复了获取中文农历时未计算农历日期的问题; - 加入一个字段CHINESE_TERM_OR_DATE用于模仿台历的显示方式:如果当天有节气则指示节气
·
2015-10-21 12:53
calendar
linux
0.11
内核学习 -- block_dev.c
/* * 该文件的两个函数是为了向open和write函数提供接口,实现内核数据 * 和用户数据的交互 */ /* * linux/fs/block_dev.c * * (C) 1991 Linus Torvalds */ #include <err
·
2015-10-21 11:11
linux
linux
0.11
内核学习 -- head.s
# # 这段代码被连接到system模块的最前面,这也是它为什么称之为head.s的原因。 # 从这里开始内核完全运行在保护模式下。head.s采用的是at&t格式的 # 汇编。注意的是代码中的赋值方向是从左到右。 # # 这段程序实际上是出于内存的绝对地址0开始处。首先是加载各个数据段寄存器。 # 重新设置全局描述符表gdt --> 检测a20地址线是
·
2015-10-21 11:11
linux
linux
0.11
内核学习 -- bitmap.c
/* * linux/fs/bitmap.c * * (C) 1991 Linus Torvalds */ /* bitmap.c contains the code that handles the inode and block bitmaps */ #include <string.h
·
2015-10-21 11:11
bitmap
linux
0.11
内核学习 -- inode.c
/* * linux/fs/inode.c * * (C) 1991 Linus Torvalds */ #include <string.h> #include <sys/stat.h> // 文件状态头文件 #include <linux/sched.h&
·
2015-10-21 11:10
linux
linux
0.11
内核学习 -- fcntl.c
/* * linux/fs/fcntl.c * * (C) 1991 Linus Torvalds */ #include <string.h> #include <errno.h> #include <linux/sched.h> #include <
·
2015-10-21 11:10
linux
linux
0.11
内核学习 -- ioctl.c
/* * ioctl.c 文件实现了输入/输出控制系统调用ioctl(),该函数 * 主要是调用函数tty_ioctl()对终端的IO进行控制 */ /* * linux/fs/ioctl.c * * (C) 1991 Linus Torvalds */
·
2015-10-21 11:09
linux
linux
0.11
内核学习 -- exec.c
/* * 该文件主要是实现do_execve函数,主要是实现对于二进制文件的加载执行 * 和shell脚本文件的加载执行 */ /* * linux/fs/exec.c * * (C) 1991 Linus Torvalds */ /* *
·
2015-10-21 11:05
linux
linux
0.11
内核学习 -- truncate.c
/* * 该文件主要实现的是truncate函数,该函数是释放指定i * 节点在设备上占用的所有逻辑块,包括直接块、一次间 * 接块和二次间接块 */ /* * linux/fs/truncate.c * * (C) 1991 Linus Tor
·
2015-10-21 11:04
truncate
linux
0.11
内核学习 -- read_write.c
/* * 该文件实现系统调用read,write和lseek。 */ /* * linux/fs/read_write.c * * (C) 1991 Linus Torvalds */ #include <sys/stat.h> #include <
·
2015-10-21 11:03
linux
linux
0.11
内核学习 -- buffer.c
/* * buffer.c 程序用于对高速缓冲区(池)进行操作和管理。高速缓冲 * 区位于内核代码和主内存区之间。 * * |---|---|------------------|---------------------|-------------------| * | | &nbs
·
2015-10-21 11:03
buffer
linux
0.11
内核学习 -- char_dev.c
/* * linux/fs/char_dev.c * * (C) 1991 Linus Torvalds */ #include <errno.h> #include <sys/types.h> // 定义了基本的系统数据类型 #include <linux/sch
·
2015-10-21 11:03
linux
linux
0.11
内核学习 -- pipe.c
/* * 该文件中的两个函数read_pipe和write_pipe是上层函数 * read和write的底层实现 */ /* * linux/fs/pipe.c * * (C) 1991 Linus Torvalds */ #include <si
·
2015-10-21 11:02
linux
linux
0.11
内核学习 -- namei.c。
文件可能比较长,呵呵。 /* * linux/fs/namei.c * * (C) 1991 Linus Torvalds */ /* * Some corrections by tytso. */ #include <linux/sched.h> #i
·
2015-10-21 11:02
linux
linux
0.11
内核学习 -- file_dev.c
/* * linux/fs/file_dev.c * * (C) 1991 Linus Torvalds */ #include <errno.h> #include <fcntl.h> #include <linux/sched.h> #include &
·
2015-10-21 11:02
linux
linux
0.11
文件系统(一)
0.11
版的内核中采用了minix1.0版的文件系统。在最新的2.6版内核中,借助于 VFS,系统支持50多种文件系统。首先介绍一下minix文件系统minix文件系统和标准unix文件系统基本相同。
·
2015-10-21 11:01
linux
linux
0.11
文件系统(二)
超级块描述了整个文件系统的信息,而文件作为存储的对象,它的信息是有inode节点来描述的。i节点位图描述了inode的使用情况。struct m_inode{ unsigned short i_mode; //文件类型 &n
·
2015-10-21 11:01
linux
linux
0.11
文件系统(三)
目录项和超级块,节点的概念不同,它在设备上没有对应的磁盘数据结构。相反,它是目录文 件的一部分。linux中目录也是一种文件,类型是'd'。但是目录中的内容和普通文件不同,它是由目录项组成的。注意目录项不是目录。我们经常用路径名 执行相关操作,目录项就是为了查找方便的。struct dirt_entry{  
·
2015-10-21 11:00
linux
上一页
26
27
28
29
30
31
32
33
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他