如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
ARM应用系统设计第7章Linux编程简介现在Linux广泛用于各类计算应用,不仅包括IBM的微型Linux腕表、手持设备(PDA和蜂窝电话)、因特网装置、瘦客户机、防火墙、工业机器人和电话基础设施设备,甚至还包括了基于集群的超级计算机。Linux操作系统开放源代码,可以裁剪内核,并已在x86、Alpha、Sparc、MIPS、PPC、Motorola、NEC和ARM等硬件平台上稳定、高效地运行。Linux操作系统作为一种多任务、稳定可靠、内核可裁剪的系统,是开发嵌入式软硬件产品的优秀软件平台。嵌入式Linux是一种开放源码、软实时、多任务的嵌入式操作系统。Linux入门需要掌握的内容Linux操作系统界面Linux入门需要掌握的内容Linux下C代码的编译Linux下C代码的编译Linux下C代码的编译Linux下C代码的编译Linux下C代码的编译Linux下C代码的编译Linux下C代码的编译Makefile示例Makefile示例Makefile示例Linux入门需要掌握的内容进程进程进程的创建进程的创建Linux入门需要掌握的内容Linux下文件操作Linux下文件操作intcreat(constchar*pathname,mode_tmode);以mode方式创建一个以pathname为文件名的文件,返回新的文件句柄fd,错误返回-1及错误代码errno。size_twrite(intfd,void*buf,size_tcount);把buf指针指向的内存count字节传送到fd指向的文件中,正确返回读到的字节数或0,错误返回-1及代码errno。Linux下文件操作Linux入门需要掌握的内容捕捉SIGUSR1和SIGUSR2处理程序Linux系统信号捕捉SIGUSR1和SIGUSR2处理程序捕捉SIGUSR1和SIGUSR2处理程序$a.out&在后台启动进程[1]4720作业控制shell打印作业号和进程ID$kill-USR14720向该进程发送SIGUSR1receivedSIGUSR1$kill-USR24720向该进程发送SIGUSR2receivedSIGUSR2$kill4720向该进程发送SIGTERM[1]+Terminateda.out&Linux入门需要掌握的内容消息队列进程1,服务器进程进程1,服务器进程进程1,服务器进程进程2,客户端进程进程2,客户端进程,进程2,客户端进程,Linux入门需要掌握的内容Linux入门需要掌握的内容“节俭”的多任务操作方式对不同进程来说,它们具有独立的数据空间,要进行数据的传递只能通过通信的方式进行,这种方式费时而不方便。由于同一进程下的线程之间共享数据空间,它们共享全局变量、共享进程指令、大多数数据和打开的文件(如描述字)、信号处理程序和信号处置、当前工作目录、用户ID和组ID,一个线程的数据可以直接为其他线程所用,快捷方便。线程的基本操作函数创建线程函数等待线程的结束函数取自己线程ID函数一个线程的结束有两种途径,一种是函数结束,调用它的线程也就结束,另一种方式是通过函数pthread_exit来实现。voidpthread_exit(void*status);唯一的参数是函数的返回代码简单的多线程编程举例intmain(void){pthread_tid;inti,ret;ret=pthread_create(&id,NULL,(void*)thread,NULL);if(ret!=0){printf("Createpthreaderror!\n");exit();}for(i=0;i<3;i++)printf("Thisisthemainprocess.\n");pthread_join(id,NULL);return(0);}运行程序,得到如下结果:Thisisthemainprocess。Thisisapthread。Thisisthemainprocess。Thisisthemainprocess.Thisisapthread.Thisisapthread。再次运行,可能得到如下结果:Thisisapthread.Thisisthemainprocess.Thisisapthread.Thisisthemainprocess.Thisisapthread.Thisisthemainprocess.Linux入门需要掌握的内容网络通讯socketstructsockaddr(网络接口)bindconnectlistenacceptsendrecv服务器端服务器端服务器端,服务器端