路由器中可能使用的系统是嵌入式的Linux,常用的进程:
需要操作data model的进程,编译的时候动态绑定data model动态库,有进程共享锁,mmap共享内存
web服务器 通过浏览器配置路由的参数
dhcp服务器 为连接到路由的设备配置动态的IP
dns客户端 解析域名
cwmp客户端 与远程的ACS(自动配置服务器)交互
cos 整个路由的控制中心,分发消息中心(active主动去检测动态变化的data model的节点,passive被动地接受变化的节点消息,如DHCP server分配ip地址,主动发送消息给cos)
cli 命令配置路由器
samba 实现将插在路由器的U盘的内容共享到连接路由的设备
iptables 配置IP或过滤规则, 如路由的带宽控制,特殊应用(端口号映射,DMZ主机,NAT等),家长控制,URL过滤等
pppoe 建立一条ppp连接
wireless 实现无线的功能
upnp 通用即插即用
ushare,radvd等进程
语音模块:client,pjsip, server client负责控制, pjsip负责维护会话的状态机, server负责指示硬件操作(内核驱动模块), client是信息交互的中心,通过Unix域套接字进行进程间的通信
log 负责日志信息
进程间的通信使用到共享内存,Unix域套接字,信号量(sem_post, sem_wait)
多线程间同步:锁和条件变量。 注意的问题,全局变量,静态变量等
异步非阻塞使用的是:select, poll 或 epoll,了解其优缺点
关于动态分配和静态分配的问题优缺点