1.如何设置Linux服务器为PPP拨入服务器
2.什么是项行p项目PSOS
3.åµå
¥å¼å¼å为ä»ä¹åºäºlinuxç¯å¢ä¸ï¼
4.bat 批量处理 每隔15分钟断开宽带 在重新连接.找的源码不会改
5.å¦ä½ç¼è¯OpenWrt
如何设置Linux服务器为PPP拨入服务器
我按下面这个配置成功了,你可以试下:
一、目源码运安装的运作前提条件
1.确保安装了网卡并工作正常
使用命令
#ifconfig eth0
查看网卡状态,然后关闭ifdown eth0,项行p项目注意一定要关闭ifdown eth0
2.在系统中不要设置默认路由(网关),目源码运让ADSL拨号后自动获得
如果已经设置了默认路由,使用以下方法删除:
在文件 /etc/sysconfig/network 中删除 GATEWAY= 这一行,然后以root执行:
#/etc/rc.d/init.d/network restart
3.已经安装了pppd软件包
如果存在文件 /usr/sbin/pppd,则说明已经安装了pppd;
如果未安装,从RedHatLinux 6.2安装光盘上安装ppp-2.3.-
4.i.rpm这个软件包
二、安装PPPOE客户端软件
Linux下的运作源码编辑器猫PPPOE客户端软件比较多,而且大多使用GNU License,我们推荐使用rp-pppoe 这个软件包。从
如果解析出新浪的项行p项目IP,说明已经从拨号中正确获得了DNS服务器
最后,目源码运使用命令ping某个域名或IP,运作如果有响应,项行p项目表示你已经大功告成了。目源码运
六、运作其它说明
1、项行p项目RedHat Linux 7.1已经集成了rp-pppoe这个软件包,目源码运只不过版本有些低,运作如果你不在意版本高低,可以直接进行三后面的步骤。
2、计算 js源码以后要拔号上网时,只要:
ifdown eth0
ifup ppp0
/usr/sbin/adsl-start
什么是PSOS
pSOS系统结构
pSOS是一个由标准软组件组成的,可剪裁的实时操作系统。其系统结构如图2.1所示
,它分为内核层、系统服务层、用户层。
1. 内核层
pSOS内核负责任务的管理与调度、任务间通信、内存管理、实时时钟管理、中断服
务;可以动态生成或删除任务、内存区、消息队列、信号灯等系统对象;实现了基于优
先级的、选择可抢占的任务调度算法,并提供了可选的时间片轮转调度。pSOS Kernel还
提供了任务建间通信机制及同步、互斥手段,kettle 源码分析如消息、信号灯、事件、异步信号等。
pSOS操作系统在Kernel层中将与具体硬件有关的操作放在一个模块中,对系统服务层
以上屏蔽了具体的硬件特性,从而使得pSOS很方便地从支持Intel x系列转到支持MC
XXX系列,并且在系统服务层上对不同应用系统不同用户提供标准的软组件如PNA+、
PHILE+等。
2. 系统服务层
pSOS系统服务层包括PNA+、PRPC+、PHILE+等组件。PNA+实现了完整的基于流的TCP
/IP协议集,并具有良好的实时性能,网络组件内中断屏蔽时间不大于内核模块中断屏蔽时
间。PRPC+提供了远程调用库,支持用户建立一个分布式应用系统。PHILE+提供了文件系
统管理和对块存储设备的管理。PREPC+提供了标准的C、C++库,支持用户使用C、C++语言
编写应用程序。
由于pSOS内核屏蔽了具体的硬件特性,因此,pSOS系统服务层的软组件是标准的、与
硬件无关的移动广告源码。这意味着pSOS各种版本,无论是对X系列还是MCXXX系列,其系统服务
层各组件是标准的、同一的,这减少了软件维护工作,增强了软件可移植性。
每个软组件都包含一系列的系统调用。对用户而言,这些系统调用就象一个个可重入
的C函数,然而它们却是用户进入pSOS内核的唯一手段。
3. 用户层
用户指的是用户编写的应用程序,它们是以任务的形式出现的。任务通过发系统调
用而进入pSOS内核,并为pSOS内核所管理和调度。
pSOS为用户还提供了一个集成式的开发环境(IDE)。pSOS_IDE可驻留于UNIX或DOS
环境下,它包括C和C++优化编译器、CPU和pSOS模拟仿真和DEBUG功能。
pSOS内核机制
§3.1 几个基本概念
3.1.1 任务
在实时操作系统中,任务是参与资源竞争(如CPU、Memory、I/O devices等)
的基本单位。pSOS为每个任务构造了一个虚拟的、隔离的环境,从而在概念上,跑腿php源码一个任务
与另一个任务之间可以相互并行、独立地执行。任务与任务之间的切换、任务之间的通
信都是通过发系统调用(在有些情况下是通过ISR)进入pSOS Kernel,由pSOS Kernel完
成的。
pSOS系统中任务包括系统任务和用户任务两类。关于用户任务的划分并没有一个固
定的法则,但很明显,划分太多将导致任务间的切换过于频繁,系统开销太大,划分太少又
会导致实时性和并行性下降,从而影响系统的效率。一般说来,功能模块A与功能模块B是
分开为两个任务还是合为一个任务可以从是否具有时间相关性、优先性、逻辑特性和功
能耦合等几个方面考虑。
3.1.2 优先级
每个任务都有一个优先级。pSOS系统支持0~级优先级,0级最低,级最高。0级
专为IDLE任务所有,~级为系统所用。在运行时,任务(包括系统任务)的优先级
可以通过t_setpri系统调用改变。
3.1.3 任务状态
pSOS下任务具有三种可能状态并处于这三个状态之一。只有通过任务本身或其他任
务、ISR对pSOS内核所作的系统调用才能改变任务状态。从宏观角度看,一个多任务应用
通过一系列到pSOS的系统调用迫使pSOS内核改变受影响任务而从运行一个任务到运行另
一任务向前发展的。
对于pSOS kernel,任务在创建前或被删除后是不存在的。被创建的任务在能够运行
前必须被启动。一旦启动后,一个任务通常处于下面三个状态之一:
①Executing (Ready)就绪
②Running运行
③Blocked阻塞
就绪任务是未被阻塞可运行的,只等待高优先级任务释放CPU的任务。由于一个任务
只能由正运行的任务通过调用来被启动,而且任何时刻只能有一个正在运行的任务,所
以新任务总是从就绪态开始。
运行态任务是正在使用CPU的就绪任务, 系统只能有一个running任务。一般runni
ng任务是所有就绪任务中优先级最高的,但也有例外。
任务是由自身特定活动而变为阻塞的,通常是系统调用引起调用任务进入等待状态
的。所以任务不可能从ready态到blocked态,因为只有运行任务才能执行系统调用。
3.1.4 任务控制块
任务控制块TCB是pSOS内核建立并维护的一个系统数据结构,它包含了pSOS Kernel调
度与管理任务所需的一切信息,如任务名、优先级、剩余时间片数、当前寄存器状态等。
在有的RTOS中,任务的状态与任务TCB所处的队列是等同的。pSOS操作系统将二者分
为两个概念,例如任务处于阻塞状态,但它的TCB却处于消息等待队列、信号灯等待队列、
内存等待队列、超时队列之一。
pSOS启动时,将根据Configuration Table中的参数kc_ntask建立一个包含kc_ntask
个TCB块的TCB池,它表示最大并行任务数。在创建一个任务时,分配一个TCB给该任务,在
撤销一个任务时,该TCB将被收回。
3.1.5 对象、对象名及ID号
pSOS Kernel是一个面向对象的操作系统内核,pSOS系统中对象包括任务、memory
regions、memory partitions、消息队列和信号灯。
对象名由用户定义(4位ASCII字符),并且在该对象创建时作为系统调用obj_CREAT
E
的一个人口参数传给pSOS Kernel。pSOS Kernel反过来赋予该对象一个唯一的位ID号
。除obj_CREATE和obj_IDENT外,所有涉及对象的系统调用都要用到对象ID号。
创建对象的任务通过obj_CREATE就已经知道了该对象的ID号,其余任务可通过obj_
IDENT或通过全局变量(如果已经为该任务的ID号建立了一个全局变量的话)获取该对象
的ID号。对象ID号隐含了该对象控制块(如TCB、QCB)的位置信息,这一位置信息被pSO
S
Kernel用于对该对象的管理和操作,如挂起/解挂一个任务、删除一个消息队列等。
3.1.6 任务模式字Mode word.
每个任务带有一个mode word,用来改变调度决策或执行环境。主要有以下四个参
数
Preemption Enabled/Disabled.
Roundrobin Enabled/Disabled
Interupts Enabled/Disabled.
ASR Enabled/Disabled: 每个任务有一个通过as-catoh建立起来的异步信号服务例
程ASR。异步信号类似于软件中断。当ASR位为1时as-catch所指向的任务将会被改变执行
路径,先执行ASR,再返回原执行点。
§3.2 任务调度
3.2.1 影响动态调度效果的两个因素
pSOS采用优先级+时间片的调度方式。有两个因素将影响动态调度的效果:一是优先
级可变(通过t_setpri系统调用改变任务的优先级);二是任务模式字中的preemption
bit位和roundrobin bit位。preemption bit位决定不同优先级的任务是否可抢占,并和
roundrobin bit位一起决定任务的时间片轮转是否有效。
3.2.2 引起任务调度的原因及结果
pSOS系统中引起调度的原因有两条:
1. 在轮转方式下时间片到
2. pSOS系统调用引发任务调度。该系统调用可能是ISR发出的,也可能是某个任务发出的
pSOS任务调度的结果有两种:
1. 引起运行任务切换,这指的是
2. 不引起运行任务切换,这指的是
不论任务调度是否引发运行任务切换,都有可能引起一个或多个任务状态变迁。
3.2.3 运行任务的切换
一、何时切换
下面三种情况将引发运行任务切换:
1. 在时间片轮转方式下(此时任务模式字的roundrobin bit与preemption bit均为
enable),运行任务Task A的时间片用完,且Ready队列中有相同优先级的其它任务,则
Task A退出运行。
2. 在运行任务Task A的Mode word的preemption bit位为enable的前提下,若Task A发出
的某条相同调用引发一个优先级高于Task A的任务Task B从Block状态进入Reary状态,则
将Task B投入运行。
3. ISR使用I_RETURN系统调用,则ISR退出运行,pSOS Kernel选择Ready队列中优先级最高
的任务投入运行(这一任务并不一定是被ISR打断的前运行任务)。
二、如何切换
上述三类运行任务的切换,其具体的pSOS Kernel运作过程并非完全一样,但彼此之间
差别不大。为了简单起见,我们以
为例对切换过程作一简单叙述。这一过程可细分为4个步骤:
1. 任务A运行信息保存(_t_save proc far)
这一过程主要完成修改系统工作标志,保存切换点地址及运行信息、任务A栈调
整
栈
指针保存、栈切换、参数及返址入栈等一系列工作。
2.任务A入就绪队列(void t_in_chain)
这一过程将任务A的TCB块按优先级顺序插入就绪队列。
3.选择一个高优先级任务B(void t_choice( ))
按一定算法从就绪队列中选出最高优先级任务B的TCB块,并使运行指针指向它。
4.将任务B投入运行(_t_run proc far)
从系统栈切换到任务B栈,用任务B的TCB块中保存的信息恢复上次运行被打断的
地
,恢
复任务运行环境,于是任务B开始继续运行。
图3.1反映了典型任务切换过程中CPU控制权的转移、各堆栈活动生命期、任务活动
生命期等信息。图中
t1,t4为切换点 t2,t3为开/关中断
Tsch=t4-t1 // Tsch为任务切换时间
Tforbid=t3-t2 // Tforbid为中断禁止时间
它们是实时操作系统最重要的两个性能指标。
åµå ¥å¼å¼å为ä»ä¹åºäºlinuxç¯å¢ä¸ï¼
åµå ¥å¼å¼ååºäºlinuxç¯å¢ä¸ï¼æä¾å代ç æ¯ä¸ºäºç¼è¯çæèªå·±çlinuxå æ ¸ãåµå ¥å¼çç³»ç»ç¹ç¹ï¼
1ãå¯è£åªæ§ãæ¯æå¼æ¾æ§åå¯ä¼¸ç¼©æ§çä½ç³»ç»æã
2ã强å®æ¶æ§ãEOSå®æ¶æ§ä¸è¬è¾å¼ºï¼å¯ç¨äºåç§è®¾å¤æ§å¶ä¸ã
3ãç»ä¸çæ¥å£ãæä¾è®¾å¤ç»ä¸ç驱å¨æ¥å£ã
4ãæä½æ¹ä¾¿ãç®åãæä¾å好çå¾å½¢GUIåå¾å½¢çé¢ï¼è¿½æ±æå¦æç¨ãæä¾å¼ºå¤§çç½ç»åè½ï¼æ¯æTCP/IPåè®®åå ¶ä»åè®®ï¼æä¾TCP/UDP/IP/PPPåè®®æ¯æåç»ä¸çMAC访é®å±æ¥å£ï¼ä¸ºåç§ç§»å¨è®¡ç®è®¾å¤é¢çæ¥å£ã
5ã强稳å®æ§ï¼å¼±äº¤äºæ§ãåµå ¥å¼ç³»ç»ä¸æ¦å¼å§è¿è¡å°±ä¸éè¦ç¨æ·è¿å¤çå¹²é¢ãè¿å°±è¦è´è´£ç³»ç»ç®¡ççEOSå ·æè¾å¼ºç稳å®æ§ãåµå ¥å¼æä½ç³»ç»çç¨æ·æ¥å£ä¸è¬ä¸æä¾æä½å½ä»¤ï¼å®éè¿ç³»ç»çè°ç¨å½ä»¤åç¨æ·ç¨åºæä¾æå¡ã
6ãåºå代ç ãå¨åµå ¥å¼ç³»ç»ä¸ï¼åµå ¥å¼æä½ç³»ç»ååºç¨è½¯ä»¶è¢«åºåå¨åµå ¥å¼ç³»ç»è®¡ç®æºçROMä¸ã
7ãæ´å¥½ç硬件éåºæ§ï¼ä¹å°±æ¯è¯å¥½ç移æ¤æ§ã
8ãåµå ¥å¼ç³»ç»åå ·ä½åºç¨ææºå°ç»åå¨ä¸èµ·ï¼å®çå级æ¢ä»£ä¹æ¯åå ·ä½äº§ååæ¥è¿è¡ï¼å æ¤åµå ¥å¼ç³»ç»äº§åä¸æ¦è¿å ¥å¸åºï¼å ·æè¾é¿ççå½å¨æã
ç¼ç çç§ç±»ï¼
ç¼ç (Encoding)å¨è®¤ç¥ä¸æ¯è§£éä¼ å ¥çåºæ¿çä¸ç§åºæ¬ç¥è§çè¿ç¨ãææ¯ä¸æ¥è¯´ï¼è¿æ¯ä¸ä¸ªå¤æçãå¤é¶æ®µç转æ¢è¿ç¨ï¼ä»è¾ä¸ºå®¢è§çæè§è¾å ¥ï¼ä¾å¦å ã声ï¼å°ä¸»è§ä¸ææä¹çä½éªã
1ãå符ç¼ç (Character encoding)æ¯ä¸å¥æ³åï¼ä½¿ç¨è¯¥æ³åè½å¤å¯¹èªç¶è¯è¨çå符çä¸ä¸ªéåï¼å¦åæ¯è¡¨æé³è表ï¼ï¼ä¸å ¶ä»ä¸è¥¿çä¸ä¸ªéåï¼å¦å·ç æçµèå²ï¼è¿è¡é 对ã
2ãæåç¼ç (Text encoding)使ç¨ä¸ç§æ è®°è¯è¨æ¥æ è®°ä¸ç¯æåçç»æåå ¶ä»ç¹å¾ï¼ä»¥æ¹ä¾¿è®¡ç®æºè¿è¡å¤çã
3ãè¯ä¹ç¼ç (Semantics encoding)ï¼ä»¥æ£å¼è¯è¨ä¹å¯¹æ£å¼è¯è¨ç²è¿è¡è¯ä¹ç¼ç ï¼å³æ¯ä½¿ç¨è¯è¨ä¹è¡¨è¾¾è¯è¨ç²ææçè¯æ±ï¼å¦ç¨åºæ说æï¼çä¸ç§æ¹æ³ã
4ãçµåç¼ç (Electronic encoding)æ¯å°ä¸ä¸ªä¿¡å·è½¬æ¢æ为ä¸ä¸ªä»£ç ï¼è¿ç§ä»£ç æ¯è¢«ä¼åè¿ç以å©äºä¼ è¾æåå¨ã转æ¢å·¥ä½é常ç±ä¸ä¸ªç¼è§£ç å¨å®æã
5ãPCM èå²ç¼ç è°å¶æ¯Pulse Code Modulationç缩åãï¼åå«èå²ç¼ç è°å¶ï¼ï¼æ°åéä¿¡çç¼ç æ¹å¼ä¹ä¸ã主è¦è¿ç¨æ¯å°è¯é³ãå¾åç模æä¿¡å·æ¯éä¸å®æ¶é´è¿è¡åæ ·ï¼ä½¿å ¶ç¦»æ£åï¼åæ¶å°æ½æ ·å¼æåå±åä½åèäºå ¥åæ´éåï¼åæ¶å°æ½æ ·å¼æä¸ç»äºè¿å¶ç æ¥è¡¨ç¤ºæ½æ ·èå²çå¹ å¼ã
6ãç¥ç»ç¼ç (Neural encoding)æ¯æä¿¡æ¯å¨ç¥ç»å ä¸è¢«å¦ä½æç»çæ¹æ³ã
7ãè®°å¿ç¼ç (Memory encoding)æ¯ææè§è½¬æ¢æè®°å¿çè¿ç¨ã
8ãå å¯(Encryption)æ¯ä¸ºäºä¿å¯è对信æ¯è¿è¡è½¬æ¢çè¿ç¨ã
9ãè¯ç (Transcoding)æ¯å°ç¼ç ä»ä¸ç§æ ¼å¼è½¬æ¢å°å¦ä¸ç§æ ¼å¼çè¿ç¨ã
bat 批量处理 每隔分钟断开宽带 在重新连接.找的源码不会改
@echo off
set name=宽带连接
set userName=
*****set password=