当前位置:  建站>运营/SEO
本页文章导读:
    ▪ubuntu设置固定IP      1.设置IP vi /etc/network/interface vi /etc/network/interfaces auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.2.101 netmask 255.255.255.0 gateway 192.168.2.1   2.设置DNS,设置成功才可以上网 vi /etc/re.........
    ▪【Linux操作系统分析】定时测量——RTC,TSC,PIT,jiffies,计时体系结构,延迟函数      1 基本概念 定时机制连同一些更可见的内核活动(如检查超时)来驱使进程切换。 两种主要的定时测量: 保存当前的时间和日期,以便能通过time(), ftime()和gettimeofday()系统调用把它们返回给.........
    ▪mod_fcgid指令的中文翻译         FcgidBusyScanInterval指令 说明:扫描繁忙超时进程的间隔 语法: FcgidBusyScanInterval seconds 默认:FcgidBusyScanInterval 120 环境: 服务器配置 状态:外部 对应的老指令:BusyScanInte.........

[1]ubuntu设置固定IP
    来源: 互联网  发布时间: 2013-10-31

1.设置IP

vi /etc/network/interface

vi /etc/network/interfaces

auto lo
iface lo inet loopback
 
auto eth0
iface eth0 inet static
address 192.168.2.101
netmask 255.255.255.0
gateway 192.168.2.1 

 

2.设置DNS,设置成功才可以上网
vi /etc/resolv.conf 

nameserver 10.10.10.15
nameserver 10.10.10.16 
3.重启路由生效设置
/etc/init.d/networking restart
PS: 有的教程里面是用/etc/network/interface,但我装好以后只有原始的/etc/network/interfaces文件。我索性两个都设置了。
作者:hongqishi 发表于2013-6-4 10:30:39 原文链接
阅读:84 评论:1 查看评论

    
[2]【Linux操作系统分析】定时测量——RTC,TSC,PIT,jiffies,计时体系结构,延迟函数
    来源: 互联网  发布时间: 2013-10-31
1 基本概念

定时机制连同一些更可见的内核活动(如检查超时)来驱使进程切换。

两种主要的定时测量:

  • 保存当前的时间和日期,以便能通过time(), ftime()和gettimeofday()系统调用把它们返回给用户程序。
  • 维持定时器,这种机制能够告诉内核或用户程序某一时间间隔已经过去了。

定时测量是由基于固定频率振荡器和计数器的几个硬件电路完成的。


2 时钟和定时器电路

时钟电路用于跟踪当前时间和产生精确的时间度量。

定时器电路由内核编程,所以它们以udingde,预先定义的频率发出中断。

时钟电路的分类

  • 用于跟踪当前时间
    • 实时时钟RTC
    • 时间戳计数器TSC
  • 产生周期性的时钟中断,用于计时
    • 可编程间隔定时器PIT


2.1 实时时钟RTC——IRQ8上产生中断

当PC被切断电源,RTC还继续工作。

内核通过0x70和0x71I/O端口访问RTC。

能在IRQ8上发出周期性的中断,频率在2HZ~8192HZ之间,可编程


2.2 时间戳计数器TSC

在80x86微处理器中,有一个CLK输入引线接收外部振荡器的时钟信号。TSC在每个时钟信号到来时加1.

TSC是一个64位的时间戳计数器寄存器,汇编指令rdtsc读这个寄存器。Linux在初始化时系统时必须确定时钟信号的频率。


获得tsc的时钟频率:calibrate_tsc()函数通过计算一个大约在5ms的时间间隔内所产生的时钟信号的个数来算出CPU实际频率。

Linux通过rdtscll()或rdtscl()用来读取TSC的事。

与可编程间隔定时器相比,TSC可以获得更精确的时钟。


2.3 可编程间隔定时器PIT

使用I/O端口0x40~0x43

LInux给PC的第一个PIT进行编程,使它以大于1000Hz的频率向IRQ0发出时钟中断,即每1ms产生一次时钟中断,这个时间间隔叫做一个节拍(tick),它的长度以纳秒为单位存放在tick_nsec变量中。


由setup_pit_timer()进行初始化。在init_pit_timer()中初始化时钟中断频率。

