linux
文章平均质量分 59
hjffly
这个作者很懒,什么都没留下…
展开
-
Linux体系结构
Linux主要特征:1. 开源2.双态3.多进程4.跨平台5.软硬件支持丰富6.多核。Linux对多核的支持优于很多其它操作系统,例如vxwork。Linux体系结构:硬件平台-设备驱动-内核-系统调用接口-应用程序Linux有独立的用户态地址空间、共享的内核系统地址空间。原创 2011-10-30 20:45:07 · 519 阅读 · 0 评论 -
多线程
void *func_1(void *args){while(1){Sleep(1);printf("this is func_1!\n");}}void *func_2(void *args){while(1){Sleep(2);printf("this is func_2!\n");}}void main(){/*原创 2012-09-15 22:34:03 · 422 阅读 · 0 评论 -
线程互斥
static int value = 0;pthread_mutex_t mutex;void *fun(void *args){while(1){pthread_mutex_lock(&mutex);Sleep(1);value++;printf("value = %d!\n", value);pthread_mutex_unlock(&mutex);原创 2012-09-16 10:11:14 · 455 阅读 · 0 评论 -
管道通信
管道是半双工的,数据只能向一个方向流动,需要双方通信时,需要建立起两个管道。管道只能用于父子进程或兄弟进程之间的通信。管道的读写规则:管道两端可分别用描述字fd[0]以及fd[1]来描述。需要注意的是,管道两端是固定了任务的,即fd[0]只能用于读,fd[1]只能用于写。int pipe_default[2];void main(){pid_t pid;ch原创 2012-09-15 22:17:14 · 522 阅读 · 0 评论 -
Linux常用命令
cd //跳到自己的home directorycd .. //返回上级目录ls //显示当前目录的文件列表tar czvf this.tar.gz //压缩tar xzvf this.tar.gz //解压缩cat //一次显示整个文件cp source destination //拷贝mkdir AAA原创 2011-11-27 13:22:54 · 412 阅读 · 0 评论 -
父进程与子进程
子进程与父进程之间除了代码是共享的之外,堆栈数据和全局数据均是独立的。void main(){pid_t pid;/*fork函数被调用一次但返回两次。为什么fork会返回两次?由于子进程在复制时复制了父进程的堆栈段,所以两个进程都停留在fork函数中,等待返回,这样就会有两个返回值。*/if (-1 == (pid == fork())){printf原创 2012-09-09 19:54:20 · 720 阅读 · 0 评论 -
netlink套接字
netlink套接字主要用于同一PC用户进程与kernel之间的通信。AF_INET套接字主要用于PC与PC间的通信。netlink套接字可以使用标准的套接字APIs来创建。socket(), bind(), sendmsg(), recvmsg()和close(),很容易地应用到netlink socket。netlink标准接口包含于头文件linux/netlink.h中原创 2012-09-08 00:34:22 · 1093 阅读 · 0 评论 -
linux相关工具
linux编译、链接工具:gcc, as,ld调试工具:gdb自动编译工具:makevoid main(){printf("hello!\n");return;}编译过程:1. gcc hello.c -o hello2. ./hello反汇编过程:1. gcc hello.c -g -o hello2. objdump -s -原创 2012-09-09 10:53:23 · 660 阅读 · 0 评论 -
Linux锁机制
锁机制是多线程编程中最常用的同步机制,用来对多线程间共享的临界区进行保护。1. 互斥锁:pthread_mutex,属于sleep-waiting类型的锁pthread_mutex_t *mutex;int pthread_mutex_int(mutex, attr) //以动态方式创建互斥锁,参数attr指定了新建互斥锁mutex的属性int pthread_mut原创 2011-11-14 20:49:11 · 4045 阅读 · 1 评论 -
ZTE平台
kshell支持多进程;tshell只支持单进程。两级boot方案:一级boot(仍称为boot)完成基本的上电启动,引导二级boot,支持tftp下载二级boot;二级boot(称为loader)完成版本加载功能等复杂功能,支持带内通道远程下载版本。在物理上将引导功能和版本加载功能分开,避免了boot频繁升级,缺省只升级loader。boot存储在boot芯片中,没有boot芯片原创 2011-10-29 13:26:07 · 1255 阅读 · 0 评论 -
v2lin
可在Linux平台上以Vxworks虚拟机的形式模拟Vxworks的核心行为与系统调用等,将vxworks的API转成与Linux兼容的函数,这样调用Vxworks API写成的程序码在不须或少量的重写之后,重新编译并在Linux上执行。原创 2011-10-29 17:53:55 · 1214 阅读 · 0 评论 -
Linux设备
Linux设备类型:字符设备、块设备和网络设备字符设备:指存取时没有缓存,只能顺序访问的设备,如鼠标、键盘、串口等。块设备:读/写都有缓存来支持,并且必须能够随机存取,如磁盘。网络设备:Linux的网络系统主要是基于socket机制。系统支持对发送数据和接收数据的缓存,提供流量控制机制,提供对多协议的支持。原创 2011-10-30 21:24:17 · 446 阅读 · 0 评论 -
线程等待
void *func(void *args){Sleep(2);printf("this is func!\n");}void main(){pthread_t pid;if(pthread_create(&pid, NULL, func, NULL)){return -1;}/*用于等待一个线程的结束如果代码中没有pthread_j原创 2012-09-15 22:55:14 · 439 阅读 · 0 评论