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

国外设计网站pinterest设计网址简述网站开发设计流程

国外设计网站pinterest设计网址,简述网站开发设计流程,wordpress面向开发,php成品网站1.导出符号表的原理#xff1f; 2.字符设备驱动的框架流程 open read wirte close 是系统调用#xff08;从用户空间进入内核空间的唯一的方法#xff09;会产生swi软中断《也会存在软中断号》#xff08;从User模式切换到SVC#xff08;管理模式#xff09;下因为在…1.导出符号表的原理 2.字符设备驱动的框架流程 open  read  wirte  close  是系统调用从用户空间进入内核空间的唯一的方法会产生swi软中断《也会存在软中断号》从User模式切换到SVC管理模式下因为在内核空间操作硬件SVC才有管理权限在这个过程中他会去arch/arm/include/generated/calls-eabi.S文件中去找到对应的系统调用号这是用户层和内核层的接口 通过sys_open找到对应的设备文件然后通过文件找到inode号文件系统识别文件的唯一编号 只要一个文件在文件系统上存在内核中那么就有一个对应inode结构体与之对应。 通过inode结构体中的dev_t和cdev就可确定唯一的cdev结构体字符设备驱动然后来操作下层的硬件。 3.linux内核中并发和竞态的解决方法 当多个进程同时访问驱动的临界资源的时候竞态就会产生了。 1中断屏蔽了解 中断屏蔽中断屏蔽只对单核处理器有效中断屏蔽就是将中断临时关闭掉。 中断屏蔽的临界区要尽可能的短如果中断屏蔽的时间很长就可能会造成用户 数据的丢失或者内核的崩溃。在中断屏蔽期间不需要有延时耗时甚至休眠的操作。 2自旋锁重点 什么是自旋锁 当一个进程获取到自旋锁之后如果此时有另外一个进程也想获取这把锁 此时后一个进程处于自旋状态原地打转的状态。自旋锁又叫做忙等锁。 自旋锁的特点 1.  自旋状态是需要消耗cpu资源的 2.  自旋锁保护的临界区要尽可能的短只有这样它的效率才会高。 在自旋锁保护的临界区中不能有延时耗时休眠的操作。 3.  在自旋锁保护的临界区内不能够调用copy\_to\_user/copy\_from\_user等函数 4.  自旋锁可能会导致死锁在同一个进程内多次获取同一把未解锁的锁 5.  自旋锁可以在中断上下文使用 6.  自旋锁在上锁前会关闭抢占 3信号量重点 什么是信号量 当一个进程获取到信号量之后如果此时有另外一个进程也想获取这个信号量 此时后一个进程处于休眠状态。休眠状态是不需要消耗CPU资源。 信号量的特点 1.  信号量获取不到资源的时候不消耗CPU 2.  信号量保护的临界区可以很大里面可以有延时耗时甚至休眠的操作 3.  信号量工作进程上下文 4.  信号量不会产生死锁现象 5.  信号量上上锁前也是不会关闭抢占的 4互斥体会用 什么是互斥锁 当一个进程获取到互斥体之后如果此时有另外一个进程也想获取这个互斥体 此时后一个进程处于休眠状态。互斥体又叫做排它锁。 互斥体的特点 1.  互斥体获取不到资源的时候不消耗CPU 2.  互斥体保护的临界区可以很大里面可以有延时耗时甚至休眠的操作 3.  互斥体工作进程上下文 4.  互斥体不会产生死锁现象 5.  互斥体上锁前也是不会关闭抢占的 6.  互斥体在获取不到资源的时候会适当的等一会儿再决定是否进入休眠状态如果 临界区比较大它会进入休眠状态临界区比较小的时候在等待期间获取资源就可以直接运行而不休眠了。 5原子操作会用 什么是原子操作 原子操作名字就是根据它的特性得到的在使用原子操作的时候如果执行了原子操作 中间的过程是不允许被打断的认为原子是可以最小的不可被分割的整体。原子操作 并没有像自旋锁或者信号量那么多特性它本身就是通过一个原子变量实现的。原子操作 的内部实现1.保证只有一个核能操作这个变量2在一个核上对变量的值的修改过程通 过内联汇编完成。 4.IO模型 IO模型的种类非阻塞阻塞IO多路复用异步通知信号驱动IO 5.select/poll/epoll的区别 select:位图表 1.  select监听的文件描述符是1024个 2.  select有清空表的过程需要反复构造表拷贝表效率比较低 3.  select对应的进程从休眠态被唤醒之后需要再次bianli文件描述符效率比较低 poll:链表 1.  poll监听的文件描述符没有个数限制 2.  poll不会清空表效率高于select 3.  poll对应的进程从休眠态被唤醒之后需要再次遍历文件描述符效率比较低 epoll:红黑树双链表 1.  epoll监听的文件描述符没有个数限制 2.  epoll不会清空表效率高于select 3.  epoll对应的进程从休眠态被唤醒之后它能直接拿到就绪的文件描述符不需要再次变量效率高 6.ARM工作模式及异常源 工作模式 1.  用户模式           User 2.  系统模式           Sys 3.  SVC模式           管理模式 4.  IRQ模式            普通中断模式 5.  FIQ模式             快速中断模式 6.  终止模式            ABT 7.  未定义模式         UND 异常模式及异常源 异常模式有5种 1.  SVC异常模式 2.  IRQ异常模式 3.  FIQ异常模式 4.  终止异常模式 5.  未定义异常模式 异常源有7种 1.  reset异常 2.  swi异常 3.  IRQ异常 4.  FIQ异常 5.  预取终止异常 6.  数据访问终止异常 7.  未定义异常 8.  **Reset异常**当处理器接收到复位信号时触发的异常它将处理器状态重置到某种初始状态。 9.  **SWI异常**SWISoftware Interrupt指令用于在程序中请求操作系统服务。当这个指令被执行时处理器会触发SWI异常然后将控制权转移到操作系统的相应服务例程。 10. **IRQ异常**IRQInterrupt Request异常是由外部设备发出的中断请求引起的异常。处理器响应这种异常来处理外部设备的事件。 11. **FIQ异常**FIQFast Interrupt Request异常是一种高优先级的中断请求通常用于处理时间敏感性较高的任务。 12. **预取终止异常**这种异常发生在处理器试图执行指令预取时遇到问题时。可能是由于无效的指令地址或者存储器访问权限不足等原因引起的。 13. **数据访问终止异常**当处理器试图访问无效的内存地址或者访问权限不足时触发的异常。 14. **未定义异常**当处理器尝试执行未定义的指令或者遇到无法识别的操作码时触发的异常。 7.中断底半部机制 为什么需要中断底半部 在中断顶半部中不能够做延时耗时或者休眠的操作也就是说在中断顶半部 只能做紧急的不耗时的任务。但是有的时候又希望在中断到来的时候做尽可能多 的操作所以两者就产生了矛盾。linux内核为了解决这一矛盾专门设计了中断底半部 机制。也就是说在中断底半部中可以做不紧急的耗时的的任务。中断底半部机制 分别是 软中断个数限制32留给内核使用tasklet工作队列。 例子:软中断 在网卡中断到了的时候需要从网络上接受数据接收数据的过程就是耗时操作 如果把它放在中断顶半部中是不可以的。所以linux内核开发者将接收网络数据的过程 放在了软中断这个底半部机制中完成。 1tasklet底半部机制 tasklet底半部机制的特点 tasklet是基于软中断实现的tasklet没有个数限制因为它是通过链表实现的。 tasklet工作在中断上下文不能够脱离中断顶半部单独执行tasklet底半部是在 中断顶半部执行即将结束的时候开启。tasklet底半部中可以做短延时或者耗时操作 但是不能够做长延时或者休眠操作。 2工作队列底半部机制 工作队列底半部机制特点 在linux内核启动的时候会创建一个events线程这个线程默认处于休眠状态在 这个线程中维护一个队列如果需要让events线程执行你的任务只需要向队列 中添加队列项然后唤醒休眠的线程工作队列底半部处理函数就会被调用执行。 工作队列工作在进程上下文它可以脱离中断单独执行。它也是没有个数限制的。 在工作队列的底半部处理函数中可以做耗时延时甚至休眠的操作。 8.platform总线驱动 在Linux内核中所有总线驱动都遵从设备驱动的模型总线驱动的模型如下图 内核在设计这些总线驱动模型的时候将一个驱动分为了三个 部分device、bus、driver。device是用来描述硬件设备的 bus是总线 **用来链接device和driver**driver是用来描述驱动的 对象。在内核中所有的device放在内核的klist_devices的链表 中管理,而内核中所有的driver放在klist_driver中管理。内核中 的device和driver通过bus完成关联。当device和driver匹配成 功之后执行驱动的probe函数在probe函数中就可以完成操 作硬件了。当卸载任何一方驱动的时候都会执行驱动中的 remove函数。 主要思想就是将设备信息和设备驱动进行分离 platform总线驱动遵从设备模型platform是Linux内核抽象 出来的软件代码并没有真实的总线协议与之对应。platform 总线驱动的思想就是要将设备信息和设备驱动进行分离。 platform_device和platform_driver通过总线匹配成功之后会执 行驱动中probe函数在probe函数中驱动就能够拿到设备信息。 它有三种匹配信息的方式1名字匹配   2idtable   3设备树匹配方式
http://www.w-s-a.com/news/514281/