与系统时钟信号有关的宏定义:

(1)宏定义Hz

在不同的体系机构下,系统时钟所要求的可编程定时器中断的频率,即每秒tick的个数

(2)宏定义CLOCK_TICK_RATE

记录了不同体系结构下,驱动可编程定时器工作的输入时钟频率

(3)宏定义LATCH

记录了上述两个宏定义的比值,用于在内核初始化过程中设置可编程定时器中计数器寄存器counter的初始值。


3 Linux计时体系结构

LInux的计时体系结构是一组与时间流相关的内核数据结构和函数。

功能:

  • 更新自系统启动以来所经过的时间
  • 更新时间和日期
  • 确定当前进程的执行时间,考虑是否要抢占
  • 更新资源使用统计计数
  • 检查到期的软定时器

内核有两个基本的计时函数:

  • 保持当前最新的时间
  • 计算在当前秒内走过的纳秒数

在单处理器系统中,所有定时活动都由IRQ0上的时钟中断触发,包括:

  • 在中断中立即执行的部分
  • 作为下半部分延迟执行的部分

3.1 计时体系结构的数据结构 3.1.1定时器对象(时钟源)

为了使用一种统一的方法来处理可能存在的定时器资源,内核使用能够了“定时器对象”,它是timer_opts类型的一个描述符。其中最重要的两个方法:

mark_offset:由时钟中断处理程序调用,并以适当的数据结构记录每个节拍到来时的准确时间。

get_offset:使用已记录的值来计算上一次时钟中断(节拍)以来经过的时间。

这两种方法,使得Linuxd计时体系结构能够打到子节拍的分辨率,也就是说,内核能够以比节拍周期更高的精度来测定当前的时间,这种操作被称为“定时插补”。


在内核初始化期间,select_timer()函数设置cur_timer指向适当定时器对象(时钟源)的地址。变量timer_cur存放了某个定时器对应的那个的地址,该定时器是系统可利用的定时器资源中最好的。





3.1.2jiffies变量

一个计数器,用来记录自系统启动以来产生的节拍总数。

因为一秒钟内产生系统时钟中断次数等于宏定义HZ的值,所以变量jiffies的值在一秒内增加HZ。


3.1.3xtime变量

xtime变量存放当前时间和日期,它是一个timespec类型的数据结构。以便内核对某些对象和事件作时间标记,如记录文件的创建时间、修改时间、上次访问时间,或者供用户进程通过系统调用来使用。

基本每个tick更新一次。


3.2 单处理器系统上的计时体系结构

考点:tick_handle_periodic函数的功能(Linux的计时体系结构的功能)


tick_init调用clockevents_tegister_notifier注册tick_notifier到clockevents_chain上。

Update_wall_time()完成变量xtime的更新。

time_init_hook()来设置系统时钟中断处理程序。


在时钟中断处理函数中:

会调用tick_init函数,书上很多流程中的函数最终都是被这个函数所调用,流程如下:



4 软定时器和延迟函数

软定时器:

  • 动态定时器(内核)
  • 间隔定时器(可以用户)

动态定时器:被动态的创建和撤销,当前活动的动态定时器个数没有限制

定时器是一种软件功能,即允许在将来的某个时刻,函数在给定的时间间隔用完时被调用。每个定时器都包含一个字段,表示定时器将需要多长时间才到期。这个字段的初值就是jiffies的当前值加上合适的节拍数。

注意,对于必须严格遵守定时时间的那些实时应用而言,定时器并不适合,因为定时器的检查总是由可延迟函数进行。



4.1创建并激活一个动态定时器——init_timer初始化一个time_list对象

  • 创建一个新的timer_list对象
  • 调用init_timer初始化,并设置定时器要处理的函数和参数
  • 设置定时时间
  • 使用add_timer加入到合适的链表中
具体的步骤:

4.2动态定时器的数据结构
用于和系统核心变量jiffies进行比较。
  • 成员变量function:该函数指针变量保存了内核定时器超时后要执行的函数,即定时器超时处理函数。
  • 成员变量data:该无符号长整型变量用作定时器超时处理函数的参数。
  • 成员变量base:该指针变量表明了该内核定时器节点归属于系统中哪一个处理器,在使用函数init_timer()初始化内核定时器节点的过程中,将该指针指向了一个每处理器变量tvec_bases的成员变量t_base。
