学习内核编程4问
1、内核模块使用的内存大小有没有限制?在64位下,系统有16G内存,则我编写的内核模块能不能使用其中的大部分内存(例如15GB)?
2、整个模块采用单进程多线程结构,如果有多个CPU或CPU核心,线程锁同步的处理是否像在用户空间程序一样可以方便地使用临界区之类的现成技术,还是要专门的技术处理?
3、我写的是个网络服务程序,打算把其中一部分代码放在用户空间的程序中实现。也就是说这个系统包含一个内核模块和一个用户空间程序。系统执行流程是用户连接到服务器,首先由内核模块接收和处理,随后需要继续执行用户空间的程序。能不能这样运行?
4、为什么我要写一个内核模块来实现系统的功能?另一个选择是实现为用户空间的程序。两者相比,作为内核空间的进程有什么优势?我主要是要实现高效的网络数据包发送,1秒能不能响应50000个网络服务请求。