相关文章:

  • 网站开发好了 怎么发布wordpress数据库缓存插件
  • 工业电商网站怎么配色社交网站建设平台
  • 使用pycharm网站开发建一个网站需要什么条件
  • 网站建设哪些是需要外援的问题wordpress商品展示主题
  • 定制网站开发的目的是什么wordpress 增加按钮
  • 建设单位网站经费请示wordpress模板添加授权
  • 国外的电商网站有哪些为进一步加强校园网站建设
  • 专业集团门户网站建设企业微信商城和网站建设
  • 多少钱可以做网站找网络公司做推广费用
  • python php 网站开发网络营销师是干什么的
  • 网站建设设计方案动漫制作专业学校
  • 吴江区建设用地申报网站包装设计模板设计素材
  • 快速建站的公司wordpress 元数据定义
  • 网站seo分析工具网站标题用空格 逗号影响seo
  • 基金项目实验室信息网站建设wordpress文章新窗口打开
  • php网站开发就业前景做网站推荐源创网络
  • wordpress 8211西安网站优化维护
  • 泰安招聘网站有哪些wordpress 回复提醒
  • 网站服务器不稳定怎么打开网页企业营销策划心得体会
  • 自己做视频网站会不会追究版权企业商城网站建设方案
  • 烟台网站制作计划网站做seo的好处
  • 网站首页轮播官方网站下载拼多多
  • 罗庄区建设局网站自己做网站推广产品
  • 优秀flash网站欣赏苏州吴中区建设局网站
  • 网站添加wordpress博客网上商城购物系统论文
  • 上海市建设安全协会网站王夑晟企业网站建设需要做些什么
  • 网站app 开发辽宁建设工程信息网官网新网站是哪个
  • 厦门建设企业网站建设wordpress添加形式
  • 建立什么网站可以赚钱室内设计效果图qq群
  • 厦门网站设计大概多少钱服务公司沈傲芳