- 博客(11)
- 收藏
- 关注
原创 Bash的启动文件
Bash的启动文件/bin/bash这个命令解释程序(后面简称shell)使用了一系列启动文件来建立一个运行环境。每一个文件都有特殊的功用并对登陆和交互环境有不同的影响。一个交互的登陆shell会在 /bin/login 成功登陆之后运行。一个交互的非登陆shell是通过命令行来运行的,如[prompt]$/bin/bash。一般一个非交互的shell出现在运行shell脚本的时候。之所以叫非交互
2005-12-26 14:55:00 1208
原创 Linux最新稳定内核2.4.x的网络接口源码的结构(一)
转贴于http://www.linuxbyte.net/view.php?skin=art&ID=3401李元佳 一.前言 Linux的源码里,网络接口的实现部份是非常值得一读的,通过读源码,不仅对网络协议会有更深的了解,也有助于在网络编程的时候,对应用函数有更精确的了解和把握。 本文把重点放在网络接口程序的总体结构上,希望能作为读源码时一些指导性的文字。 本文以Linux2.4.
2005-10-08 14:01:00 708
原创 分析内核初始化时根内存盘的加载过程
此文章转贴自http://www.linuxforum.net/forum/showflat.php?Cat=&Board=linuxK&Number=107845&page=0&view=collapsed&sb=5&o=7&part=概述====1)当内核配置了内存盘时, 内核在初始化时可以将软盘加载到内存盘中作为根盘.当同时配置了初始化内存盘(Initail RAM Disk)时, 内核在初
2005-09-12 15:07:00 2205
原创 Linux内核的时钟中断机制(8)
7.8 时间系统调用的实现 本节讲述与时间相关的syscall,这些系统调用主要用来供用户进程向内核检索当前时间与日期,因此他们是内核的时间服务接口。主要的时间系统调用共有5个:time、stime和gettimeofday、settimeofday,以及与网络时间协议NTP相关的adjtimex系统调用。这里我们不关心NTP,因此仅分析前4个时间系统调用。前4个时间系统调用可以分为两组:(1)t
2005-09-12 15:05:00 1306
原创 Linux内核的时钟中断机制(7)
7.7 进程间隔定时器itimer 所谓“间隔定时器(Interval Timer,简称itimer)就是指定时器采用“间隔”值(interval)来作为计时方式,当定时器启动后,间隔值interval将不断减小。当interval值减到0时,我们就说该间隔定时器到期。与上一节所说的内核动态定时器相比,二者最大的区别在于定时器的计时方式不同。内核定时器是通过它的到期时刻expires值来计时的,当
2005-09-12 15:04:00 906
原创 Linux内核的时钟中断机制(5)
7.5 时钟中断的Bottom Half 与时钟中断相关的Bottom Half向两主要有两个:TIMER_BH和TQUEUE_BH。与TIMER_BH相对应的BH函数是timer_bh(),与TQUEUE_BH对应的函数是tqueue_bh()。它们均实现在kernel/timer.c文件中。 7.5.1 TQUEUE_BH向量 TQUEUE_BH的作用是用来运行tq_timer这个任务队列中的
2005-09-12 15:03:00 1559
原创 Linux内核的时钟中断机制(6)
7.6 内核定时器机制 Linux内核2.4版中去掉了老版本内核中的静态定时器机制,而只留下动态定时器。相应地在timer_bh()函数中也不再通过run_old_timers()函数来运行老式的静态定时器。动态定时器与静态定时器这二个概念是相对于Linux内核定时器机制的可扩展功能而言的,动态定时器是指内核的定时器队列是可以动态变化的,然而就定时器本身而言,二者并无本质的区别。考虑到静态定时器机
2005-09-12 15:03:00 1543 1
原创 Linux内核的时钟中断机制(3)
7.3 Linux对时间的表示 通常,操作系统可以使用三种方法来表示系统的当前时间与日期:①最简单的一种方法就是直接用一个64位的计数器来对时钟滴答进行计数。②第二种方法就是用一个32位计数器来对秒进行计数,同时还用一个32位的辅助计数器对时钟滴答计数,之子累积到一秒为止。因为232超过136年,因此这种方法直至22世纪都可以让系统工作得很好。③第三种方法也是按时钟滴答进行计数,但是是相对于系统启
2005-09-12 15:01:00 1504
原创 Linux内核的时钟中断机制(4)
7.4 时钟中断的驱动 如前所述,8253/8254 PIT的通道0通常被用来在IRQ0上产生周期性的时钟中断。对时钟中断的驱动是绝大数操作系统内核实现time-keeping的关键所在。不同的OS对时钟驱动的要求也不同,但是一般都包含下列要求内容: 1. 维护系统的当前时间与日期。 2. 防止进程运行时间超出其允许的时间。 3. 对CPU的使用情况进行记帐统计。 4. 处理用户进程发出的时间系统
2005-09-12 15:01:00 1683
原创 Linux内核的时钟中断机制(2)
7.2 Linux内核对RTC的编程 MC146818 RTC芯片(或其他兼容芯片,如DS12887)可以在IRQ8上产生周期性的中断,中断的频率在2HZ~8192HZ之间。与MC146818 RTC对应的设备驱动程序实现在include/linux/rtc.h和drivers/char/rtc.c文件中,对应的设备文件是/dev/rtc(major=10,minor=135,只读字符设备)。因此
2005-09-12 15:00:00 1179
原创 Linux内核的时钟中断机制(01)
此贴转自http://www.linuxforum.net/forum/gshowflat.php?Cat=&Board=driver&Number=385219&page=0&view=collapsed&sb=5&o=all&fpart=第七章 Linux内核的时钟中断 (By 詹荣开,NUDT) opyright © 2003 by 詹荣开 E-mail:zhanrk@sohu.c
2005-09-09 12:47:00 1123
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人