一、Linux系统程序开发
1 fork()创建子进程 返回1是父进程pid 0是子进程
2 父进程调用wait()等待子进程结束,防止子进程成为孤儿进程
3 进程间通信:共享内存 套接字 消息队列 管道 信号
4 进程:堆、栈、代码段、数据段
5 同步与互斥经典案例:生产者消费者问题 mutex
6 pthread;gcc -lpthread
7 pthread库类型
8 临界区上锁:pthread_mutex_lock()
解锁:pthread_mutex_unlock()
9 共享内存:共享的物理地址附加到进程堆逻辑地址的后面
10多进程通信:通过将锁声名为全局变量实现一个锁管理多个进程临界区
11shmget()、shmat()、shmdt()、shmctl()、shmadd()、
12输入流:0 输出流:1 错误流:2 输出重定向:>
13静态链接库后缀:.o 动态链接库后缀:.so
14hellomake: hellomake.c hellofunc.c
gcc –o hellomake hellomake.c hellofunc.c –I.
冒号后面是依赖
16GDB用于调试;添加断点:-b ;跳行
17GIT:远程库
二、网络程序设计
1 tcp
服务端:socket、bind、listen、accept、recv
客户端:socket、connect、send
2 ucp
服务端:socket、bind、recvfrom、sendto
客户端:socket、sendto、recvfrom
三、shell程序设计
1 获得执行权限:chmod +x shell.sh
2 执行shell的方法:直接执行./shell.sh、bash、source、..shell.sh
四、设备驱动程序开发
1 字符设备 块设备;封装为内核模块
2 装入内核模块:insmod 卸载:rmmod 查看信息:dmesg