4.3动态定时器的维护


run_timer的主要功能

  • 定时器时间表示参数加一
  • 处理的定时器去除
  • 依次处理到期定时器

动态定时器应用之delayed work

动态定时器应用之schedule_timeout:  setup_time_on_stack(&timer, process_timeout, (unsigned long)current);  timer时间到了之后,process_timeout函数将当前进程变为等待态。

  

4.4延迟函数:

当内核需要等待一个较短的时间间隔,如几毫秒,通常设备驱动器会等待预先定义的整个微秒直到硬件完成某些操作。这些情况下,内核使用udelay()和ndelay()函数:前者接收一个微秒级的时间间隔作为它的参数,并在指定的延迟结束后返回,后者与前者类߬

    
[3]mod_fcgid指令的中文翻译
    来源: 互联网  发布时间: 2013-10-31

 

FcgidBusyScanInterval指令

说明:扫描繁忙超时进程的间隔

语法: FcgidBusyScanInterval seconds

默认:FcgidBusyScanInterval 120

环境: 服务器配置

状态:外部

对应的老指令:BusyScanInterval

该模块将执行FcgidBusyTimeout检查,在此区间。

FcgidBusyTimeout 指令

说明: 杀死处理请求超过FcgidBusyTimeout设置的时间后的FastCGI应用程式

语法: FcgidBusyTimeout seconds

默认:FcgidBusyTimeout 300

环境: 服务器配置,虚拟主机

状态:外部

对应的老指令:BusyTimeout

这是处理请求的最大时间限制。如果FastCGI请求超过了FcgidBusyTimeou设置的秒数,请求将会终止。而检查进行的时间将由FcgidBusyScanInterval定义,请求处理在设置的时间内有效。本指令的目的是终止挂起的应用程序。默认的超时时间,可能需要增加应用程序,可以采取更长的时间来处理请求。

<ifmodule mod_fcgid.c>

FcgidBusyScanInterval 120   #与FcgidBusyTimeout对应,每120秒进行一次检查

FcgidBusyTimeout 300  #超过300秒的fastcgi请求将被终止

</ifmodule>

 

 

FcgidConnectTimeout指令

说明: Fastcgi的服务在等待设置的时间参数后超时(Fastcgi连接超时)

语法: FcgidConnectTimeout seconds

默认:FcgidConnectTimeout 3

环境: 服务器配置,虚拟主机

状态:外部

对应的老指令:IPCConnectTimeout

这是Fastcgi这个模块在windows中当它试图连接一个应用的时候设置的一个最大的周期时间,当等待时间超过了这个时间,将会出现超时。(此指令不适应在UNIX)

 

 

FcgidErrorScanInterval指令

说明: 在间隔的时间内进行扫描退出挂起的进程

语法: FcgidErrorScanInterval seconds

默认:FcgidErrorScanInterval3

环境: 服务器配置

状态:外部

对应的老指令:ErrorScanInterval

这是间隔模块将处理挂起的进程终止。 终止其中已超过FcgidIdleTimeout或FcgidProcessLifeTime任何进程正在等待。

 

FcgidIdleScanInterval指令

说明: 空闲超时过程的扫描间隔

