当前位置:  技术问答>linux和unix

学习内核编程4问

    来源: 互联网  发布时间:2016-05-29

    本文导语:  1、内核模块使用的内存大小有没有限制?在64位下,系统有16G内存,则我编写的内核模块能不能使用其中的大部分内存(例如15GB)? 2、整个模块采用单进程多线程结构,如果有多个CPU或CPU核心,线程锁同步的处理...

1、内核模块使用的内存大小有没有限制?在64位下,系统有16G内存,则我编写的内核模块能不能使用其中的大部分内存(例如15GB)?

2、整个模块采用单进程多线程结构,如果有多个CPU或CPU核心,线程锁同步的处理是否像在用户空间程序一样可以方便地使用临界区之类的现成技术,还是要专门的技术处理?

3、我写的是个网络服务程序,打算把其中一部分代码放在用户空间的程序中实现。也就是说这个系统包含一个内核模块和一个用户空间程序。系统执行流程是用户连接到服务器,首先由内核模块接收和处理,随后需要继续执行用户空间的程序。能不能这样运行?

4、为什么我要写一个内核模块来实现系统的功能?另一个选择是实现为用户空间的程序。两者相比,作为内核空间的进程有什么优势?我主要是要实现高效的网络数据包发送,1秒能不能响应50000个网络服务请求。

|
问题1:内核模块使用内存是有限制的,(我记得上次在ARM中申请内存空间2M(SDRAM大小16M)时,出现内核崩溃)所以具体大小我也不晓得,你可以查查Linux内存管理方面的书看看。
问题3:可以,比如你可以为ARM写个网卡驱动,在应用层用lipcap勾取数据进行处理。
问题4:你这个实现快速传输响应,内核不需要通过TCP/IP做协议解析,可以帮数据都放到底层处理不要在应用层做了,这样会很慢的。
不只有没有回答你部分问题?

|
问题1:
32位操作系统,配合32位CPU,寻址空间位2^32次方,计算出来是
4294967296字节,就是4G,32位系统最大支持4G空间,如果想要32位
系统支持4G以上空间的话,就要用PAE的特殊内核,采用特殊方式访问,
但是系统效率会比原生的64位系统低。

64位操作系统配合64位CPU,寻址空间是2^64次方,计算出来是
18446744073709551616字节,换算一下4G个G,太大了,反正是
N多G,一辈子也用不完。当然这是64位系统的理论最大内存支持,实际上谁也用不了这么大内存,

反正如果你的系统是64位的,CPU是64位的,那么随便插个8G,16G内存是肯定能支持的。
http://linux.chinaunix.net/bbs/viewthread.php?tid=917832


    
 
 

您可能感兴趣的文章:

  • 我想学习linux桌面编程,那么有没有必要学习linux的内核以及内核的相关编程呢?
  • 学习linux网络编程需要学习些内核知识吗?
  • 《Linux内核情景分析》值得推荐的内核学习参考两用资料
  • linux内核中网络模块的学习
  • 有关linux内核的学习
  • 高人指点下内核学习
  • 在哪儿可以报名学习Linux内核编程
  • 紧急求救,内核的学习
  • 如何深入Linux的内核学习?
  • ★★★小弟想学习Linux内核,请问装哪个版本的比较合适?★★★
  • 学习linux内核入门:从哪一部分开始学习?
  • 有没有linux内核学习的QQ群呢?
  • 内核学习,请达人指导
  • 学习LIUNX内核应具备那些知识!!
  • 请教linux的学习,怎么学? 内核开发找什么样的工作?
  • 搞ARM一定要学习Linux内核吗?
  • 请教高手:如何学习内核编程?
  • linux内核学习及工作的提问
  • 怎么学习LINUX的内核呀?
  • 内核学习求教!
  • Linux C编程一站式学习,高级shell Bash脚本编程指南,
  • 我想学Linux编程,请大家推荐几本学习Linux下C/C++编程的书
  • 学习JSP编程的话,JAVA学到什么样的程度可以开始JSP的学习呢?
  • 我想以后在unix/liuix下编程,请前辈指导应该怎样学习?在线等
  • 儿童编程学习平台 Scratch
  • 惊人的编程学习计划
  • 因进修,需要学习《Unix 环境高级编程》一书,完全没接触过Unix/Linux,请推荐一个学习环境。
  • 如何学习 linux下c/c++编程
  • 想学习Linux编程 哪里有比较好的讨论区(有学习资源)
  • 学习编程的小游戏 XKarel
  • 学习UNIX编程应该从那里入手?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • PHP介绍及学习网站推荐
  • 想深入学习Java应该学习哪些东西
  • 准备学习docker: docker version命令查看版本
  • 新手提问:学习c++同时也想学习unix和linux
  • HTML 学习总结及下一步学习教程推荐
  • 学习c后,学习pb,大家提点建议,谢谢哦
  • OpenStack相关学习资料搜集
  • 有最近开始学习Minix的吗?一起来学习吧
  • juqery的python实现:pyquery学习使用教程
  • java开发知识 iis7站长之家
  • 想找共同学习Linux的新手,一起学习,共同成长
  • 学习java好 还是学习嵌入式开发好??
  • 从Delphi开始学习Java,如何学习Java.欢迎大家的光临!
  • 请问学习JAVABEANS是不是就是学习java.beans.*类库??
  • 谁有 电子版 mastering ejb 2e 多谢!!及学习EJB 集合什么实例学习比较快一点?
  • 我想学习Unix,请高手给个下载网址,用linux来学习Unix差别大吗?
  • 你们学习Linux是学习什么的?
  • 我想问一个大家,我现在刚学习LINUX,我想问一下在LINUX学习哪些知识有前途???
  • unix下C++代码中如何进行数据库操作?给个完整代码学习学习
  • 学习Java是从基础知识开始学习好还是直接学习JBuilder好?
  • 我想学习LINUX,在哪里下手学习,我现在要看什么样的教材?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3