当前位置: 首页 > news >正文

常平做网站自己做项目的网站

常平做网站,自己做项目的网站,统计网站建设程序,优化大师怎么样在开始今天的内容之前#xff0c;其实有一些题外话可以和大家分享一下。自从工作以来#xff0c;我个人一直都有一个观点。那就是怎么样利用简单的代码来说明开发中的问题#xff0c;或者是解释软件中的原理#xff0c;这是一个很高的学问。有些道理看上去云里雾里说不清楚… 在开始今天的内容之前其实有一些题外话可以和大家分享一下。自从工作以来我个人一直都有一个观点。那就是怎么样利用简单的代码来说明开发中的问题或者是解释软件中的原理这是一个很高的学问。有些道理看上去云里雾里说不清楚其实都可以通过编写代码来验证的.os可以、cpu可以、cache可以、编译器可以、网络协议也可以很多很多的内容完全可以通过几行代码就可以表达得非常清楚但是事实上我们并没有这么做。我想原因无非是这么几条一来授业者对相关知识的学习也是停留在概念上而已二来我们的学习过于死板和教条、太关注知识、不求实践三就是学习者自身缺少思考的能力、缺少自我反省的能力、对很多东西不求甚解。而学习Linux内核就能很好的帮助我们解决这些问题。Linux内核学习路线以网络协议栈为例1、Linux内核源代码结构Linux 的内核源代码可以从 https://www.kernel.org/网站上下载Linux-4.1.2以上的版本(含)。  其代码目录结构如下Documentation这个目录下面没有内核的代码有一套有用的内核文档。其中文档质量良莠不齐有很多内核文档的质量很优秀并且相当完整例如文件系统但是有的则完全没有文档例如进程调度。在这个目录里不时可以发现有用的东西。arch此目录下的所有子目录的东西都是体系结构特有的代码。drivers内核的驱动程序代码。此部分的代码占内核代码的大部分包括显卡、网卡、PCI 等外围设备的驱动代码。fs文件系统代码。包含 ext2、ext3、ext4 等本地文件系统CD-ROM、isofs 等镜像系统还有 NFS 等网络文件系统以及 proc 等伪文件系统。include此目录中包含了 Linux 内核中的大部分头*.h文件。init内核初始化过程的代码。ipc进程间通信代码。kernel这部分是 Linux 内核中最重要的包含了内核中平台无关的基本功能主要包含进程创建、销毁和调度的代码。lib此目录中主要包含内核中其他模块使用的通用函数和内核自解压的函数。mm此目录中的代码实现了平台无关的内存管理代码。scripts此目录下是内核配置时使用的脚本当使用 make menuconfig 或者 make xconfig 命令时会调用此部分代码。net此目录中包含 Linux 内核的网络协议栈的代码。在子目录 netfilter 下为 netfilter的实现代码netfilter 构建了一个框架允许在不重新编译内核的情况下编写可加载内核在指定的地方插入回调函数以用户自己的方式处理网络数据。子目录 ipv4 和 ipv6 为 TCP/IP 协议栈的 IPv4 和 IPv6 的实现主要包含了 TCP、UDP、IP 协议的代码还有 ARP 协议、ICMP 协议、IGMP 协议、netfilter 的 TCP/IP 实现等代码实现以及如 proc、ioctl 等控制相关的代码。组织代码另一个表现形式就是映射到Linux代码的3个内核层2、内核中网络剖析流程网络协议栈是由若干个层组成的网络数据的流程主要是指在协议栈的各个层之间的传递。在前面章节中TCP 网络编程的流程一个 TCP 服务器的流程按照建立 socket()函数绑定地址端口 bind()函数侦听端口 listen()函数接收连接 accept()函数发送数据send()函数接收数据 recv()函数关闭 socket()函数的顺序来进行。与此对应内核的处理过程也是按照此顺序进行的网络数据在内核中的处理过程主要是在网卡和协议栈之间进行从网卡接收数据交给协议栈处理协议栈将需要发送的数据通过网络发出去。如下图所示总结了各层间在网络输入输出时的层间调用关系。由图中可以看出数据的流向主要有两种。应用层输出数据时数据按照自上而下的顺序依次通过插口层、协议层和接口层当有数据到达的时候自下而上依次通过接口层、协议层和插口层的方式在内核层传递。应用层 Socket 的初始化、绑定bind和销毁是通过调用内核层的 socket()函数进行资源的申请和销毁的。发送数据的时候将数据由插口层传递给协议层协议层在 UDP 层添加 UDP 的首部、TCP 层添加 TCP 的首部、IP 层添加 IP 的首部接口层的网卡则添加以太网相关的信息后通过网卡的发送程序发送到网络上。        接收数据的过程是一个相反的过程当有数据到来的时候网卡的中断处理程序将数据从以太网网卡的 FIFO 对列中接收到内核传递给协议层协议层在 IP 层剥离 IP 的首部、UDP 层剥离 UDP 的首部、TCP 层剥离 TCP 的首部后传递给插口层插口层查询 socket 的标识后将数据送给用户层匹配的 socket。如下图所示为 Linux 内核层的网络协议栈的架构视图。最上面是用户空间层应用层的程序位于此处。最底部是物理设备例如以太网网卡等提供网络数据的连接、收发。中间是内核层即网络协议栈子系统。流经网络栈内部的是 socket 缓冲区由结构 sk_buffs接连它负责在源和汇点之间传递报文数据。顶部参见上图所示是系统调用接口它为用户空间的应用程序提供了一种访问内核网络子系统的接口。位于其下面的是一个协议无关层它提供了一种通用方法来使用底层传输层协议。然后是实际协议在 Linux 中包括内嵌的协议 TCP、UDP当然还有 IP。然后是另外一个网络设备协议无关层提供了与各个设备驱动程序通信的通用接口最下面是设备驱动程序本身。             ·····························而这些内核笔记就是我给大家推荐的《Linux内核内存管理》训练营的随堂笔记对内核的每一块技术进行抽丝剥茧的分析。????学习三部曲1. 扫描上图????二维码报名训练营2.详情页添加老师领取课前预习资料3.晚上八点准时参与直播。训练营能解决我们Linux内核学习中的哪些问题1.大块内核内存怎么样分配2.伙伴系统如何申请内核内存3.slab分配器如何申请内核内存的4.vmalloc()申请的内存有什么特点5.用户程序使用malloc()申请到的内存空间在什么范围6.TLB中缓存的是什么内容7.虚拟内存如何组织的8.缺页机制是如何实现最后再提醒下训练营限时特惠今天到手价0.02原价198课程永久有效优惠就这两天抓紧训练营课前预习资料包添加秋香小姐姐 立即领取点击“阅读原文”课前预习资料提前领
http://www.pierceye.com/news/319176/