语法

    
最新技术文章:
▪SQVI和SAP查询QUERY的区别和使用注意事项    ▪彻底理解Cisco/Linux/Windows的IP路由    ▪Exchange 2010 处于禁止发送用户自动收到来自IT...
▪MB_CHANGE_DOCUMENT使用方法    ▪ALV的html表头    ▪【译】如何精确判断最终用户响应时间过长的...
▪apache2.4.4启用deflate压缩    ▪使用vmware 配置centos 6.0+ 网络出现的各种问题...    ▪十句话教你学会Linux数据流重定向
▪centos6.x已经安装的系统添加图形界面    ▪Linux查看CPU和内存使用情况    ▪win7问题解决,凭据管理器和无法访问,不允...
▪Dynamics CRM 2013 初体验(4):不再被支持的功...    ▪win7下制作ubuntu系统安装启动盘和U盘安装ubuntu...    ▪Linux cp -a用法
▪Windows Server时间服务器配置方法    ▪Tomcat+memcached实现Session共享    ▪Linux修改系统环境变量PATH路径的方法
▪Citrix 服务器虚拟化之二十七 XenApp6.5发布服务...    ▪搭建本地Ubuntu 镜像服务器    ▪Create local metadata resource of yum
▪tsm ANS0326E问题处理    ▪Windows SVN变化邮件通知(Python2.7实现)    ▪linux下的内核测试工具——perf使用简介
▪Nginx TCP Proxy模块的编译安装    ▪OSX: SSH密钥使用日记(2)    ▪OSX: SSH密钥使用日记(1)
▪Manually start and stop Oracle XE in Ubuntu    ▪Disable autostart of Oracle-xe in Ubuntu    ▪tar命令-linux
▪xtrabackup-2.1.2-611安装    ▪无废话ubuntu 13.4文件共享配置    ▪Unix文本处理工具之sed
▪hpux 操作系统 磁带备份与恢复    ▪HP DL360 G7通过iLO部署系统    ▪Redhat 6.0中VNC Server的配置方法
▪hpux 操作系统磁带备份与恢复    ▪用C++编程调用libvirt的API来创建KVM虚拟机    ▪hpux- hp小型机日常硬件故障处理case(一)
▪web集群时session同步的几种方法(统计)    ▪inux常用命令大全    ▪BAT 批处理实现循环备份N天文件夹
▪BIND9私有DNS服务器小环境搭建实验    ▪Exchange2013增量备份    ▪OSSEC Monitor your App log file
▪《深入理解Nginx》阅读与实践(三):使用upstre...    ▪如何给Fedora 15创建磁盘分区    ▪Packet Sniffer Code in C using sockets
▪Error, some other host already uses address    ▪修改uCOS_II以实现“优先级+时间片”联合调度    ▪weblogic开发模式与生产模式介绍
▪Wireshark 高级特性    ▪ubuntu13.04版本下安装RabbitVCS,类似windows的Tortoi...    ▪Apache 一台主机绑定多个域名及虚拟主机
▪linux安全设置    ▪RHEL双网卡绑定    ▪Linux shell if参数
▪Windows配置路由时可以指定源地址啦    ▪centos安装vim7.4    ▪S3C2410 实验三——块拷贝、字拷贝(寄存器的...
▪系统运维——日志处理    ▪ip_conntrack缓存neighbour    ▪关键在封装并发出了帧-IP冲突也无所谓
▪weblogic11g 安装——linux 无图形界面    ▪《数据通信与网络》笔记--SCTP    ▪《数据通信与网络》笔记--TCP中的拥塞控制
▪weblogic11g 安装集群 —— win2003 系统、单台主...    ▪weblogic11g 节点管理器 nodemanager    ▪Citrix 服务器虚拟化之二十六 应用程序虚拟化...
▪如何将windows下的文件夹挂载到linux虚拟机下    ▪在64位AIX6.1下安装SAP JCo    ▪Outlook启动时提示“找不到文件Outlook.pst文件”...
▪weblogic8.1 登陆5 ip 限制    ▪weblogic 内存 及 内存溢出    ▪手把手教你在Windows端搭建Redmine项目管理软件
▪启动及重新启动nginx,重启nginx后丢失nginx.pid问...    ▪Win7实现快速启动栏并实现靠左边的终极操作...    ▪《深入理解Nginx》阅读与实践(二):配置项...
移动开发 iis7站长之家
▪centOS安装chrome浏览器    ▪Slackware 14 安装完全指南    ▪SharePoint 2013的100个新功能之内容管理(三)
▪Citrix 服务器虚拟化之二十一 桌面虚拟化之部...    ▪[问,ask]ubuntu13.04安装vncserver后只显示桌面,不显...    ▪Win7中IIS出现“HTTP 错误 404.17 - Not Found 请求的...
▪CentOS快速安装最新版本的SaltStack    ▪CentOS 6.4 快速安装Nginx笔记    ▪磁盘管理——RAID 0
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3