linuxuio
㈠ 为什么在linux下面编译的时候提示要重新定义"struct iovec"
问题分析:这个是由于你的内核头文件和你的C编译器的头文件有冲突,你需要确认他们是否是匹配使用的。 解决: 1.去掉/usr/include/sys/uio.h里面关于“struct iovec”的定义; 2.在编译选项的EXTRA_CFLAGS里面加入-DNO_WRITEV并重新编译(不推荐使用,因为会造成性能的降低)
㈡ dpdk 为什么要cpu 打开aes
dpdk就是运行于通用linux+x86系统上的,具有intel核心的网卡即可。
dpdk的特点有:
Dpdk驱动拿数据,绕过内核,跑在用户态,避免核心态到用户态的拷贝,即UIO
利用cpu亲和性,线程绑定核,避免线程核间切换开销
使用大页缓存提高内存访问效率
轮询代替中断,提高报文的收发效率
㈢ linux 怎么加载uio模块
1.linux和windows平台下,能够对应的头文件就是符合C11标准的头文件。其他的头文件不仅和平台有关系,还和平台下的编译环境有关,很难画上等号的。2.C语言符合标准的头文件
#include <assert.h> //设定插入点
#include <ctype.h> //字符处理
#include <errno.h> //定义错误码
#include <float.h> //浮点数处理
㈣ Linux的未来趋势
应用决定一切,就看以后linux系统的应用程序发展如何
㈤ 关于s40文件管理器,详细说下有哪几款,及各自的优缺点
S40或S60是指诺基亚手机的上层平台。S60都是智能手机,所用底层操作系统是symbian。
诺基亚128*128屏幕都是S40 1.0。而128*160是S40 2.0
另外S40中,3100支持JAVA MIDP 1.0,所以最大支持64KB的JAVA;6230支持JAVA MIDP 2.0,所以最大支持128KB的JAVA
40和60,包括90,还有以前的30,都是针对与nokia不同的操作系统而言
40,是nokia自行研制的手机操作系统,面对于中低端客户,支持kJAVA的开发,其处理器效率不高,内存偏低,屏幕大小128*128
60,是基于symbian 操作系统,也就是以前的epoc,其处理器为arm9,处理效率很高,内存颇大,屏幕大小为208*176同时支持kJAVA和C++的开发
90,属于手持式设备,,也是symbian 操作系统但是功能强劲,等同于一个PDA了
其实技术来上说,S40跟S60是区别在系统平台上,就好像WIN98跟WIN2000,但手机不像PC,屏幕大小的确是个关口,以致于平台不容易做到向下兼容,但有的游戏也同样做出不同版本来的
当然啦,S40比S60不单单是屏幕上的差距,更大的是性能上的差距,一般来说,S60开发出来的游戏质量都比S40高好多,但可惜,S60比S40的机子又贵上了很多啊
诺基亚40系列是指:7600,7200,7250,7210,6100,6220,6230,6610,6650,6820,6800,6810,3100,3200,3300,5100。
诺基亚60系列是指:3650,3660,6600,7650,N-Gage。
40小屏幕~60大屏幕~80超大屏幕
在美国,有一本关于牛仔文化的书名取得出色,叫《没有牛仔裤的请举手》。或许在不久的将来,我们也会写这样一本书,名字就叫《没有symbia”手机的请举手》.尽管面临着对手的激烈竞争,但多达8成的市场占有率还是让摩托罗拉这样的公司在退出symbian的股份后依旧恋恋不舍。
不过在介绍Symban的历史的时候.我们必须提到Psion(赛意昂)公司和它的EPOC操作系统
svmbian正是由它们发展而来的。创立于1980年的Psion公司主要致力于为数字产品开发和研究
据说发明世界第一台电子组织器(拳上电脑的雏形)。开创了掌上电脑市场先河.EPOC则是Psion Software推出的操作系统
专门用于移动信患设备,包括掌上电脑,EPOC是一个开放的操作系统
并且从一开始EPOC就加上了无线通信和一个外加应用程序的体系,因此在无线通信方面与其他操作系统相比具备先天的优势.同时 和微软的windows
cE一样.EPoc也是一套32位的操作系统。具备实时性,多任务的.多线程、低功耗.内存占用少等特点.
1998日年6月, Psion公司联合诺基亚
爱立信,摩托罗拉蛆建了Symbian”公司.该公司继承了Psion公司EPOC操作系统软件的授权,并且致力于为移动信息设备提供一个安全可*操作系统和一个完整的软件及通讯器平台。作为一种开放式平台Symbian公开其80%的源码使得任何人都可以为支持symbian的移动设备开发软件。
Symbian公司股东及股份分布图
Symbian公司还大量参与WAP、WireJess Java和Bluetooth的制定工作.因此和微软的Windows
Mobile操作系统相比,Symbian在通信方面的优势得天独厚。Symbian操作系统并被设计成无论断电与否.都可保证用户数据不会被丢失
同时该系统还是真正的微核操作系统 所谓“微核”,就是说操作系统只有很小的一部分是运行在最高优先级的,其他的功能都是以client—Server的方式提供.
现在的Symbian因为松下,西门子和三星的先后加入已经成为由Psion.诺基亚、索尼爱立信、摩托罗拉、松下、西门子、三星联合控股的公司.2004年第一季度
LG、Arima和联想成为最新取得Symbian授权协议的手机制造商.从而使得获得授权的厂商总数达到了1
8家.几乎囊括了全球所有重量级的手机制造商.2000年.世界上第一款采用Symbian操作系统的手机Ericsson R380成功上市,
2001年。诺基亚首次发布着名的Series60软件平台。
同年 全球第一款基于开放式Symbian操作系统的手机 诺基亚9210个人通讯器问世。2002年.日本NTT
DoCoMo发布第一款采用Symbian操作系统的3G手机FOMA F2051.同年
诺基亚公司推出了第一款基于Series60和Symbian操作系统的2.5G手机——7650.2003年,诺基亚推出采用Symbian7.0s操作系
统的Senries60手机6600.2004年,首部Symbian8.0a操作系统3G手机6630问世。2005年4月27日
第一款Symbian9.1操作系统手机诺基亚N91发布。
其间,摩托罗拉于2003年出售了在Symbian的全部股权并开发Linux操作系统的智能手机。Symbian首席执行官Dayid
Lavin甚至天真地认为摩托罗拉的PCS部门一定是受到了中国政府的压力,因为后者希望能够在智能电话中使用Linux操作系统.
Symbian旗下总共拥有三种产品,分别为Pestl(珍珠)。Quartz(石英)和Crystal
(水晶)用于智能手机,笔式输入通讯器和键盘输入通讯器。不同系列之间的区别主要在于用户接口
(比如:手写或键盘式输入)和屏幕大小。在三个系列中,Quartz和Crysta都被称作“通讯器”
惟有Pearl是“智能电话”。根据官方的描述。Quartz采用手写输入,屏幕像素为320 x 240,
而CrystaI则是支持全键盘操作的终端。使用半VGA彩色显示器(640 x
200像素)。诺基亚9210就是Crysta的代表。至于我们熟悉的诺基Seirs60手机以及索爱P800、P900和P910等则是PearI珍珠系列的“智能手机”了。不过由于Quartz的名存实亡
Symblan对产品的分类更改为采用数字键盘的手机 旧括Series60系列和富士通自主开发的应用界面等)
采用触模式屏幕的手机(主要为采用UIO界百的手机如索爱P910和摩托罗拉Al000等)最后一种则是采用完整键盘和超大彩色屏幕的手机如诺基亚9500等。
通过软件授权许可,Symbian能够从销售的使用其软件的每部手机中得到5--7.25美元。通过几年的努力.Symbian的市场占有率随着诺基亚Series60产品的畅销得到极大提升,目前已经拥有约8成智能手机市场份额.Symbian,
一家位于英国的"小公司"却主宰着前途无可限量的智能手机大市场.
Symbian操作系统授权厂商图
在很多时候,对Symbian系统不太熟悉的人都以为Series60、80是不同的Symbian操作系统版本。于是就出现了一些如“Series60操作系统”甚至“Symian
80操作系统”的笑话。
而实际上,symbian操作系统是sYmbian公司开发的手机操作系统,它是一个独立于手机硬件的操作系统,因此可以安装在任何符合基本系统资源要求的手机上。不过,由于手机厂商都不希望自己的手机的界面和功能和其他厂商的一样。
所以一般都会在symbian操作系统的基础上做出一些局部的修改。于是,就出现了sso,s80等名称。它们不是操作系统。而是以操作系统为基础的开发平台。通过这些开发平台,手机厂商能够快速开发具有独特界面和先进功能的手机。我们以前称这些开发平台为“用户界面”,但现在,以s60为代表的开发平台的能力已经远远超出了原来的“用户界面”目标。深入到手机内部功能的定制。因此,我们现在称之为“开发平台”。
如果包括日本富士通等使用symbian操作系统的手机厂家,在目前情况下Symbian系统的开发平台应该有UIO、Series60、Series80以及富士通等自主开发的界面接口。
在采用Symbian操作系统产品中,S60手机占大多数。
而这其中,ulo用户界面主要为索爱和摩托罗拉以及部分台湾品牌使用,主要特点是支持手写和208 x
320像素的触摸屏,使用双手操作的方式。而诺基亚开发的Series 8O则是所谓半OVGA屏幕和全键盘式输入,代表机型为9500和
9300.相比之下,为数字键盘手机设计的Series60现在已经不能用一个简单的用户界面接口来表述。基于其开放式的架构和对外的授权,按照诺基亚官方的说法“Series
60是一个功能丰富的智能手机软件平台。具有先进的数据处理能力。”这个软件平台的主要特征是在
Symbian操作系统基础上开发出来的,它既具备能适应各种不同需求的完备的用户界面,也具有一整套丰富多彩的应用。同时,这还是一个具备弹性设计的平台。不仅具有一整套通用的用户界面组件及开发工具。方便开发者实现一些新的功能应用。而且Series
60还特别针对Symbian操作系统作了忧化。并且还是一个源代码产品。获得诺基亚授权的手机制造商们可以对之进行移植并将其集成到自己的硬件设计中去。
诺基亚Series 60使用Symbian操作系统,PreaI平台,定位于单手操作
并大多使用基于AMR9的处理器和TI的通信模组。参考设计中手机的屏幕分辨率为 176 x
208像素,拥有五方向键,两个功能键。手机的菜单呈九宫格方式排列。支持MIDP Java和使用c++编写的SIS扩展程序包。目前得到Series
60许可的公司包括西门子、松下、Sendo和三星等公司。
目前 Series 60 有三个主要版本,即第一版(Developer Platform V1.0)和2ndEdition 以及
3rdEdition(第二版和第三版 )
Series 60第一版包含下列功能:采用
Symbian6.1操作系统。Java技术方面支持(MIDP)1.O、(CLDC)1.0以及(JSR-1.20)。
(JSR-135)等应用程序接口、配备XHTML/
WML浏览和支持MMS多媒体短信服务,支持个人信息管理:日历、电话簿、像册、目录。能够与PC同步的文件管理应用程序、数据连接方面则支持USB、蓝牙、IrDA协议并支持GRPS等等。主要支持的手机有诺基亚7650、3650和西门子SXl等。
Series 60第2版最初于2003年发行第一部支持这版本的手机是诺墓亚6600手机。主要特征是拥有统一消息中心(unifien Messaing
Center、MMS、SMS、Email)。各种 OMA即时消息及精灵(Presence)应用、 一个完整的移动互联网浏览器(HTML 4.0 XHTML
MP、&WAP CSS),3GPP兼容的流客户端(RealOne Player)、Java MIDP
2.O环境、应用管理器、OMA数字版权管理(转发锁定)、SyncML数据同步及设备管理、
OMA客户端配置、媒体廊、摄录机应用、图像阅览器,支持多重PDP场景的连接管理器、移动钱包、以及多种个人信息管理应用等等。
并且通过扩展,Series 60第二版已经被加入了三个Feature Packs,在保持过去兼容性的基础上增加了一些新的功能。而这些新的Feature
Packs也正好说明了Series 60的弹性设计和可扩展性。该版本采用 Symbian 7.0s操作系统,同时用户界面支持多种屏幕分辨率(176 x
208、240 x 320 (OVGA)及352 x 416像素)。
这其中、Series 60 Feature
Packs1主要增加了对EDGE技术支持,支持拍摄能力更强的百万像素级别内置摄像头,并且增强了Java技术的应用能力,提高了多媒体的应用水准特别是增加了MP3和AAC格式音乐的应用。此外,在浏览器和信息处理上也得到提升。采用该版本的手机主要有诺基亚7610、6260和松下X700以及最新上市的诺基亚3230等。
Series 60第二版的Featrue Packs2采用了更为高级的Symbian 8.0a操作系统。内置支持3D技术的OpenGL
ES引擎,增加了对 WCDMA网络的支持并同时在Java支持、信息 电子邮件、多媒体应用方面得到了增强。此外,该Feature
Packs2还比较突出的增加了日文和泰文的支持。因此当6630和 6680进军日本也就不足为奇了。
Series 6O Feature Packs3支持SVG的可升级用户界面架构。支持高分辨串显示 176 x 208、240 x 320、352 x
416像素;平台支持传统键盘输入、丰富的邮件内容 (HTML、MS Office比如可在电子邮件的附件中查看MS
Office文档);支持无线局域网的用户界面等等。诺基亚最新发布的N Series系列中的N70和N90便是采用Series 60 Feature
Packs3的机型。
在今年3GSM世界大会期间诺基亚发布的Series 60第三版在增加的功能中主要强调了多媒体和企业功能。该版本搭载的是全新的Symbien
9.1操作系统,但仍保留了前一版本的特点和功能。包括多种无线制式、广泛的应用套件、可升级的用户界面和高分辨率的支持,作为重大的改进。 Series
60第三版新功能包括对不同硬件配置的增强支持,包括单芯片和双芯片硬件结构和改进的性能。在多媒体功能方面,Series60第三版将提供全新的音乐擂放器,全新的音乐播放器将提供无缝和易操作的带有个性化主题和背景的音乐下载。同时还采用了开放移动联耍∣MA)数字权利管理(DRM)2.0版为丰富的媒体内容提供增强的功用,并同时实现高安全内容的保护。此外,对USB
Mass Storage协议的支持让诺基亚智舵手机第一次可以作为普通的USB存储器使用。其目的也是为了更方面地实现从PC到移动电话的音乐传送。
在企业应用方面,Series
60第三版主要增强了商业数据安全性保障,例如日历、同步和电话管理的安全性都相对过去得到了提升。目前采用该版本的手机是诺基亚刚刚发布的拥有4GB存储容量的200万像素手机N91.其实就Series
60软件平台而言其优点和缺点都和Symbisn 操作系统本身的优点和缺点有着密不可分的联系。从优势上看,Series60建基于被广泛授权的Symbian
操作系统之上,拥有相当数量的开发伙伴们,并提供了众多的Java
APls,c++编程开发工具包。同时由于有多年的成熟的手机平台研发经验加上完全开放式的源码0以及Symbian操作系统稳定性都让采用Series60平台的制造商更容易快速的生产的复制。同时因为其植心的Symbian操作系统对移动通信协议更好的支持也比其他的操作系统在用户方面有着得天独厚的优势。甚至在运营商的合作方面也是其他平台所不能比拟的。
㈥ dpdk 技术 可否 应用于linux
DPDK主要使用了UIO、HUGEPAGE和CPU Affinity机制三个技术点来提高高速网络数据的处理性能。
UIO是实现用户空间下驱动程序的支撑机制,DPDK使用UIO机制使网卡驱动程序(主要是intel自身的千兆igb与万兆ixgbe驱动程序)运行在用户态,并采用轮询和零拷贝方式从网卡收取报文,提高收发报文的性能。
HUGEPAGE的主要好处是通过利用大内存页提高内存的使用效率,DPDK在HUGEPAGE机制上构建内存管理系统,提高应用程序处理报文的性能。
CPU Affinity机制主要是让各个CPU各自干自己的事情,DPDK使用CPU Affinity机制将控制面线程以及各个数据面线程绑定到不同的CPU核,节省反复调度的性能消耗。其工作模式类似于一个CPU核绑定一个死循环线程,专心处理各自的业务。比如两个网卡eth0和eth1都收包,可以让cpu0专心处理eth0,cpu1专心处理eth1,没必要cpu0一下处理eth0,一下又处理eth1,这样就提高了多核CPU的使用效率。
所以,这样看来,DPDK并不高深,用到的东西也都是Linux本身提供的特性,还有额外的内存池、环形缓存等,虽然封装得很好,但都是比较常用经常接触的技术。
㈦ linux 哪个版本开始支持uio
从Linux内核版本2.6.24开始,就支持另一种可作为内核设备驱动的替代方案的设备驱动架构
㈧ 如何用netlink接口读取内核路由表
获取内核路由表以及操作内核路由表有几种方法:读proc 或者用ioctl(sock_fd, SIOCADDRT, &rt),这里的第二个参数是设置路由表,读也有相应的参数,还有第三种方法就是用netlink接口对内核路由表进行读取、增加、删除操作
如linaxing(牛牛)所说,以前是用IOCTL,不过那个读出的和netlink的有点差别,是信息量有差别.具体我也说不清楚,可查看相关maillist,那个牛人也就说了一句话
下面给出偶自己读内核路由表的一个程序,仿照zebra的用法
不过,最后读出的内容有点问题,好像还得转换一下,实在写不动了,欢迎批评!
#include <stdio.h>
#include <string.h>
#include <asm/types.h>
#include <sys/socket.h>
#include <linux/netlink.h>
#include <linux/rtnetlink.h>
//#include <sys/types.h>
//#include <linux/uio.h>
#include <errno.h>
#ifdef SEQ
struct rtnl_handle
{
unsigned int seq;
}
#endif
static void parse_rtattr(struct rtattr **tb, int max,
struct rtattr *rta, int len)
{
while(RTA_OK(rta, len))
{
if(rta-> rta_type <= max)
tb[rta-> rta_type] = rta;
rta = RTA_NEXT(rta, len);
}
}
int routeprint( struct sockaddr_nl *snl, struct nlmsghdr *h2)
{
#if 1
struct rtmsg *rtm;
struct rtattr *tb[RTA_MAX + 1];
int len;
int index;
int table;
void* dest;
void* gate;
char dest2[100];
rtm = NLMSG_DATA(h2);//get the data portion of "h2 "
index = 0;
dest = NULL;
gate = NULL;
table = rtm-> rtm_table;
len = h2-> nlmsg_len - NLMSG_LENGTH(sizeof(struct rtmsg));
memset(tb, 0, sizeof tb);
parse_rtattr(tb, RTA_MAX, RTM_RTA(rtm), len);
if(tb[RTA_OIF])
index = *(int *)RTA_DATA(tb[RTA_OIF]);
if(tb[RTA_DST]){
dest = RTA_DATA(tb[RTA_DST]);
// printf( "debug dest\n ");
}
else dest = 0;
#if 1
if(tb[RTA_METRICS]){
gate = RTA_DATA(tb[RTA_METRICS]);
}
#else
if(tb[RTA_GATEWAY]){
gate = RTA_DATA(tb[RTA_GATEWAY]);
//iprintf( "debug gate\n ");
}
#endif
printf( "family:%d\t ",rtm-> rtm_family);
printf( "index: %d\t ", index);
// memcpy(dest2, dest, 4);
printf( "dest: %d\t ", dest);
// printf( "dest: %c\t ", dest2[1]);
// printf( "dest: %c\t ", dest2[2]);
// printf( "dest: %c\t ", dest2[3]);
printf( "gate: %d\n ", gate);
#endif
return 1;
}
#ifdef SEQ
int getroute(int sockfd,struct rtnl_handle *rtnl)
#else
int getroute(int sockfd)
#endif
{
int i;
int status, sendsize;
unsigned char buf[8192];
struct iovec iov = {(void*)buf, sizeof(buf)};
struct sockaddr_nl nladdr;
struct nlmsghdr *h;
struct
{
struct nlmsghdr nlh;
struct rtgenmsg g;
}req;
struct msghdr msg = { (void*)&nladdr, sizeof(nladdr),
&iov, 1, NULL, 0, 0};
nladdr.nl_family = AF_NETLINK;
req.nlh.nlmsg_len = sizeof(req);
req.nlh.nlmsg_type = RTM_GETROUTE; //增加或删除内核路由表相应改成RTM_ADDROUTE和RTM_DELROUTE
req.nlh.nlmsg_flags = NLM_F_ROOT|NLM_F_MATCH|NLM_F_REQUEST;
req.nlh.nlmsg_pid = 0;
#ifdef SEQ
req.nlh.nlmsg_seq = ++rtnl-> seq;//may be 0?
#else
//int i;
//if (i > 4096) i = 1;
req.nlh.nlmsg_seq = 1;
#endif
req.g.rtgen_family = AF_INET;
printf( "sockfd: %d\n ", sockfd);
if((sendsize=sendto(sockfd, (void*)&req, sizeof(req), 0,
(struct sockaddr*)&nladdr, sizeof(nladdr))) < 0){
perror( "sendto ");
return -1;
}
printf( "sendsize= %d\n ",sendsize);
if((status=recvmsg(sockfd, &msg, 0)) < 0){
perror( "recvmsg ");
return -1;
}
printf( "status= %d\n ",status);
#if 1 //segmentation fault
for(h = (struct nlmsghdr*)buf; NLMSG_OK(h, status);
h = NLMSG_NEXT(h, status))
{
if(h-> nlmsg_type == NLMSG_DONE)
{
printf( "finish reading\n ");
return 1;
}
if(h-> nlmsg_type == NLMSG_ERROR)
{
printf( "h:nlmsg ERROR ");
return 1;
}
routeprint(&nladdr, h);
}
#endif
// printf( "Can 't convert 'h '\n ");
// routeprint(h);
return 1;
}
int main()
{
int sockfd;
#ifdef SEQ
struct rtnl_handle rth;
#endif
struct sockaddr_nl nladdr;
if((sockfd = socket(AF_NETLINK, SOCK_RAW,
NETLINK_ROUTE)) <0){
perror( "netlink socket ");
return -1;
}
nladdr.nl_family = AF_NETLINK;
nladdr.nl_pad = 0;
nladdr.nl_pid = 0;
nladdr.nl_groups = RTMGRP_LINK|RTMGRP_IPV4_ROUTE|
RTMGRP_IPV4_IFADDR;
if(bind(sockfd, (struct sockaddr*)&nladdr,
sizeof(nladdr)) < 0){
perror( "bind ");
close(sockfd);
return -1;
}
#ifdef SEQ
if(getroute(sockfd, &rth) < 0){
#else
if(getroute(sockfd) < 0){
#endif
perror( "can 't get route\n ");
return -1;
}
return 1;
}
㈨ windows与linux 头文件对照
1.linux和windows平台下,能够对应的头文件就是符合C11标准的头文件。其他的头文件不仅和平台有关系,还和平台下的编译环境有关,很难画上等号的。
2.C语言符合标准的头文件
#include <assert.h> //设定插入点
#include <ctype.h> //字符处理
#include <errno.h> //定义错误码
#include <float.h> //浮点数处理
#include <fstream.h> //文件输入/输出
#include <iomanip.h> //参数化输入/输出
#include <iostream.h> //数据流输入/输出
#include <limits.h> //定义各种数据类型最值常量
#include <locale.h> //定义本地化函数
#include <math.h> //定义数学函数
#include <stdio.h> //定义输入/输出函数
#include <stdlib.h> //定义杂项函数及内存分配函数
#include <string.h> //字符串处理
#include <strstrea.h> //基于数组的输入/输出
#include <time.h> //定义关于时间的函数
#include <wchar.h> //宽字符处理及输入/输出
#include <wctype.h> //宽字符分类
3.linux常用头文件如下:
POSIX标准定义的头文件
<dirent.h> 目录项
<fcntl.h> 文件控制
<fnmatch.h> 文件名匹配类型
<glob.h> 路径名模式匹配类型
<grp.h> 组文件
<netdb.h> 网络数据库操作
<pwd.h> 口令文件
<regex.h> 正则表达式
<tar.h> TAR归档值
<termios.h> 终端I/O
<unistd.h> 符号常量
<utime.h> 文件时间
<wordexp.h> 字符扩展类型
-------------------------
<arpa/inet.h> INTERNET定义
<net/if.h> 套接字本地接口
<netinet/in.h> INTERNET地址族
<netinet/tcp.h> 传输控制协议定义
-------------------------
<sys/mman.h> 内存管理声明
<sys/select.h> Select函数
<sys/socket.h> 套接字借口
<sys/stat.h> 文件状态
<sys/times.h> 进程时间
<sys/types.h> 基本系统数据类型
<sys/un.h> UNIX域套接字定义
<sys/utsname.h> 系统名
<sys/wait.h> 进程控制
------------------------------
POSIX定义的XSI扩展头文件
<cpio.h> cpio归档值
<dlfcn.h> 动态链接
<fmtmsg.h> 消息显示结构
<ftw.h> 文件树漫游
<iconv.h> 代码集转换使用程序
<langinfo.h> 语言信息常量
<libgen.h> 模式匹配函数定义
<monetary.h> 货币类型
<ndbm.h> 数据库操作
<nl_types.h> 消息类别
<poll.h> 轮询函数
<search.h> 搜索表
<strings.h> 字符串操作
<syslog.h> 系统出错日志记录
<ucontext.h> 用户上下文
<ulimit.h> 用户限制
<utmpx.h> 用户帐户数据库
-----------------------------
<sys/ipc.h> IPC(命名管道)
<sys/msg.h> 消息队列
<sys/resource.h>资源操作
<sys/sem.h> 信号量
<sys/shm.h> 共享存储
<sys/statvfs.h> 文件系统信息
<sys/time.h> 时间类型
<sys/timeb.h> 附加的日期和时间定义
<sys/uio.h> 矢量I/O操作
------------------------------
POSIX定义的可选头文件
<aio.h> 异步I/O
<mqueue.h> 消息队列
<pthread.h> 线程
<sched.h> 执行调度
<semaphore.h> 信号量
<spawn.h> 实时spawn接口
<stropts.h> XSI STREAMS接口
<trace.h> 事件跟踪
㈩ 请给我仔细介绍以下S40和S60手机。谢谢
S40或S60是指诺基亚手机的上层平台。S60都是智能手机,所用底层操作系统是symbian。
诺基亚128*128屏幕都是S40 1.0。而128*160是S40 2.0
另外S40中,3100支持JAVA MIDP 1.0,所以最大支持64KB的JAVA;6230支持JAVA MIDP 2.0,所以最大支持128KB的JAVA
40和60,包括90,还有以前的30,都是针对与nokia不同的操作系统而言
40,是nokia自行研制的手机操作系统,面对于中低端客户,支持kJAVA的开发,其处理器效率不高,内存偏低,屏幕大小128*128
60,是基于symbian 操作系统,也就是以前的epoc,其处理器为arm9,处理效率很高,内存颇大,屏幕大小为208*176同时支持kJAVA和C++的开发
90,属于手持式设备,,也是symbian 操作系统但是功能强劲,等同于一个PDA了
其实技术来上说,S40跟S60是区别在系统平台上,就好像WIN98跟WIN2000,但手机不像PC,屏幕大小的确是个关口,以致于平台不容易做到向下兼容,但有的游戏也同样做出不同版本来的
当然啦,S40比S60不单单是屏幕上的差距,更大的是性能上的差距,一般来说,S60开发出来的游戏质量都比S40高好多,但可惜,S60比S40的机子又贵上了很多啊
诺基亚40系列是指:7600,7200,7250,7210,6100,6220,6230,6610,6650,6820,6800,6810,3100,3200,3300,5100。
诺基亚60系列是指:3650,3660,6600,7650,N-Gage。
40小屏幕~60大屏幕~80超大屏幕
在美国,有一本关于牛仔文化的书名取得出色,叫《没有牛仔裤的请举手》。或许在不久的将来,我们也会写这样一本书,名字就叫《没有symbia”手机的请举手》.尽管面临着对手的激烈竞争,但多达8成的市场占有率还是让摩托罗拉这样的公司在退出symbian的股份后依旧恋恋不舍。
不过在介绍Symban的历史的时候.我们必须提到Psion(赛意昂)公司和它的EPOC操作系统
svmbian正是由它们发展而来的。创立于1980年的Psion公司主要致力于为数字产品开发和研究
据说发明世界第一台电子组织器(拳上电脑的雏形)。开创了掌上电脑市场先河.EPOC则是Psion Software推出的操作系统
专门用于移动信患设备,包括掌上电脑,EPOC是一个开放的操作系统
并且从一开始EPOC就加上了无线通信和一个外加应用程序的体系,因此在无线通信方面与其他操作系统相比具备先天的优势.同时 和微软的windows
cE一样.EPoc也是一套32位的操作系统。具备实时性,多任务的.多线程、低功耗.内存占用少等特点.
1998日年6月, Psion公司联合诺基亚
爱立信,摩托罗拉蛆建了Symbian”公司.该公司继承了Psion公司EPOC操作系统软件的授权,并且致力于为移动信息设备提供一个安全可*操作系统和一个完整的软件及通讯器平台。作为一种开放式平台Symbian公开其80%的源码使得任何人都可以为支持symbian的移动设备开发软件。
Symbian公司股东及股份分布图
Symbian公司还大量参与WAP、WireJess Java和Bluetooth的制定工作.因此和微软的Windows
Mobile操作系统相比,Symbian在通信方面的优势得天独厚。Symbian操作系统并被设计成无论断电与否.都可保证用户数据不会被丢失
同时该系统还是真正的微核操作系统 所谓“微核”,就是说操作系统只有很小的一部分是运行在最高优先级的,其他的功能都是以client—Server的方式提供.
现在的Symbian因为松下,西门子和三星的先后加入已经成为由Psion.诺基亚、索尼爱立信、摩托罗拉、松下、西门子、三星联合控股的公司.2004年第一季度
LG、Arima和联想成为最新取得Symbian授权协议的手机制造商.从而使得获得授权的厂商总数达到了1
8家.几乎囊括了全球所有重量级的手机制造商.2000年.世界上第一款采用Symbian操作系统的手机Ericsson R380成功上市,
2001年。诺基亚首次发布着名的Series60软件平台。
同年 全球第一款基于开放式Symbian操作系统的手机 诺基亚9210个人通讯器问世。2002年.日本NTT
DoCoMo发布第一款采用Symbian操作系统的3G手机FOMA F2051.同年
诺基亚公司推出了第一款基于Series60和Symbian操作系统的2.5G手机——7650.2003年,诺基亚推出采用Symbian7.0s操作系
统的Senries60手机6600.2004年,首部Symbian8.0a操作系统3G手机6630问世。2005年4月27日
第一款Symbian9.1操作系统手机诺基亚N91发布。
其间,摩托罗拉于2003年出售了在Symbian的全部股权并开发Linux操作系统的智能手机。Symbian首席执行官Dayid
Lavin甚至天真地认为摩托罗拉的PCS部门一定是受到了中国政府的压力,因为后者希望能够在智能电话中使用Linux操作系统.
Symbian旗下总共拥有三种产品,分别为Pestl(珍珠)。Quartz(石英)和Crystal
(水晶)用于智能手机,笔式输入通讯器和键盘输入通讯器。不同系列之间的区别主要在于用户接口
(比如:手写或键盘式输入)和屏幕大小。在三个系列中,Quartz和Crysta都被称作“通讯器”
惟有Pearl是“智能电话”。根据官方的描述。Quartz采用手写输入,屏幕像素为320 x 240,
而CrystaI则是支持全键盘操作的终端。使用半VGA彩色显示器(640 x
200像素)。诺基亚9210就是Crysta的代表。至于我们熟悉的诺基Seirs60手机以及索爱P800、P900和P910等则是PearI珍珠系列的“智能手机”了。不过由于Quartz的名存实亡
Symblan对产品的分类更改为采用数字键盘的手机 旧括Series60系列和富士通自主开发的应用界面等)
采用触模式屏幕的手机(主要为采用UIO界百的手机如索爱P910和摩托罗拉Al000等)最后一种则是采用完整键盘和超大彩色屏幕的手机如诺基亚9500等。
通过软件授权许可,Symbian能够从销售的使用其软件的每部手机中得到5--7.25美元。通过几年的努力.Symbian的市场占有率随着诺基亚Series60产品的畅销得到极大提升,目前已经拥有约8成智能手机市场份额.Symbian,
一家位于英国的"小公司"却主宰着前途无可限量的智能手机大市场.
Symbian操作系统授权厂商图
在很多时候,对Symbian系统不太熟悉的人都以为Series60、80是不同的Symbian操作系统版本。于是就出现了一些如“Series60操作系统”甚至“Symian
80操作系统”的笑话。
而实际上,symbian操作系统是sYmbian公司开发的手机操作系统,它是一个独立于手机硬件的操作系统,因此可以安装在任何符合基本系统资源要求的手机上。不过,由于手机厂商都不希望自己的手机的界面和功能和其他厂商的一样。
所以一般都会在symbian操作系统的基础上做出一些局部的修改。于是,就出现了sso,s80等名称。它们不是操作系统。而是以操作系统为基础的开发平台。通过这些开发平台,手机厂商能够快速开发具有独特界面和先进功能的手机。我们以前称这些开发平台为“用户界面”,但现在,以s60为代表的开发平台的能力已经远远超出了原来的“用户界面”目标。深入到手机内部功能的定制。因此,我们现在称之为“开发平台”。
如果包括日本富士通等使用symbian操作系统的手机厂家,在目前情况下Symbian系统的开发平台应该有UIO、Series60、Series80以及富士通等自主开发的界面接口。
在采用Symbian操作系统产品中,S60手机占大多数。
而这其中,ulo用户界面主要为索爱和摩托罗拉以及部分台湾品牌使用,主要特点是支持手写和208 x
320像素的触摸屏,使用双手操作的方式。而诺基亚开发的Series 8O则是所谓半OVGA屏幕和全键盘式输入,代表机型为9500和
9300.相比之下,为数字键盘手机设计的Series60现在已经不能用一个简单的用户界面接口来表述。基于其开放式的架构和对外的授权,按照诺基亚官方的说法“Series
60是一个功能丰富的智能手机软件平台。具有先进的数据处理能力。”这个软件平台的主要特征是在
Symbian操作系统基础上开发出来的,它既具备能适应各种不同需求的完备的用户界面,也具有一整套丰富多彩的应用。同时,这还是一个具备弹性设计的平台。不仅具有一整套通用的用户界面组件及开发工具。方便开发者实现一些新的功能应用。而且Series
60还特别针对Symbian操作系统作了忧化。并且还是一个源代码产品。获得诺基亚授权的手机制造商们可以对之进行移植并将其集成到自己的硬件设计中去。
诺基亚Series 60使用Symbian操作系统,PreaI平台,定位于单手操作
并大多使用基于AMR9的处理器和TI的通信模组。参考设计中手机的屏幕分辨率为 176 x
208像素,拥有五方向键,两个功能键。手机的菜单呈九宫格方式排列。支持MIDP Java和使用c++编写的SIS扩展程序包。目前得到Series
60许可的公司包括西门子、松下、Sendo和三星等公司。
目前 Series 60 有三个主要版本,即第一版(Developer Platform V1.0)和2ndEdition 以及
3rdEdition(第二版和第三版 )
Series 60第一版包含下列功能:采用
Symbian6.1操作系统。Java技术方面支持(MIDP)1.O、(CLDC)1.0以及(JSR-1.20)。
(JSR-135)等应用程序接口、配备XHTML/
WML浏览和支持MMS多媒体短信服务,支持个人信息管理:日历、电话簿、像册、目录。能够与PC同步的文件管理应用程序、数据连接方面则支持USB、蓝牙、IrDA协议并支持GRPS等等。主要支持的手机有诺基亚7650、3650和西门子SXl等。
Series 60第2版最初于2003年发行第一部支持这版本的手机是诺墓亚6600手机。主要特征是拥有统一消息中心(unifien Messaing
Center、MMS、SMS、Email)。各种 OMA即时消息及精灵(Presence)应用、 一个完整的移动互联网浏览器(HTML 4.0 XHTML
MP、&WAP CSS),3GPP兼容的流客户端(RealOne Player)、Java MIDP
2.O环境、应用管理器、OMA数字版权管理(转发锁定)、SyncML数据同步及设备管理、
OMA客户端配置、媒体廊、摄录机应用、图像阅览器,支持多重PDP场景的连接管理器、移动钱包、以及多种个人信息管理应用等等。
并且通过扩展,Series 60第二版已经被加入了三个Feature Packs,在保持过去兼容性的基础上增加了一些新的功能。而这些新的Feature
Packs也正好说明了Series 60的弹性设计和可扩展性。该版本采用 Symbian 7.0s操作系统,同时用户界面支持多种屏幕分辨率(176 x
208、240 x 320 (OVGA)及352 x 416像素)。
这其中、Series 60 Feature
Packs1主要增加了对EDGE技术支持,支持拍摄能力更强的百万像素级别内置摄像头,并且增强了Java技术的应用能力,提高了多媒体的应用水准特别是增加了MP3和AAC格式音乐的应用。此外,在浏览器和信息处理上也得到提升。采用该版本的手机主要有诺基亚7610、6260和松下X700以及最新上市的诺基亚3230等。
Series 60第二版的Featrue Packs2采用了更为高级的Symbian 8.0a操作系统。内置支持3D技术的OpenGL
ES引擎,增加了对 WCDMA网络的支持并同时在Java支持、信息 电子邮件、多媒体应用方面得到了增强。此外,该Feature
Packs2还比较突出的增加了日文和泰文的支持。因此当6630和 6680进军日本也就不足为奇了。
Series 6O Feature Packs3支持SVG的可升级用户界面架构。支持高分辨串显示 176 x 208、240 x 320、352 x
416像素;平台支持传统键盘输入、丰富的邮件内容 (HTML、MS Office比如可在电子邮件的附件中查看MS
Office文档);支持无线局域网的用户界面等等。诺基亚最新发布的N Series系列中的N70和N90便是采用Series 60 Feature
Packs3的机型。
在今年3GSM世界大会期间诺基亚发布的Series 60第三版在增加的功能中主要强调了多媒体和企业功能。该版本搭载的是全新的Symbien
9.1操作系统,但仍保留了前一版本的特点和功能。包括多种无线制式、广泛的应用套件、可升级的用户界面和高分辨率的支持,作为重大的改进。 Series
60第三版新功能包括对不同硬件配置的增强支持,包括单芯片和双芯片硬件结构和改进的性能。在多媒体功能方面,Series60第三版将提供全新的音乐擂放器,全新的音乐播放器将提供无缝和易操作的带有个性化主题和背景的音乐下载。同时还采用了开放移动联耍∣MA)数字权利管理(DRM)2.0版为丰富的媒体内容提供增强的功用,并同时实现高安全内容的保护。此外,对USB
Mass Storage协议的支持让诺基亚智舵手机第一次可以作为普通的USB存储器使用。其目的也是为了更方面地实现从PC到移动电话的音乐传送。
在企业应用方面,Series
60第三版主要增强了商业数据安全性保障,例如日历、同步和电话管理的安全性都相对过去得到了提升。目前采用该版本的手机是诺基亚刚刚发布的拥有4GB存储容量的200万像素手机N91.其实就Series
60软件平台而言其优点和缺点都和Symbisn 操作系统本身的优点和缺点有着密不可分的联系。从优势上看,Series60建基于被广泛授权的Symbian
操作系统之上,拥有相当数量的开发伙伴们,并提供了众多的Java
APls,c++编程开发工具包。同时由于有多年的成熟的手机平台研发经验加上完全开放式的源码0以及Symbian操作系统稳定性都让采用Series60平台的制造商更容易快速的生产的复制。同时因为其植心的Symbian操作系统对移动通信协议更好的支持也比其他的操作系统在用户方面有着得天独厚的优势。甚至在运营商的合作方面也是其他平台所不能比拟的。
http://cache..com/c?word=symbian%2Cs60&url=http%3A//bbs%2Edlmu%2Enet/dispbbs%2Easp%3Fboardid%3D93%26id%3D15096&b=0&a=173&user=