相关文章:

  • 有做火币网这种网站的吗对红色网站建设的建议
  • 聚美优品网站建设导向北郊网站建设
  • 一键建站免费公司网页如何建立
  • 简诉网站建设的基本流程嵌入式培训心得体会
  • 旅游网站建设报价单编程猫官方网站
  • phpcms 专题网站模板网站效果图用什么做
  • 手机网站需要多少钱做淘宝网站运营工作流程
  • 惠州seo网站管理个人网站名
  • 大型网站的优化方法儿童编程哪家培训机构好
  • 怎么样能够为一个网站做推广金安合肥网站建设专业
  • 免费手机网站商城微信公众号对接网站做
  • 用vs2013做网站公司网站突然404
  • 东莞建站模板搭建广东商城网站建设
  • crm网站下载网站建设网址网站制作
  • 网站开发怎么入驻京东花店网站开发参考文献
  • 郑州专业网站推广优化公司技术支持 东莞网站建设
  • 苏州做网站的公司哪家最好网站企业
  • 厦门做网站seo网络营销就是什么
  • 哪个网站可以学做蛋糕网络软件系统
  • 网站制作的核心要点是什么找人做网站服务器不是自己的怎么办
  • 自己做国际网站福建省文明建设办公室网站
  • 天津专业做网站的公司私人免费网站怎么下载
  • 深圳网站设计灵点网络口碑好广州海珠建网站
  • 网站开启gzip压缩西安的推广公司
  • 深圳彩票网站建设企业邮箱免费版开通
  • 佛山网站建设网络推广wordpress文章加音频
  • 设计师新手接单网站怎么把自己做的网站
  • 动漫制作专业在国企河北网络营销推广seo
  • 潜江网站建设兼职万网人网站备案流程
  • 物流官网网站今天新闻联播